Функция Angular6 auth0 / angular2-jwt isTokenExpired всегда возвращает false, если мы допустим токен - PullRequest
0 голосов
/ 20 сентября 2018

Я использую пакет auth0 / angular2-jwt для обработки аутентификации на основе токенов JWT в приложении Angular6.если мы дали действительный токен isTokenExpired , функция всегда возвращает false

приведенный ниже код, который я пробовал:

   localStorage.setItem('id_token', response['token']);
   const helper = new JwtHelperService();
   helper.isTokenExpired(localStorage.getItem('id_token')

И

constructor(
        private http: Http,
        private helper: JwtHelperService
    ) {
    }

public handleResponse(response: Response){
    localStorage.setItem('id_token', response['token']);  
 console.log(this.helper.isTokenExpired(localStorage.getItem('id_token')));

}

у меня естьпробовал два выше метода, его всегда возвращают false

Заранее спасибо.

Ответы [ 2 ]

0 голосов
/ 20 сентября 2018

Вы должны использовать {tokenNotExpired} 'angular2-jwt';Вам понадобится следующая реализация:

Внутри вашего app.module.ts

import { tokenNotExpired } from 'angular2-jwt';
. 
.
.
 @NgModule({

      providers: [
       .
       .
       { provide: 'tokenNotExpired', useValue: tokenNotExpired }, 
      ]

 })

и Внутри вашего сервиса, где вам нужно проверить, истек ли токер:

constructor( @Inject('tokenNotExpired') private tokenNotExpired)

isTokenExpired(idToken){
    return this.tokenNotExpired(idToken);
}
0 голосов
/ 20 сентября 2018

Использовать tokenNotExpired ('id_token')

Ссылка ниже может помочь.Удачи.

https://github.com/auth0/angular2-jwt/issues/334#issuecomment-293968046

...