Authentication Auth0锁-Google oauth2无法获取刷新令牌

Authentication Auth0锁-Google oauth2无法获取刷新令牌,authentication,oauth-2.0,google-oauth,auth0,Authentication,Oauth 2.0,Google Oauth,Auth0,我正在使用带有google-oauth2连接的Auth0锁,我需要获取refresh\u令牌,因为我需要在用户脱机时从服务器端进行API调用 我正在遵循他们的指南,但它不起作用,refreshToken始终是未定义的 使用http://cdn.auth0.com/js/lock/10.7.2/lock.min.js this.lock = new Auth0Lock('...', 'xxx.eu.auth0.com', { initialScreen:'login', allowedCo

我正在使用带有
google-oauth2
连接的Auth0锁,我需要获取
refresh\u令牌
,因为我需要在用户脱机时从服务器端进行API调用

我正在遵循他们的指南,但它不起作用,
refreshToken
始终是
未定义的

使用
http://cdn.auth0.com/js/lock/10.7.2/lock.min.js

this.lock = new Auth0Lock('...', 'xxx.eu.auth0.com', {
  initialScreen:'login',
  allowedConnections: ['google-oauth2'],
  allowSignUp: false,
  auth: {
    redirect: false,
    responseType: "token",
    params: {
      'access_type': 'offline',
      'approval_prompt': 'force',
    },
  },
  autoclose: true
});
还尝试使用
params
“批准\提示”:“强制”
“提示”:“选择\账户同意”


此处的说明:

该规则是错误的。IdP
access\u令牌可通过管理API获得。请参见此端点:

需要一个特殊的作用域(
read:user\u idp\u令牌

这是因为IdP令牌是敏感的工件,所以Auth0为获取它们增加了一层额外的安全性

当然,您可以根据规则调用API,但我们可能会建议您不要这样做,而是让您的后端代表您的(前端)应用程序进行操作


这条规则是错误的。IdP
access\u令牌可通过管理API获得。请参见此端点:

需要一个特殊的作用域(
read:user\u idp\u令牌

这是因为IdP令牌是敏感的工件,所以Auth0为获取它们增加了一层额外的安全性

当然,您可以根据规则调用API,但我们可能会建议您不要这样做,而是让您的后端代表您的(前端)应用程序进行操作


我不确定我是否理解正确。我有一个SPA应用程序,我想连接到节点中的后端。在SPA上,我正在使用Lock,您告诉我需要使用管理API(我想是在服务器上),但我不完全理解如何获得
刷新\u令牌。Auth0是否将刷新令牌保存在某个地方,以便在身份验证后检索?刷新令牌(即Google one)在身份验证后检索,并作为用户配置文件的一部分存储在Auth0中。要检索它,可以使用我上面提到的端点。通过登录并使用API资源管理器,您可以轻松地看到这一点。IdP(谷歌)代币(access_代币和refresh_代币)将在身份数据结构下。现在一切都清楚了,谢谢Eugenio!感谢Auth0提供的优秀产品!调用端点
GET/api/v2/users/{id}
时有一种奇怪的行为,例如,我用
expire\u in:3600
进行调用,得到一个
access\u令牌
,然后我等待10秒,再次调用端点:我得到相同的
access\u令牌
,然后再次
expire\u in:3600
,这是怎么可能的呢?
中的
expires\u指的是Google access\u令牌从获得时(本质上是用户上次登录时)起的时间。这意味着,如果您在这段时间后尝试使用令牌调用Google API,Google将拒绝它。请注意,这是以秒为单位的。我不确定我是否理解正确。我有一个SPA应用程序,我想连接到节点中的后端。在SPA上,我正在使用Lock,您告诉我需要使用管理API(我想是在服务器上),但我不完全理解如何获得
刷新\u令牌。Auth0是否将刷新令牌保存在某个地方,以便在身份验证后检索?刷新令牌(即Google one)在身份验证后检索,并作为用户配置文件的一部分存储在Auth0中。要检索它,可以使用我上面提到的端点。通过登录并使用API资源管理器,您可以轻松地看到这一点。IdP(谷歌)代币(access_代币和refresh_代币)将在身份数据结构下。现在一切都清楚了,谢谢Eugenio!感谢Auth0提供的优秀产品!调用端点
GET/api/v2/users/{id}
时有一种奇怪的行为,例如,我用
expire\u in:3600
进行调用,得到一个
access\u令牌
,然后我等待10秒,再次调用端点:我得到相同的
access\u令牌
,然后再次
expire\u in:3600
,这是怎么可能的呢?
中的
expires\u指的是Google access\u令牌从获得时(本质上是用户上次登录时)起的时间。这意味着,如果您在这段时间后尝试使用令牌调用Google API,Google将拒绝它。请注意,以“秒”为单位。是否删除了
google刷新令牌
规则?我找不到规则。
google刷新令牌
规则是否已删除?我找不到规则。