我需要我们控制器中的 Authorize 属性可以接受两个不同的令牌。
一个令牌由一个私有 ADFS 提供,另一个令牌由 AzureAd 提供。
几个 Ionic 客户端通过 ADFS,其他 Ionic 客户端通过 Azure AD
我的开发场景:ASP.NET Core 2.2 Web API
我的实际startup.cs(缩写)
ConfigureService()
{
services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer((options =>
{
options.Audience = Configuration["Adfs:Audience"];
options.Authority = Configuration["Adfs:Issuer"];
options.SaveToken = true;
options.TokenValidationParameters = new TokenValidationParameters
{
ValidateIssuer = false
};
}));
}
Run Code Online (Sandbox Code Playgroud)
我需要使用 AzureAD 进行其他身份验证。如何?
ConfigureStartup.cs的方法
Configure(…)
{
app.UseAuthentication()
}
Run Code Online (Sandbox Code Playgroud)
使用此代码,只能访问 ADFS Token 和此用户,才能从控制器获取结果。但是,AzureAD 用户无法获得访问权限
我不知道如何为双重令牌授权制作此代码,如果一个令牌来自 ADFS 或其他令牌来自 AzureAD,我们的控制器可以做出响应