2017-03-31 11 views
0

私はinitial postの後にadal.jsとVue.jsを統合することでいくつかの進歩を遂げました。私は正常にログインしていて、設定しようとしているプロパティはlocalStorageに設定されています。acquireTokenコールバックが呼び出されなかった

しかし、acquireTokenへの呼び出しは、私が通っているコールバックを決して呼び出しません。コードは次のようになります。

let url = 'https://api.webserver.com/api/endpoint'; 

authContext.acquireToken(url, (err, token) => { 
    console.log(`acquiring token for ${url}`); 
    console.log(err, token); 
}); 

がadal.jsのソースを見てみると、以下のようにacquireTokenためのメソッドシグネチャは次のとおりです。

AuthenticationContext.prototype.acquireToken(resource, callback) 

コールバックが呼び出されません。 urlの値は、メソッドが期待しているものを渡していますか?私はこれについて不明です。

あなたのお手伝いがありがとうございます。前もって感謝します!

答えて

1

あなたのinitポストによると、Azure ADアプリケーションの設定が完了したので、acquireToken()の機能の下にurlclient_idに置き換えることができます。

ソースコードadal for jsによると、acquireToken()は、にgetCachedToken()を呼び出します。

getCachedToken()は、ブラウザのセッションでトークンを取得します。var token = this._getItem(this.CONSTANTS.STORAGE.ACCESS_TOKEN_KEY + resource);ログインに成功すると、ブラウザのDEV TOOLにあるすべてのAD情報を確認できます。ここのリソースはclient_id形式であることがわかります。 AdalJSバージョン1.0.13では

enter image description here

+0

よしを、私はこの作業を持って!しかし、...トークンが適切にリフレッシュされていないようです。私は、acquireTokenを連続して呼び出すとトークンを更新し続けるという前提の下にありました。ただし、セッションは約30分後に終了するようで、その場合コールバックは呼び出されません。 –

0

あなたはコールバックを持っているしたい場合は、次のコードを使用することができます:

   authContext.acquireToken('https://api.webserver.com/api/endpoint').then(function (token) { 
        console.log(token) 
       },function(error){ 
        console.log('Failed to acquire token'); 
       } 
      ); 
+0

本当ですか? acquireTokenはPromiseまたは任意のタイプの実行可能なオブジェクトを返しません。 –

+0

私は現在これを使用しており、それは私のために働く! –

+0

adal.jsのどのバージョン? –

関連する問題