我正在用JWT構建我的第一個API。我正在使用這個樣板項目:https://github.com/krisanalfa/lumen-jwt在Laravel上使用JWT刷新令牌的流程流明
我設法使它工作正常,但我有一個很大的問題:用戶令牌在一段時間後過期,將用戶從應用程序中註銷。我已閱讀該項目的文檔,致電/api/auth/refresh刷新令牌,但現在看來它有兩個主要缺點:
1)您必須製作一個只需要調用API來刷新令牌,我會想象你需要設置一個計時器來每隔X分鐘(令牌到期時間)調用它。
2)如果用戶關閉計算機3小時,當他重新打開計算機時,令牌已經過期,導致刷新不可用,並將用戶關閉。
由於我是新手,我錯過了什麼?我怎樣才能使令牌刷新週期工作沒有這些缺點?
我試圖做到這一點,但顯然當我呼叫Refresh時,Dingo正在檢查令牌有效性,並且我仍然收到消息:「令牌已過期」。任何想法可能發生什麼? – raphadko
這是因爲刷新路徑'api.auth.refresh'位於'api.auth'中間件組中。所以中間件在它到達控制器路由之前正在檢查有效性。如果你將它移到外面,它可能會起作用。 – fubar
我正在使用jwt.refresh中間件,對第一個請求很好,然後我無法讀取響應中的新令牌。當我做console.log(request.getAllResponseHeaders());它不顯示令牌,只顯示「Content-Type:application/json Cache-Control:private,must-revalidate」。任何想法如何閱讀它? – raphadko