【问题标题】:WSO2 JWT Exchange with OAuth2 Access Token带有 OAuth2 访问令牌的 WSO2 JWT 交换
【发布时间】:2017-04-23 21:14:47
【问题描述】:

我有问题。

  1. WSO2 是否支持类似于: https://docs.wso2.com/display/AM190/Exchanging+SAML2+Bearer+Tokens+with+OAuth2+-+SAML+Extension+Grant+Type 使用 JWT 而不是 SAML?

    是否可以使用 Facebook/Google 作为联合身份提供者来实现它?

还有一个:

  1. 我们可以在 WSO2 Api Manager 中使用 JWT 令牌而不是 OAuth2 访问令牌来授权传入请求吗?

谢谢

【问题讨论】:

    标签: oauth-2.0 wso2 jwt wso2is wso2-am


    【解决方案1】:

    WSO2 是否支持类似于: https://docs.wso2.com/display/AM190/Exchanging+SAML2+Bearer+Tokens+with+OAuth2+-+SAML+Extension+Grant+Type 使用 JWT 而不是 SAML?

    是的,确实如此。我们为此提供了 JWT Bearer Grant 实现。 JWT Grant 背后的想法是,根据 [1] 由受信任的 IDP 颁发的有效签名 JWT 可以交换为 access_token。按照 [2] 试用 JWT Bearer Grant。

    Facebook 和 Google 确实以 id_token 的形式发布 JWT。但是目前使用这些 id_token 作为 JWT Bearer Grant 存在问题。根据规范 [1],JWT 不记名授权必须在“aud”声明中包含一些值,以让验证不记名授权的实体将其用于他们。目前,我们无法对任何 OpenID Connect 提供程序执行此操作,即。没有标准的方法来请求 OIDC 提供者给我们一个可以在“X”身份提供者处使用的令牌。

    我们可以在 WSO2 Api 中使用 JWT 令牌而不是 OAuth2 访问令牌吗 经理授权传入的请求?

    AFAIK,这是不可能的。一种解决方案是使用 JWT 通过 JWT Bearer 授权类型获取访问令牌。然后使用 access_token APIM。

    [1]https://datatracker.ietf.org/doc/html/draft-ietf-oauth-jwt-bearer-12#section-3

    [2]https://docs.wso2.com/display/ISCONNECTORS/JWT+Grant+Type+for+OAuth2

    【讨论】:

    • 感谢您的回复。那么使用 SAML 处理联合身份验证 IDP 是目前唯一的选择吗?
    • 或者您可以在 APIM 中编写自定义授权类型,它以 google id_token ID 作为授权并颁发访问令牌。不是很难做到:) 你可以为 facebook 做同样的事情。
    猜你喜欢
    • 2017-02-06
    • 2018-05-06
    • 2017-03-08
    • 2016-11-12
    • 2016-04-21
    • 2021-03-30
    • 1970-01-01
    • 2016-06-26
    • 2020-05-25
    相关资源
    最近更新 更多