1

我有当前配置为使用IdPOpenID Connect 协议的 ASP.NET MVC 应用程序(带有 OWIN)。在 OpenId Connect 中,我可以使用 Scope 值作为 singin 请求的一部分来请求声明。例如。

       app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions
        {
            Authority = "https://localhost:44300/identity",
            Scope = "openid profile email",
            ClientId = "XXXXXXXXXXXXXXXXXXXXXX",
            RedirectUri = "http://localhost:36102/",
            ResponseType = "id_token",
            SignInAsAuthenticationType = "Cookies",
       }

作为回报,将IdP这些声明包含在令牌中,应用程序 (SP) 可以访问它们。

IdP现在我想在我的应用程序中再配置两个,一个SAML2用户和另一个用户WS-Federation。对于 SAML2 Idp,我使用的是SustainSys库,对于 WS-Federation,我使用的是Microsoft.Owin.Security.WsFederation库。

我认为scopes仅对 OpenID Connect 协议有效,对于其他 2 个协议,我如何请求我的应用程序需要的这些声明?

4

1 回答 1

0

正确,范围仅对 OpenID Connect 有效。

其他两个协议没有这个特性。

使用 ADFS,例如作为 IDP,您可以获得在 ADFS 中配置的声明。

由于您的 SAML 应用程序和 WS-Fed 应用程序都配置为不同的 RP,因此它们可以具有不同的声明集。

于 2018-08-26T19:45:44.547 回答