例如,假設我想確定一個用戶是否仍然「登錄」...他們的令牌還沒有過期。JavaScript應用程序應如何驗證由IdentityServer4發出的access_token?
當我第一次發佈access_token時,我在localStorage中存儲了我的JWT access_token。我知道僅僅檢查localStorage來查看access_token是否存在是不夠的。我讀了關於自省的結束點,但這似乎是API的 - 而不是JS客戶端。使用客戶端庫進行JWT驗證是最佳方法嗎?我不喜歡這個,因爲我有可能需要切換到引用令牌。我想打電話給服務器端。
使用JavaScript客戶端驗證access_token的正確方法是什麼?
更新: 經進一步調查,並與來自leastprivilege意見,我將使用OIDC JavaScript client所以我並不需要擔心這個。
因此,如果我使用JavaScript構建UI,並且需要在每個視圖加載之前確定是否需要新的令牌(並且因此用戶需要被重定向到登錄頁面),我可以檢查'expires_in'或如果有一種前端處理程序會在我的API返回401時將用戶重定向到登錄頁面,會更好嗎?當然,這肯定是一種常見的情況 –
使用像https://github.com/IdentityModel/oidc-client-js這樣的庫,它會爲您進行生命週期監控並在後臺處理續訂。另請參閱https://vimeo.com/205451987 – leastprivilege
僅供參考 - 在我決定使用OIDC Js客戶端之前,我正在關注客戶端應用程序的這個示例。 https://github.com/IdentityServer/IdentityServer3.Samples/blob/master/source/Clients/JavaScriptImplicitClient%20Manual/index.html#L144 –