为WS- * SAML令牌交换OAuth2访问令牌(或OpenID Connect id_token)?

时间:2016-03-11 01:20:42

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

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

以下是我们想要完成的具体方案:

  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令牌。
  5. 是否可以将OpenID Connect id_token和/或OAuth 2访问令牌更换为符合WS- *规范的SAML令牌?

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

1 个答案:

答案 0 :(得分:0)

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

OAuth没有明确规定您的访问令牌或刷新令牌的形状。所以您可以使用WS- *或任何适合您的客户/ RP需要的。

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

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

  • JWT代币

  • 自定义令牌

id_token本身MUST be a JWT