0

azure-mobile-apps cordovaクライアントを使用してmobile appを開発中です。私はリフレッシュトークンを取得するためにこのhttps://cgillum.tech/2016/08/10/app-service-auth-and-azure-ad-b2c-part-2/を追跡しました。azure-mobile-apps cordovaクライアントを使用してトークンとログアウトをリフレッシュ

ヘッダーにid_tokenを送信しています。

var token = window.localStorage.getItem("token"); 
var appUrl = https://Mobile****.azurewebsites.net; 
var url = appUrl + "/.auth/refresh"; 
$http.get(url, { 
    headers: { 
     'X-ZUMO-AUTH': token 
    } 
}) 
.then(function(response) { 
    console.log(response); 
}); 

応答:401不正な。 IDX10500:署名の検証に失敗しました。 SecurityKeyIdentifierを解決できません...

私は自分の秘密鍵をResource explorerとTenant - > Application - > Keysで比較しました。

どちらも同じです。 私はログアウトについても質問したいと思いますが、このエンドポイントで上記と同じように送信することができます/.auth/logout

+0

こんにちは@devangi、どんなアップデート? –

+0

こんにちは遅れて申し訳ありません。はい、これらのトークン(mobileServiceAuthenticationToken、id_token&refresh_token)について質問しますか?期限切れの時間、id_tokenとrefresh_tokenは/.auth/meエンドポイントから利用できます。 私は、mobileServiceAuthenticationTokenを(/.auth/refreshを使用して)生成しても、1時間以内にそれを見ることができますが、有効期限は同じです(/.auth/meにあります)。 古いトークンで/.auth/refreshを呼び出すと、1時間後に500の内部サーバーエラーが発生します。だから、mobileServiceAuthenticationトークンの生涯は何ですか、id_token&refresh_token? – devangi

+0

ユーザーを永久にログインさせ続ける方法については、[this thread](http://stackoverflow.com/questions/41310757/mobileservices-web-js-unauthorized-api-call)を参照してください。 –

答えて

1

は、以前の記事で述べたように@mattchenderson、client.currentUser.mobileServiceAuthenticationTokenX-ZUMO-AUTHヘッダで渡されることを確認してください。

ログアウトの場合、ログアウト機能はbuild-in SDKです。 モバイルアプリからユーザーをログアウトするには、次のコードを試してください。

client.logout().then(function() { 
    window.cookies.clear(function() { 
     $state.go('index'); 
    });   
}); 

注: Web表示は、クッキーでログイン情報を記憶している、とあなたは認証プロバイダ経由でログイン次回は、ブラウザが自動的にクッキーを読み、ログインフローを終了します。だから、ログアウト時にクッキーがクリアされていることを確認してください。私はPhonegap-Cookies-Pluginを使ってこの仕事をしました。 PhoneGapとCordovaの両方で動作します。

+0

返信いただきありがとうございます。ログアウトとリフレッシュトークンの両方で解決されました。 – devangi

1

X-ZUMO-AUTHヘッダーで送信されるトークンは、常にAAD IDトークンではなくApp Serviceトークンにする必要があります。このトークンは、Mobile Apps SDKのclient.login()メソッドのいずれかを使用して取得されています。このトークンには、クライアントオブジェクトからアクセスできます(client.currentUser.mobileServiceAuthenticationToken経由)。 /.auth/refreshを動作させるために

+0

ありがとう、ええ、それは解決しました。 – devangi

関連する問題