2017-01-18 6 views
2

Auth0から新しいid_tokenを取得するために、私が保存したrefresh_tokenを使用する必要があります。refresh_tokenを使用してAuth0 Lock 10/Auth0.js 8で新しいid_tokenを取得しますか?

はAuth0ロックのバージョン9では、これを行う方法(as documented here)があった:

lock.getClient().refreshToken(refresh_token, function (err, delegationResult) { 
    // Get here the new JWT via delegationResult.id_token 
}); 
ロック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

available documentationによると、Auth0.js v8を使用して新しいトークンを取得する方法は、renewAuthメソッドを使用することです。

renewAuthメソッドを使用すると、ホストされているログインページに対してすでに認証されているユーザーのAuth0から新しいトークンを取得できます。

+0

これは組み込みロックウィジェットでは不可能ですか? –

3

指摘したように、renewAuthはこれを行う新しい方法のようです。ただし、リフレッシュトークンを使用して新しいIDトークンを取得するために、Auth0 APIへの手動HTTPコールを作成することもできます。

POST {yourAuth0Domain}/delegation 

{ 
    client_id: "...", 
    grant_type: "urn:ietf:params:oauth:grant-type:jwt-bearer", 
    refresh_token: "...", 
    scope: "openid app_metadata" 
} 
関連する問題