Identity Server 作为服务提供商 (WS-fed)

问题描述 投票:0回答:1

我正在尝试使用 idsrv3 接收 ADFS 外部公司颁发的令牌,因此 idsrv3 作为服务提供商,ADFS 作为身份提供商。我正在使用 Ws-Fed(被动)协议,因此公司已经添加了我们的端点以及应使用令牌发出的声明。

我通过 URL https://adfsapp.companydomain.com/adfs/ls/idpinitiatedsignon.aspx 发出了登录请求,在引入凭据后,它对用户进行身份验证,并使用 SAMLResponse 重定向到 idsrv3 端点。

按照 idsrv3 文档,我在应用程序中配置了身份提供商。 (https://identityserver.github.io/Documentation/docsv2/configuration/identityProviders.html

 private static void AddExternalProvider(IAppBuilder app, string signInAsType, AdfsWsFederationExternalProvider provider)
    {
        var metadataAddress = ""https://adfs.leastprivilege.vm/federationmetadata/2007-06/federationmetadata.xml";
        var manager =
            new SyncConfigurationManager(new ConfigurationManager<WsFederationConfiguration>(metadataAddress));
        var providerId = provider.ExternalProviderId;

        var options = new WsFederationAuthenticationOptions
        {
            AuthenticationType = providerId,
            Caption = provider.ExternalProviderName,          
            SignInAsAuthenticationType = signInAsType, 
            CallbackPath = new PathString("/" + providerId),
            ConfigurationManager = manager,
            Wtrealm = provider.Wtrealm,

        };
        app.UseWsFederationAuthentication(options);
    }

但是令牌未经过验证,所以我有以下问题:

1- 我是否应该声明一个代币处理程序来处理公司 STS 发行的代币?

2- 回调路径“/providerId”将自动处理令牌?

3-如何知道端点(“/providerId”)是否正在等待传入令牌?

感谢您的帮助。

authentication adfs service-provider idp
1个回答
0
投票

您正在使用 WS-Federation 作为协议,但随后尝试使用仅适用于 SAML-P 协议的 IDPIInitiated。

idsrv3 默认不处理 SAML 协议。

当您从应用程序开始然后最终到达 ADFS 时会发生什么?

© www.soinside.com 2019 - 2024. All rights reserved.