假设我们有3个依赖方和1个OpenID提供商(=身份提供商)。如果用户想要在第一个应用程序中登录,他将被重定向到身份提供者(通过授权代码流),并且第一个应用程序将在fow结尾处具有id令牌和访问令牌。
如果用户10分钟想要登录第二依赖方,他将自动重定向到IDP(通过授权代码流),IDP将通过cookie识别用户。因此IDP不会要求用户进行身份验证,并且在流程结束时,第二个依赖方将拥有ID令牌和访问令牌。
我的问题:您能否确认第二个依赖方的ID令牌和访问令牌与第一个依赖方的ID令牌和访问令牌不同?
是的,他们应该是不同的。
在ID令牌中,aud
声明应包含令牌所针对的依赖方应用。
在访问令牌中通常有类似client_id
声明的内容,因此依赖方可以识别此令牌发给哪个客户端 - 尽管这不能保证。
有关OpenID Connect JWT令牌的详细信息,请参阅JWT spec。