Browse Source

Adjust the code conflict of IdentityServer 4.1.2, and adjust the use mode according to the official example, the mvc project can log in and use normally, but there are some strange problems when the data is initialized, which needs to be further tracked.

pull/1617/head
gil zhang 2 years ago
parent
commit
b9cea9d7d2
13 changed files with 56 additions and 30 deletions
  1. +8
    -2
      src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs
  2. +8
    -2
      src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs
  3. +7
    -1
      src/Services/Basket/Basket.API/Startup.cs
  4. +1
    -1
      src/Services/Identity/Identity.API/Configuration/Config.cs
  5. +11
    -5
      src/Services/Identity/Identity.API/Identity.API.csproj
  6. +0
    -10
      src/Services/Identity/Identity.API/Models/AccountViewModels/ConsentInputModel.cs
  7. +7
    -1
      src/Services/Ordering/Ordering.API/Startup.cs
  8. +7
    -1
      src/Services/Webhooks/Webhooks.API/Startup.cs
  9. +2
    -2
      src/Web/WebMVC/Controllers/AccountController.cs
  10. +1
    -1
      src/Web/WebMVC/Controllers/CartController.cs
  11. +1
    -1
      src/Web/WebMVC/Controllers/OrderController.cs
  12. +1
    -1
      src/Web/WebMVC/Controllers/OrderManagementController.cs
  13. +2
    -2
      src/Web/WebMVC/Startup.cs

+ 8
- 2
src/ApiGateways/Mobile.Bff.Shopping/aggregator/Startup.cs View File

@ -1,4 +1,6 @@
namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator;
using Microsoft.IdentityModel.Tokens;
namespace Microsoft.eShopOnContainers.Mobile.Shopping.HttpAggregator;
public class Startup
{
@ -142,7 +144,11 @@ public static class ServiceCollectionExtensions
{
options.Authority = identityUrl;
options.RequireHttpsMetadata = false;
options.Audience = "mobileshoppingagg";
//options.Audience = "mobileshoppingagg";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = false
};
});
return services;


+ 8
- 2
src/ApiGateways/Web.Bff.Shopping/aggregator/Startup.cs View File

@ -1,4 +1,6 @@
namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator;
using Microsoft.IdentityModel.Tokens;
namespace Microsoft.eShopOnContainers.Web.Shopping.HttpAggregator;
public class Startup
{
@ -93,7 +95,11 @@ public static class ServiceCollectionExtensions
{
options.Authority = identityUrl;
options.RequireHttpsMetadata = false;
options.Audience = "webshoppingagg";
//options.Audience = "webshoppingagg";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = false
};
});
return services;


+ 7
- 1
src/Services/Basket/Basket.API/Startup.cs View File

@ -1,3 +1,5 @@
using Microsoft.IdentityModel.Tokens;
namespace Microsoft.eShopOnContainers.Services.Basket.API;
public class Startup
{
@ -223,7 +225,11 @@ public class Startup
{
options.Authority = identityUrl;
options.RequireHttpsMetadata = false;
options.Audience = "basket";
//options.Audience = "basket";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = false
};
});
}


+ 1
- 1
src/Services/Identity/Identity.API/Configuration/Config.cs View File

@ -110,7 +110,7 @@ namespace Microsoft.eShopOnContainers.Services.Identity.API.Configuration
new Secret("secret".Sha256())
},
ClientUri = $"{clientsUrl["Mvc"]}", // public uri of the client
AllowedGrantTypes = GrantTypes.Hybrid,
AllowedGrantTypes = GrantTypes.Code,
AllowAccessTokensViaBrowser = false,
RequireConsent = false,
AllowOfflineAccess = true,


+ 11
- 5
src/Services/Identity/Identity.API/Identity.API.csproj View File

@ -17,11 +17,17 @@
<ItemGroup>
<PackageReference Include="AspNetCore.HealthChecks.SqlServer" Version="5.0.3" />
<PackageReference Include="AspNetCore.HealthChecks.UI.Client" Version="5.0.1" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="4.1.1" />
<PackageReference Include="IdentityServer4.EntityFramework.Storage" Version="4.1.1" />
<PackageReference Include="IdentityServer4.EntityFramework" Version="4.1.1" />
<PackageReference Include="IdentityServer4.Storage" Version="4.1.1" />
<PackageReference Include="IdentityServer4" Version="4.1.1" />
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="7.1.0" />
<PackageReference Include="IdentityServer4.AspNetIdentity" Version="4.1.2" />
<PackageReference Include="IdentityServer4.EntityFramework.Storage" Version="4.1.2" />
<PackageReference Include="IdentityServer4.EntityFramework" Version="4.1.2" />
<PackageReference Include="IdentityServer4.Storage" Version="4.1.2" />
<PackageReference Include="IdentityServer4" Version="4.1.2" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.16.0" />
<PackageReference Include="Microsoft.ApplicationInsights.DependencyCollector" Version="2.16.0" />
<PackageReference Include="Microsoft.ApplicationInsights.Kubernetes" Version="1.1.3" />
<PackageReference Include="Microsoft.AspNetCore.DataProtection.StackExchangeRedis" Version="5.0.2" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore" Version="5.0.2" />
<PackageReference Include="Microsoft.AspNetCore.Diagnostics.HealthChecks" Version="2.2.0" />
<PackageReference Include="Microsoft.AspNetCore.HealthChecks" Version="1.0.0" />
<PackageReference Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="6.0.0" />


+ 0
- 10
src/Services/Identity/Identity.API/Models/AccountViewModels/ConsentInputModel.cs View File

@ -1,10 +0,0 @@
namespace Microsoft.eShopOnContainers.Services.Identity.API.Models.AccountViewModels
{
public record ConsentInputModel
{
public string Button { get; init; }
public IEnumerable<string> ScopesConsented { get; init; }
public bool RememberConsent { get; init; }
public string ReturnUrl { get; init; }
}
}

+ 7
- 1
src/Services/Ordering/Ordering.API/Startup.cs View File

@ -1,3 +1,5 @@
using Microsoft.IdentityModel.Tokens;
namespace Microsoft.eShopOnContainers.Services.Ordering.API;
public class Startup
@ -382,7 +384,11 @@ static class CustomExtensionsMethods
{
options.Authority = identityUrl;
options.RequireHttpsMetadata = false;
options.Audience = "orders";
//options.Audience = "orders";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = false
};
});
return services;


+ 7
- 1
src/Services/Webhooks/Webhooks.API/Startup.cs View File

@ -1,3 +1,5 @@
using Microsoft.IdentityModel.Tokens;
namespace Webhooks.API;
public class Startup
{
@ -305,7 +307,11 @@ static class CustomExtensionMethods
{
options.Authority = identityUrl;
options.RequireHttpsMetadata = false;
options.Audience = "webhooks";
//options.Audience = "webhooks";
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateAudience = false
};
});
return services;


+ 2
- 2
src/Web/WebMVC/Controllers/AccountController.cs View File

@ -1,6 +1,6 @@
namespace Microsoft.eShopOnContainers.WebMVC.Controllers;
[Authorize(AuthenticationSchemes = OpenIdConnectDefaults.AuthenticationScheme)]
[Authorize]
public class AccountController : Controller
{
private readonly ILogger<AccountController> _logger;
@ -10,7 +10,7 @@ public class AccountController : Controller
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
}
[Authorize(AuthenticationSchemes = OpenIdConnectDefaults.AuthenticationScheme)]
[Authorize]
public async Task<IActionResult> SignIn(string returnUrl)
{
var user = User as ClaimsPrincipal;


+ 1
- 1
src/Web/WebMVC/Controllers/CartController.cs View File

@ -1,6 +1,6 @@
namespace Microsoft.eShopOnContainers.WebMVC.Controllers;
[Authorize(AuthenticationSchemes = OpenIdConnectDefaults.AuthenticationScheme)]
[Authorize]
public class CartController : Controller
{
private readonly IBasketService _basketSvc;


+ 1
- 1
src/Web/WebMVC/Controllers/OrderController.cs View File

@ -2,7 +2,7 @@ namespace Microsoft.eShopOnContainers.WebMVC.Controllers;
using Microsoft.eShopOnContainers.WebMVC.ViewModels;
[Authorize(AuthenticationSchemes = OpenIdConnectDefaults.AuthenticationScheme)]
[Authorize]
public class OrderController : Controller
{
private IOrderingService _orderSvc;


+ 1
- 1
src/Web/WebMVC/Controllers/OrderManagementController.cs View File

@ -1,6 +1,6 @@
namespace WebMVC.Controllers;
[Authorize(AuthenticationSchemes = OpenIdConnectDefaults.AuthenticationScheme)]
[Authorize]
public class OrderManagementController : Controller
{
private IOrderingService _orderSvc;


+ 2
- 2
src/Web/WebMVC/Startup.cs View File

@ -163,7 +163,7 @@ static class ServiceCollectionExtensions
services.AddAuthentication(options =>
{
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
options.DefaultChallengeScheme = OpenIdConnectDefaults.AuthenticationScheme;
})
.AddCookie(setup => setup.ExpireTimeSpan = TimeSpan.FromMinutes(sessionCookieLifetime))
.AddOpenIdConnect(options =>
@ -173,7 +173,7 @@ static class ServiceCollectionExtensions
options.SignedOutRedirectUri = callBackUrl.ToString();
options.ClientId = "mvc";
options.ClientSecret = "secret";
options.ResponseType = "code id_token";
options.ResponseType = "code";
options.SaveTokens = true;
options.GetClaimsFromUserInfoEndpoint = true;
options.RequireHttpsMetadata = false;


Loading…
Cancel
Save