【问题标题】:Sustainsys.Saml2 with IdentityServer3 with Okta as IdPSustainsys.Saml2 与 IdentityServer3 与 Okta 作为 IdP
【发布时间】:2018-09-28 20:24:36
【问题描述】:

我正在查看 Sustainsys.Saml2 示例,我发现如果我将 SampleMvcApplication 指向使用 Okta 作为 IdP,则会创建所有相关声明。但是,如果我使用 Okta 作为 SampleIdentityServer3 项目的外部 IdP,我只会看到 openid 声明。是否可以配置 IdentityServer 以将 Saml 令牌中的所有声明传递回客户端应用程序?

【问题讨论】:

    标签: openid-connect identityserver3 okta owin-middleware sustainsys-saml2


    【解决方案1】:

    我不确定这是否适用于您的确切场景,但是我使用以下方法在令牌中向客户端返回所需声明的集合(注意我使用的是 Identity Server 4)。

    您可以在来自客户端的请求中添加profile 范围。

    然后您可以向用户信息端点发出请求:

    options.GetClaimsFromUserInfoEndpoint = true;

    public async Task GetProfileDataAsync(ProfileDataRequestContext context) 的实现中,您可以添加任何您希望的声明。

    或者,您可以在客户端配置中设置AlwaysIncludeUserClaimsInIdToken = true,然后可以在您的令牌中获取声明。 不要在你的令牌中包含太多的声明,这可能会导致它变得太大而某些浏览器无法使用

    文档:http://docs.identityserver.io/en/release/reference/profileservice.html

    我还发现这篇文章很有帮助:https://leastprivilege.com/2017/11/15/missing-claims-in-the-asp-net-core-2-openid-connect-handler/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-06-25
      • 2015-06-12
      相关资源
      最近更新 更多