【问题标题】:WSO2 Identity Server 5.3.0 - How to get federated authenticator IDWSO2 Identity Server 5.3.0 - 如何获取联合身份验证器 ID
【发布时间】:2017-11-28 18:25:03
【问题描述】:

对于一些联合身份验证器,比如 Facebook,在重定向回服务提供商后,我如何确定调用了哪个联合身份验证器?

我看到 commonauth 是用 https://localhost:9443/commonauth?idp=facebook&authenticator=FacebookAuthenticator&sessionDataKey=faaad26e-8bde-4a14-a865-c40546c4e22f 调用的,但是接下来我应该做什么将这些变量转发给我的服务提供商?

【问题讨论】:

    标签: facebook authentication wso2 saml-2.0 wso2is


    【解决方案1】:

    在 WSO2 身份服务器中服务提供者配置的“本地和出站身份验证配置”中启用“始终发回身份提供者的身份验证列表”。

    启用此选项后,您将收到一个名为“AuthenticatedIdPs”的参数以及登录响应。 Base64 解码接收到的值以获取经过身份验证的 idp 列表。下面是一个base64解码的样本值。

    {
       "typ":"JWT",
       "alg":"none"
    }{
       "iss":"wso2",
       "exp":15119303538293000,
       "iat":1511930353829,
       "idps":[
          {
             "idp":"LOCAL",
             "authenticator":"BasicAuthenticator"
          }
       ]
    }
    

    更多信息请参考https://docs.wso2.com/display/IS530/Configuring+Local+and+Outbound+Authentication+for+a+Service+Provider

    【讨论】:

    • 我已经检查了该设置。我怎样才能准确地访问那个 JWT 令牌,你能描述一下吗?目前我只有 SAML2 断言与我的用户属性,但没有 IdP 数据。我可以在 SAML2 断言中添加 JWT 作为附加属性吗?我应该使用完全不同的方法吗?
    • 这不是在 SAML 响应中发送的 IDP 列表吗?
    • @gusto2 不,在这里您可以看到 SP 收到的 SAML2 断言示例:link
    • 这是与 SAMLResponse 参数一起发送的 SAML 响应数据中的另一个参数。
    • @MadurangaSiriwardena 我们已经使用 OpenId Connect 配置配置了 Facebook IDP,我们能够登录但无法查看除 sub 之外的声明。用户信息响应:{“sub”:“2285108888182031”} 但是在 IDP 的基本声明配置中,我们添加了本地声明作为电子邮件、given_name 和 family_name(根据 oidc-scope-config.xml 中存在的 oidc 范围)。我们应该怎么做才能获取用户详细信息?我们可以使用相同的设置获取linkedin 和google 的名字、电子邮件和姓氏。提前致谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-07
    • 1970-01-01
    • 1970-01-01
    • 2017-06-26
    • 1970-01-01
    • 2019-08-17
    相关资源
    最近更新 更多