Spring open id connect中隐式模式的目的是什么?

时间:2018-05-23 13:34:48

标签: spring-security openid-connect

我目前在春天使用openid connect的Authorisation Code Flow这是默认模式。在此模式下,使用的响应类型为code,我得到access_tokenid_token。所以在这里,一切似乎都可以。

但是,当我尝试通过设置Implicit Flow来使用authorizationGrantType=implicit时,使用的响应类型为token而我只获得access_token。这反映了Authorisation Request part of OAuth 2.0 specification。此外,OpenId Connect spec似乎没有使用响应类型的token值: possible response types of openid connect

那么Spring open id connect中隐式模式的目的是什么?

1 个答案:

答案 0 :(得分:0)

  

注意:虽然OAuth 2.0还为隐式流定义了令牌响应类型值,但OpenID Connect不使用此响应类型,因为不会返回ID令牌。

当OpenID Connect规范突出显示时, response_type = token 不是OpenID Connect的有效响应类型。所以你所观察到的是回到OAuth 2.0并因此接收访问令牌。

我不是来自Spring背景,但您应该能够从代码中定义/配置相应的 response_type 值。如果不是这种情况,那么您只是幸运地获得了授权代码流程观察。根据授权服务器配置/首选项,它可能会发送 id令牌。例如,Azure AD发送OAuth 2.0 code grant

的id标记