2015-08-20 65 views
0

我有Web Api和AngularJS來使用web Api。在angularJS中處理訪問令牌

當用戶憑據用戶登錄獲取和的access_token刷新令牌發行和到期領域。

的access_token在每個1分鐘過期,分配新的令牌的用戶。

現在的問題是

新令牌用戶令牌過期和分配之間的時間。

如果用戶進行頁面刷新,那麼它會使api調用來加載該頁面的數據,但訪問令牌剛剛過期並且用戶沒有獲得新令牌,所以舊令牌在api調用的頭部中設置,因此用戶得到401未經授權的作爲響應並且應用程序拋出用戶註銷。

我使用第一次令牌所以沒有關於多大的access_token信息和refresh_token

所以,我不知道如何處理這種情況。

建議是可觀的。

+1

它的簡單只是在頁面加載令牌請求API調用,然後調用完成後,然後只啓動角度的應用程序 – Kushal

+0

這意味着每次用戶重新加載頁面它使api調用令牌,但我只想分配新的當用戶重新加載頁面並獲得401狀態代碼時令牌。 –

回答

0

感謝@Kushal和@sahil提供思路。

當用戶的令牌過期時,應用程序將它們重定向到登錄頁面,以便在登錄頁面上添加api調用以通過用戶的refresh_token獲取令牌,並且如果用戶具有正確的刷新令牌,則將它們分配給新令牌並重定向到通過跟蹤刷新用戶的頁面/維護用戶當前頁面的日誌。和它的工作。

再次感謝。

0

每當您進行API調用以加載頁面上的數據時,在callback中,您應該檢查status code。如果status code401,則獲取refresh token,然後再調用相同的API,然後僅初始化該應用程序。否則,使用old response值初始化應用程序。

+0

'得到刷新標記'這意味着必須在api調用的標題中添加'刷新標記'? –

+0

這意味着可以產生新的令牌,在報頭並進行相同的API調用再次 –

+0

有沒有什麼辦法來寫回調函數,所有的API調用,因爲我不知道在哪個用戶。編寫api調用以獲取回調函數中的令牌是個好主意嗎? –