我有一個個人REST API,我從角度2客戶端調用。我目前的認證過程如下:使用個人api的刷新令牌更新訪問令牌
- 用戶登錄使用電子郵件/密碼
- Server驗證,併發送USER_DATA,的access_token(JWT)和refresh_token(存儲在數據庫中的不透明令牌)返回到客戶端。
- 客戶端根據每個請求發送access_token。
在我的API上,我有端點getAccessToken(String email, String refresh_token)
,它驗證refresh_token併發出一個新的access_token。
我的問題是:我應該使用什麼方法來請求在使用我的angular2應用程序中的refresh_token之前或之後的新access_token。
我目前想每個HTTP請求的API之前檢查期滿的access_token如下:
if (!tokenNotExpired("accessToken")) {
this.classService.getAccessToken().subscribe(
data => {
// store new access_token in localStorage, then make request to get resource.
this.classService.createClass().subscribe(
data => {
//success
}, error => {
//error
})
}, error => {
// Invalid refresh token, redirect to login page.
});
} else {
this.classService.createClass().subscribe(
data => {
//success
}, error => {
//error
});
}
是否有更好的方法來做到這一點?我正在使用angular2-jwt進行標記驗證。
感謝。你幫了一大堆忙。 – Dapope