在向提供商进行身份验证后,应用程序通常会代表用户同时接收ID令牌和访问令牌。现在似乎有两种方法来断言用户是谁。
两者似乎都是可接受的途径,但是在某些场景中应该使用其中一种吗?
答案 0 :(得分:3)
如果您有两个令牌且ID令牌包含您需要的所有信息,则可以使用任何一种方式。以下是我想到的一些差异:
答案 1 :(得分:2)
除了技术差异之外,还存在语义差异:id_token
和其中的信息表示并标识经过身份验证的用户。那个用户是"出现"并登录到该应用程序。
access_token
和userinfo端点返回的信息表示有关向呈现它的实体发出访问令牌的用户的信息。该用户不需要出现"或登录(再)。
id_token
通常是"一次性使用"并且access_token
通常可以在短时间内使用。
现在,如果用户使用OpenID Connect登录时同时发出和接收这两个令牌,则两者会重叠。