Nicht sicher simple-Auth-Token, aber ich bin mit glut-simple-Auth und addiere ich das Token an jede ausgehende Anforderung eine Basis authorizer erstreckt, wie unten dargestellt:
// 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);
}
}
});
Nicht vergessen Ihre Anwendung Adapter einzustellen, so dass es die authorizer verwendet:
// 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',
...
}
Vielen Dank für Ihre Antwort sehr viel, aber ich für etwas einfacher war auf der Suche. Ich habe schließlich gefunden, dass ich auf das Token zugreifen kann, indem ich self.get ("session.data.authenticated.auth_token") aufruft. – Jack
Ich habe das selbe gemacht, aber docs sprechen explizit über das Erweitern des Authorizers und das Überschreiben der 'authorize()' Funktion. Ich finde den Code jetzt besser lesbar, da ich keine Sorgen mischen muss, wo sie nicht hingehören. – Pavol
Mit ember-simple-auth-token habe ich nur den DataAdapterMixin verwenden müssen. Alles andere wurde automatisch für mich erledigt ... – acorncom