【问题标题】:Exchange an OAuth2 access token (or OpenID Connect id_token) for a WS-* SAML token?将 OAuth2 访问令牌(或 OpenID Connect id_token)交换为 WS-* SAML 令牌?
【发布时间】:2016-06-26 03:04:03
【问题描述】:

是否可以将 OAuth2 访问令牌(或 OpenID Connect id_token)交换为 WS-* SAML 令牌?

这是我们想要完成的具体场景:

  1. 用户已使用 OpenID Connect 端点进行身份验证并颁发了 id_token。
  2. 同一用户已使用 OAuth 2 端点获得授权并颁发了访问令牌。
  3. 单页应用程序 (SPA) 从安全的 ASP.NET Web API 请求数据,并发送 id_token 和访问令牌。
  4. 这是问题/棘手的部分:我们希望 ASP.NET Web API 从使用 WS-* 保护的 WCF 服务获取数据,因此 WCF 服务需要签名的 SAML 令牌。李>

是否可以将 OpenID Connect id_token 和/或 OAuth 2 访问令牌交换为符合 WS-* 规范的 SAML 令牌?

我们希望在 Windows Server 2016 上使用 ADFS,但我们也对其他安全令牌服务 (STS) 持开放态度,例如 Azure ADFS 等。

【问题讨论】:

    标签: oauth-2.0 federated-identity ws-federation


    【解决方案1】:

    您似乎可以在 OAuth 服务器中实现访问令牌交换,因为规范中没有任何内容严格禁止它。

    OAuth 没有明确说明您的访问令牌或刷新令牌的形状。因此您可以使用 WS-* 或任何适合您的客户端/RP 需要的东西。

    您可以使用以下任何类型的令牌:

    • WS-Security 令牌,尤其是 SAML 令牌

    • JWT 令牌

    • 自定义令牌

    不过,id_token 本身是 MUST be a JWT

    【讨论】:

      猜你喜欢
      • 2019-10-15
      • 2018-05-06
      • 2014-05-02
      • 1970-01-01
      • 2018-04-16
      • 2019-04-15
      • 1970-01-01
      • 2017-02-07
      • 2015-04-27
      相关资源
      最近更新 更多