我需要使用refresh_token (我已经存储了)从Auth0获得一个新的id_token。
在Auth0 Lock的版本9中,有一种方法可以这样做(如这里所记载的):
lock.getClient().refreshToken(refresh_token, function (err, delegationResult) {
// Get here the new JWT via delegationResult.id_token
});在Lock 10中,getClient()不再存在,此页建议您可以实例化自己的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实现这一点?
发布于 2017-01-30 11:50:25
根据现有文件,使用Auth0.js v8获取新令牌的方法是使用renewAuth方法。
renewAuth方法允许您从Auth0中为已经通过宿主登录页面进行身份验证的用户获取新令牌。
发布于 2017-02-08 09:34:56
正如所指出的,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"
}https://stackoverflow.com/questions/41718194
复制相似问题