我有 ASP.NET MVC应用程序(带有OWIN(,该应用程序当前配置为使用使用OpenID Connect协议的IdP
。在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 连接协议有效,对于其他 2 种协议,我如何请求我的应用程序所需的这些声明?
正确,作用域仅对 OpenID Connect 有效。
其他两个协议没有此功能。
例如,使用 ADFS 作为 IDP,您可以获得在 ADFS 中配置的声明。
由于 SAML 应用程序和 WS-Fed 应用程序都配置为不同的 RP,因此它们可以具有不同的声明集。