以ADFS作为外部身份提供程序的IdentityServer4

以ADFS作为外部身份提供程序的IdentityServer4,identityserver4,openid-connect,adfs4.0,Identityserver4,Openid Connect,Adfs4.0,我有一个ASP.NET MVC测试应用程序,它应该作为一个隐式的OIDC客户端工作,具有来自IdentityServer4应用程序的访问权和id令牌(两者都是dotnet core 3.1)。IdSvr配置了两个外部OIDC IDP:一个KeyClope实例和一个ADFS(4.0),同上 我的ADFS IdSvr配置如下: .AddOpenIdConnect("oidc_adfs", "ADFS", options => { options.

我有一个ASP.NET MVC测试应用程序,它应该作为一个隐式的OIDC客户端工作,具有来自IdentityServer4应用程序的访问权和id令牌(两者都是dotnet core 3.1)。IdSvr配置了两个外部OIDC IDP:一个KeyClope实例和一个ADFS(4.0),同上

我的ADFS IdSvr配置如下:

.AddOpenIdConnect("oidc_adfs", "ADFS", options =>
{
    options.SignInScheme = IdentityServerConstants.ExternalCookieAuthenticationScheme;
    options.SignOutScheme = IdentityServerConstants.SignoutScheme;
    options.SaveTokens = true;

    options.Authority = "<<ADFS endpoint>>";
    options.ClientId = "<<ADFS defined client id>>";
    options.ClientSecret = "<<ADFS defined client secret>>";
    options.Resource = "<<My resource identifier in ADFS>>";

    options.TokenValidationParameters = new TokenValidationParameters
    {
        NameClaimType = "name",
        RoleClaimType = "role"
    };

    options.ResponseType = "id_token";
    options.GetClaimsFromUserInfoEndpoint = true;

    options.Scope.Add("openid");
    options.Scope.Add("profile");
});
.AddOpenIdConnect(“oidc\u adfs”,“adfs”,选项=>
{
options.signnscheme=IdentityServerConstants.ExternalCookieAuthenticationScheme;
options.SignOutScheme=IdentityServerConstants.SignOutScheme;
options.SaveTokens=true;

options.Authority=“如果您看到ADFS中的原始标头,那么我想您需要将ADFS域添加到允许的CORS端点列表中。

ADFS事件日志中显示了什么错误

问题也可能是ADFS 4.0