如何在SAML2或WS-Federation中请求索赔?

时间:2018-08-24 16:07:21

标签: asp.net-identity saml-2.0 ws-federation kentor-authservices sustainsys-saml2

我有ASP.NET MVC应用程序(带有OWIN),当前已配置为使用使用IdP的OpenID Connect协议。在OpenId Connect中,我可以使用范围值作为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个协议,我如何要求我的应用程序要求这些声明?

1 个答案:

答案 0 :(得分:0)

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

其他两个协议没有此功能。

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

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