Auth0中id_token和access_token的区别是什么

Sco*_*tes 22 javascript openid oauth jwt auth0

在Auth0中,您可以使用刷新令牌.在此链接中,我们可以看到许多返回的参数:

lock.showSignin({
  authParams: {
    scope: 'openid offline_access'
  }
}, function (err, profile, id_token, access_token, state, refresh_token) {
  // store refresh_token
});
Run Code Online (Sandbox Code Playgroud)

显然,access_tokens可用于检索用户配置文件数据.但这似乎是oauth特有的,我认为auth0使用openid?

id_token和之间有什么区别access_token

Eug*_*ace 27

OpenID Connect构建于OAuth2之上.

  • 一个access_token是去调用Auth0(如某些API有用/userinfo),或者你在Auth0定义的API.
  • An id_tokenJWT并代表登录用户.它经常被您的应用使用.
  • A refresh_token(仅供移动/桌面应用程序使用)不会过期(但可以撤销)并且它允许您获得新鲜的铸造access_tokensid_token.

  • `一个refresh_token(仅供移动/桌面应用程序使用)`你能解释一下吗?似乎其他人甚至使用网络应用程序使用刷新令牌规定:http://stackoverflow.com/questions/26739167/jwt-json-web-token-automatic-prolongation-of-expiration. (6认同)
  • 另外,access_token也可以是jwt。也可能包含范围!有关更多详细信息,请参阅:https://mannharleen.github.io/2020-03-11-id-access-tokens/ (2认同)

Pre*_*raj 17

资源服务器(您的服务器端应用程序)仅接受来自客户端的访问令牌。这是因为访问令牌旨在授权对资源的访问。另一方面,ID 令牌用于身份验证。这是由OpenID提供者授予的,其中包含有关最终用户的信息。来源

访问令牌是应用程序用来代表用户发出 API 请求的东西。访问令牌代表特定应用程序访问用户数据特定部分的授权。访问令牌必须保密。

刷新令牌的想法是,如果访问令牌被泄露,因为它是短暂的,攻击者有一个有限的窗口可以滥用它。刷新令牌,如果被破坏,将毫无用处,因为攻击者除了刷新令牌之外还需要客户端 ID 和密码才能获得访问令牌。来源

刷新令牌的生命周期取决于 (AS) 授权服务器——它们可以过期、被撤销等。刷新令牌和访问令牌之间的区别在于受众:刷新令牌只返回到授权服务器,访问令牌转到 (RS) 资源服务器。来源