我有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个协议,我如何要求我的应用程序要求这些声明?
答案 0 :(得分:0)
正确,范围仅对OpenID Connect有效。
其他两个协议没有此功能。
使用ADFS,例如作为IDP,您可以在ADFS中配置声明。
由于SAML应用程序和WS-Fed应用程序都配置为不同的RP,因此它们可以具有不同的声明集。