Loading

oidc hybrid flow 与另外两种模式的异同

很多学习identityserver的文章都没有解释清楚oidc hybrid混合模式的含义。本文将解释hybrid模式与另外两种模式的主要区别。

我们先看一下一手文档:

https://openid.net/specs/openid-connect-core-1_0.html

code , impact很多文章已经讲的很清楚了,这里我们不赘述了。

hybrid和code一样都有8个步骤,大部分步骤也是相同的。最核心的区别在于第5步。

code是一定会返回的,access_token和id_token的返回依据 response_type 参数决定。
在response_type= code id_token token 时,Authorization Endpoint 会同时返回access_token和id_token,这其实就变成了impact模式。
在response_type= code id_token 时,你可以要求它仅i返回d_token , 再通过code去请求access_token这就变成了code模式,并返回了id_token。
同理你也可以自行组合,例如
在response_type= code token时,仅返回access_token不要id_token,这也是impact,不过去掉了id_token。
这个协议时让返回根据你自己的需要去自主选择的。

补充:
hybrid还有一些特性的处理与impact相同如: Redirect URI Fragment Handling、 Access Token Validation、 ID Token Validation

参考:
https://www.cnblogs.com/stulzq/p/7833480.html

posted @ 2019-11-20 23:00  wswind  阅读(1083)  评论(0编辑  收藏  举报