2016-04-18 3 views
0

Срок действия моего токена доступа истекает каждые 10 минут. Я использую ember simple auth для аутентификации, но это настраиваемый аутентификатор, потому что у меня есть больше, чем просто поля имени пользователя и пароля. Я хотел использовать ember-simple-auth-token, но вызывая авторизацию: jwt в моем адаптере, он не работает, по-видимому, потому, что я не использую его аутентификатор.Обновить доступ token ember

Итак, я планировал использовать услугу, которая обновляет токен каждые десять минут, что-то вроде этого http://www.davekerr.co/programming/2015/05/17/add-a-polling-service-to-your-ember-app/, поэтому мой вопрос заключается в том, как перезаписать токен sessionData.

Моего пользовательский код доверитель файл выглядит следующим образом:

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'); 
     } 
    } 
}); 

ответ

0

Вы должны сделать это в пользовательском идентифицирующем как идентифицирующий несет ответственность за приобретение и управления маркерами и состоянием аутентификации в целом. Вы можете просто запланировать таймер, который обновляет токен через некоторое время после первоначальной проверки подлинности. После обновления токена аутентификатор может вызвать sessionDataUpdated event, что сеанс будет автоматически обрабатываться.

Отметьте implementation of the OAuth2PasswortGrantAuthenticator как пример обновления токенов от аутентификатора.

Смежные вопросы