2017-04-20 37 views

回答

1

是否类似WSO2支持的东西:用智威汤逊,而不是SAML https://docs.wso2.com/display/AM190/Exchanging+SAML2+Bearer+Tokens+with+OAuth2+-+SAML+Extension+Grant+Type

是的,它的确如此。我们有JWT不记名承诺执行。 JWT格兰特背后的想法是,根据由可信IDP颁发的[1]有效的签名JWT可以交换为access_token。按照[2]尝试JWT持票人补助金。

Facebook和Google会以id_token的形式发布JWT。但是,目前将这些id_token用作JWT承载补助金存在问题。根据规范[1],JWT不记名承诺必须在'审计'声明中包含一些价值,以使承认持有人的实体授予其有意给予的价值。目前,我们无法通过任何OpenID Connect提供商来完成此任务。没有标准的方式来要求OIDC提供商给我们一个我们可以在'X'身份提供商处使用的令牌。

我们可以使用JWT令牌代替WSO2 API中的OAuth2访问令牌吗 管理器可以授权传入请求吗?

AFAIK,这是不可能开箱即用的。一种解决方案是使用JWT获取使用JWT承载者授权类型的访问令牌。然后使用access_token APIM。

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

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

+0

感谢您的答复。因此,使用SAML处理联合身份验证IDP是目前唯一的选择? – Przemek

+0

或者您可以在APIM中编写一个自定义授权类型,它将google id_token ID作为授权并发出访问令牌。不是很难做:)你可以做同样的Facebook。 – farasath