JSクライアントSDKを使用してAzure Active Directoryで正常に認証されているCordovaアプリがあります。私は、CGillumの投稿の指示に従って私のAzure Webサイトを変更しました。これにより、Microsoft Graphで使用できるトークンが正常に得られ、/.auth/me
を呼び出すときにリフレッシュトークンが返されます。Azure Active Directory /.auth/refreshトークンストアにリフレッシュトークンが見つからなかったために発行されたリフレッシュ要求
しかし、私は/.auth/refresh
に電話しようとすると、エラーが発生し、ログには次のように表示されます。
2017-02-01T16:00:54 PID[8648] Warning The refresh request issued
by sid... failed because no refresh tokens were found in the token
store.
2017-02-01T16:00:54 PID[8648] Information Sending response: 403.80 Forbidden
Azure Webサイトの設定でトークンストアが有効になっています。また、私が/.auth/me
と呼ぶと、リフレッシュトークンはそれ以上返されないことに気付きました。一部のプロバイダでは、リフレッシュトークンを1回だけ伝えます(ただし、AADではわかりません)。
public getAccessTokenFromRefreshTokenFromAppService(): Promise<any> {
return new Promise<boolean>((resolve, reject) => {
let apiUrl = Resources.azureMobileClientUrl + '/.auth/refresh';
var headers = new Headers();
headers.append('X-ZUMO-AUTH', this.azureService.mobileServiceClient.currentUser.mobileServiceAuthenticationToken);
return this.http.get(apiUrl, { headers: headers })
.map(res => res.json())
.subscribe(data => {
console.log('Get Refresh Token - ', data);
let token = data.authenticationToken;
resolve(data);
},
error => {
reject(error);
},
() => {
});
});
}
にあなたはモバイルアプリJS SDKを使用しているか、ADAL.JSを使用しています?後者の場合、これが期待されます。クライアントはトークンを取得するクライアントであるため、リフレッシュを担当します。ログインおよび更新操作のコードスニペットのような追加の詳細情報が役立ちます。 – mattchenderson
私はMobile Apps JS SDKを使用しています。上記のコードにコードスニペットを追加しました。 –