2016-04-14 20 views
0

私はember simple-auth-tokenとember simple-authを使用しています。私はajax呼び出しでそれを使用するためにユーザーのトークンの価値を取りたいと思います。 トークン値にはどのようにアクセスできますか?私は、次の構文を試してみました:Ember Simple Auth&Emberシンプル認証トークン

headers: {"Authorization":"Token" + " auth_token"} 

headers: {"Authorization":"Token" + " session.data"} 

をそれらのどれも働いていません。

答えて

1
簡易認証トークンわからない

が、私は燃えさし-シンプル-AUTH使用していますと、下図のように、私は基本承認者を拡張する各発信要求にトークンを追加してい:

// app/authorizers/my-own-authorizer.js 

import Base from 'ember-simple-auth/authorizers/base'; 

export default Base.extend({ 

    /** 
    * Authorizes all outgoing requests by a session-token that has been received during a login process. 
    * If such a session token does not exist, it does not add anything. 
    * @override 
    * @param {Object} sessionData received from the backend on a successful login 
    * @param {Function} addHeaderFunction function that appends a custom header into the next request 
    */ 
    authorize(sessionData, addHeaderFunction){ 
    const sessionToken = Ember.get(sessionData, "meta.session-token"); 
    if (Ember.isPresent(sessionToken)) { 
     addHeaderFunction('authorization', sessionToken); 
    }  
    } 
}); 

を忘れてはいけませんアプリケーションアダプタを調整してオーソライザを使用するようにしてください。

// app/adapters/application.js 
... 
import DataAdapterMixin from 'ember-simple-auth/mixins/data-adapter-mixin'; 

export default DS.JSONAPIAdapter.extend(DataAdapterMixin, { 
.... 
authorizer: 'authorizer:my-own-authorizer', 
... 
} 
+0

お返事ありがとうございますが、私はもっと簡単なものを探していました。私は最後に、self.get( "session.data.authenticated.auth_token")を呼び出してトークンにアクセスできることを発見しました。 – Jack

+0

私は同じことをやっていましたが、ドキュメントはauthorizerを拡張し、 'authorize()'関数をオーバーライドすることを明示的に話しています。彼らが所属していないところに懸念を混在させる必要はないので、私はコードをより読みやすくしています。 – Pavol

+1

ember-simple-auth-tokenを使用すると、DataAdapterMixinを使用するだけで済みます。他のすべては私のために自動的に処理されました... – acorncom

関連する問題