4

次のコードと更新トークンを使用して、新しいアクセス トークンを要求しています。

exports.getTokenFromRefreshToken = function (user, callback) {
    request.post({
        url:'https://login.microsoftonline.com/12345678-1234-1234-1234-2f189712345/oauth2/token',
        form: {
            grant_type: 'refresh_token',
            refresh_token: refresh_token,
            client_id: client_id,
            client_secret: client_secret,
            resource: 'https://graph.microsoft.com'
        }
    }, function(err, httpResponse, body) {
        if (!err) {
            var tokens = JSON.parse(httpResponse.body);
            console.log('getTokenFromRefreshToken() tokens = ' + JSON.stringify(tokens));
            callback(null, tokens);
        }
    })
};

にはhttpResponse、( から) 元のトークン要求を行ったときに取得したすべてが含まれていますcodeが、新しい更新トークンは含まれていません。新しいリフレッシュ トークンも受け取るという印象を受けました。そうではありませんか?

4

4 に答える 4

0

リフレッシュ トークンは、リフレッシュ トークンを使用して新しいアクセス トークンを取得する方法とは異なります。更新トークンの有効期限が切れると、資格情報を取得して、最初のトークンの取得を再度行う必要があります。

詳細はこちら:アクセス トークンの更新

于 2016-02-10T22:10:55.470 に答える
0

リダイレクト URI が欠落しているように見えることを除いて、動作するはずです。この呼び出しの動作バージョンがありますが、この redirect_uri が含まれています。新しいアクセス トークンとリフレッシュ トークンの両方が生成されます。

--

http://graph.microsoft.io/en-us/docs/authorization/app_authorization

更新トークンを使用して期限切れのアクセス トークンを更新する

認証が完了したときにブラウザーが送信されるリダイレクト URL。これは、最初のリクエストで使用された redirect_uri 値と一致する必要があります。

于 2016-02-18T11:28:03.303 に答える