簡體   English   中英

如果我們有效的令牌,Angular6 auth0 / angular2-jwt isTokenExpired函數始終返回false

[英]Angular6 auth0/angular2-jwt isTokenExpired function always return false if we valid Token

我正在使用auth0 / angular2-jwt pakage處理Angular6應用程序中基於JWT令牌的身份驗證。 如果我們給了有效的令牌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

提前致謝。

您應該使用{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);
}

使用tokenNotExpired('id_token')

以下鏈接可能會有所幫助。 祝好運。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM