2016-04-18 5 views
0

Das App-Zugriffstoken läuft alle 10 Minuten ab. Ich benutze ember simple auth für die Authentifizierung, aber ist ein benutzerdefinierter Authentifikator, weil ich mehr als nur Benutzernamen und Passwort Felder habe. Ich wollte ember-simple-auth-token verwenden, aber zur Autorisierung aufrufen: jwt in meinem Adapter funktioniert es anscheinend nicht, da ich es nicht mit seinem Authentifikator verwende.Refresh access token ember

Also, ich erwog, einen Dienst zu verwenden, der das Token alle zehn Minuten erneuert, etwas wie dieses http://www.davekerr.co/programming/2015/05/17/add-a-polling-service-to-your-ember-app/, so ist meine Frage, wie das sessionData-Token überschrieben wird.

Meine benutzerdefinierte authorizer Datei Code sieht wie folgt aus:

import Ember from 'ember'; 
import Base from 'ember-simple-auth/authorizers/base'; 
export default Base.extend({ 
    authorize(sessionData, block) { 
     if (!Ember.isEmpty(sessionData.token)) { 
      block('Authorization', 'Bearer '+sessionData.token); 
      block('Content-Type', 'application/json'); 
     } 
    } 
}); 

Antwort

0

Sie sollten in Ihrem benutzerdefinierten Authenticator als Authentifikator tun, dass für den Erwerb und die Verwaltung von Tokens und Authentifizierungsstatus im Allgemeinen verantwortlich ist. Sie können einfach einen Zeitgeber planen, der das Token einige Zeit nach der ersten Authentifizierung aktualisiert. Sobald der Token aktualisiert wurde, kann der Authenticator die sessionDataUpdated event auslösen, die die Sitzung automatisch behandelt.

Überprüfen Sie die implementation of the OAuth2PasswortGrantAuthenticator für ein Beispiel zum Aktualisieren von Token aus dem Authentifikator.