我需要使用refresh_token(我已存储)从Auth0获取新的id_token。
在Auth0 Lock的第9版中,有一种方法(as documented here):
lock.getClient().refreshToken(refresh_token, function (err, delegationResult) {
// Get here the new JWT via delegationResult.id_token
});
在Lock 10中,getClient()
不再存在,而this page表示您可以实例化您自己的auth0.js
实例。我该怎么做?
我试过了:
return new auth0.WebAuth({
domain: '...',
clientID: '...'
});
但是这个对象似乎没有任何有用的方法。旧的Auth0.js v7库看起来很清楚:
auth0.refreshToken(refresh_token, function (err, delegationResult) {
// Get here the new delegationResult.id_token
});
如何使用auth0.js v8实现这一目标?
答案 0 :(得分:3)
正如所指出的那样,renewAuth
似乎是实现这一目标的新方法。但是,也可以对Auth0 api进行手动HTTP调用,以便使用刷新令牌获取新的id令牌:
POST {yourAuth0Domain}/delegation
{
client_id: "...",
grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer",
refresh_token: "...",
scope: "openid app_metadata"
}
答案 1 :(得分:0)
根据available documentation使用Auth0.js v8获取新令牌的方法是使用renewAuth
方法。
renewAuth
方法允许您从已经针对托管登录页面进行身份验证的用户从Auth0获取新令牌。