|
|
@ -4,10 +4,13 @@ using Microsoft.AspNetCore.Hosting; |
|
|
using Microsoft.Extensions.DependencyInjection; |
|
|
using Microsoft.Extensions.DependencyInjection; |
|
|
using Microsoft.OpenApi.Models; |
|
|
using Microsoft.OpenApi.Models; |
|
|
using System.IO; |
|
|
using System.IO; |
|
|
|
|
|
using System.Threading.Tasks; |
|
|
using Microsoft.AspNetCore.Authentication; |
|
|
using Microsoft.AspNetCore.Authentication; |
|
|
|
|
|
using Microsoft.AspNetCore.Authentication.OpenIdConnect; |
|
|
using Microsoft.AspNetCore.DataProtection; |
|
|
using Microsoft.AspNetCore.DataProtection; |
|
|
using Microsoft.Extensions.Configuration; |
|
|
using Microsoft.Extensions.Configuration; |
|
|
using Microsoft.Extensions.Hosting; |
|
|
using Microsoft.Extensions.Hosting; |
|
|
|
|
|
using Microsoft.Extensions.Options; |
|
|
using Microsoft.IdentityModel.Protocols.OpenIdConnect; |
|
|
using Microsoft.IdentityModel.Protocols.OpenIdConnect; |
|
|
using MyCompanyName.MyProjectName.Localization; |
|
|
using MyCompanyName.MyProjectName.Localization; |
|
|
using MyCompanyName.MyProjectName.MultiTenancy; |
|
|
using MyCompanyName.MyProjectName.MultiTenancy; |
|
|
@ -15,6 +18,7 @@ using MyCompanyName.MyProjectName.Web; |
|
|
using StackExchange.Redis; |
|
|
using StackExchange.Redis; |
|
|
using Volo.Abp; |
|
|
using Volo.Abp; |
|
|
using Volo.Abp.AspNetCore.Authentication.OAuth; |
|
|
using Volo.Abp.AspNetCore.Authentication.OAuth; |
|
|
|
|
|
using Volo.Abp.AspNetCore.MultiTenancy; |
|
|
using Volo.Abp.AspNetCore.Mvc.Client; |
|
|
using Volo.Abp.AspNetCore.Mvc.Client; |
|
|
using Volo.Abp.AspNetCore.Mvc.Localization; |
|
|
using Volo.Abp.AspNetCore.Mvc.Localization; |
|
|
using Volo.Abp.AspNetCore.Mvc.UI; |
|
|
using Volo.Abp.AspNetCore.Mvc.UI; |
|
|
@ -154,6 +158,22 @@ namespace MyCompanyName.MyProjectName |
|
|
|
|
|
|
|
|
options.ClaimActions.MapJsonKey(AbpClaimTypes.UserName, "name"); |
|
|
options.ClaimActions.MapJsonKey(AbpClaimTypes.UserName, "name"); |
|
|
options.ClaimActions.DeleteClaim("name"); |
|
|
options.ClaimActions.DeleteClaim("name"); |
|
|
|
|
|
|
|
|
|
|
|
options.Events = new OpenIdConnectEvents |
|
|
|
|
|
{ |
|
|
|
|
|
OnAuthorizationCodeReceived = receivedContext => |
|
|
|
|
|
{ |
|
|
|
|
|
var tenantKey = receivedContext.HttpContext.RequestServices |
|
|
|
|
|
.GetRequiredService<IOptionsSnapshot<AbpAspNetCoreMultiTenancyOptions>>().Value.TenantKey; |
|
|
|
|
|
|
|
|
|
|
|
if (receivedContext.HttpContext.Request != null && receivedContext.Request.Cookies.ContainsKey(tenantKey)) |
|
|
|
|
|
{ |
|
|
|
|
|
receivedContext.TokenEndpointRequest.SetParameter(tenantKey, receivedContext.Request.Cookies[tenantKey]); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
return Task.CompletedTask; |
|
|
|
|
|
} |
|
|
|
|
|
}; |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
@ -231,7 +251,7 @@ namespace MyCompanyName.MyProjectName |
|
|
app.UseHttpsRedirection(); |
|
|
app.UseHttpsRedirection(); |
|
|
app.UseVirtualFiles(); |
|
|
app.UseVirtualFiles(); |
|
|
app.UseRouting(); |
|
|
app.UseRouting(); |
|
|
app.UseAuthentication(); |
|
|
app.UseAuthentication(); |
|
|
|
|
|
|
|
|
if (MultiTenancyConsts.IsEnabled) |
|
|
if (MultiTenancyConsts.IsEnabled) |
|
|
{ |
|
|
{ |
|
|
|