?id_token和access_token在Auth0中有什么区别?
?id_token和access_token在Auth0中有什么区别?
在Auth0中,您可以使用刷新令牌。在此链接中,我们可以看到许多返回的参数:
lock.showSignin({ authParams: { scope: 'openid offline_access' } }, function (err, profile, id_token, access_token, state, refresh_token) { // store refresh_token });
显然,access_tokens可以用于检索用户配置文件数据。但这似乎是特定于oauth的,我以为auth0使用openid?
id_token和access_token之间有什么区别?
admin 更改状态以发布 2023年5月22日
资源服务器(您的服务器端应用程序)仅接受客户端的访问令牌。这是因为访问令牌用于授权访问资源。另一方面,ID令牌用于认证。这是由包含有关终端用户信息的OpenID提供者授予的。 来源
访问令牌是应用程序代表用户进行API请求的东西。访问令牌代表了特定应用程序的授权,以访问用户数据的特定部分。访问令牌必须保密。
刷新令牌的思想是,如果访问令牌被攻击者窃取,因为它的生命周期很短,攻击者只有有限的时间来滥用它。刷新令牌如果被攻击,则无用,因为攻击者需要客户端ID和密钥以及刷新令牌才能获得访问令牌。 来源
刷新令牌的生命周期取决于(AS)授权服务器,它们可以过期、被撤销等。刷新令牌和访问令牌的区别在于受众:刷新令牌仅返回到授权服务器,而访问令牌则进入(RS)资源服务器。 来源
OpenID Connect是建立在OAuth2之上的。
access_token
对于调用Auth0中的某些API(例如/userinfo
)或您在Auth0中定义的API非常有用。id_token
是一个JWT,代表已登录的用户。它通常由您的应用程序使用。refresh_token
(仅供移动/桌面应用程序使用)不会过期(但可撤销),并且允许您获取新鲜的access_tokens
和id_token
。