假设我们有3个依赖方和1个OpenID提供程序(=身份提供程序)。如果用户要登录第一个应用程序,则将其重定向到身份提供者(通过授权代码流),并且第一个应用程序将在流末尾具有一个ID令牌和访问令牌。
如果用户10分钟后要登录第二个依赖方,则他将自动重定向到IDP(通过授权代码流),并且IDP将通过cookie识别用户。因此,IDP不会要求用户进行身份验证,并且在流程结束时,第二个依赖方将拥有一个ID令牌和访问令牌。
我的问题:您能否确认第二个依赖方的ID令牌和访问令牌与第一个依赖方的ID令牌和访问令牌不同?
答案 0 :(得分:1)
是的,它们应该不同。
在ID令牌中,aud
声明应包含该令牌打算用于的依赖方应用。
在访问令牌中,通常会有类似client_id
的声明,因此依赖方可以识别此令牌的发布对象,尽管这不能保证。
有关OpenID Connect JWT令牌的详细信息,请参见JWT spec。