Closed burnedinthesky closed 6 months ago
疑? 之前討論不是決定用 BasicAuth 不做 JWT 嗎 確定要做嗎 @burnedinthesky
我自己用 Vue3 Pinia 狀態管理是可以正常使用 不會影響
疑? 之前討論不是決定用 BasicAuth 不做 JWT 嗎
對的 抱歉Orz 不過後來想想好像JWT也沒有這麼麻煩?(至少對前端來說是這樣 後端實作起來會很複雜嗎?) 應該說也不一定要JWT啦 只是我希望在存cookie的時候一個cookie可以順便存team name跟id等資料 然後JWT剛好可以做到而已
我自己用 Vue3 Pinia 狀態管理是可以正常使用 不會影響
誒誒 真的嗎?! 按browser「重新整理」按鍵的時候pinia的state還留著嗎? 因為在我(跟GPT-4)的認知中 除非你有裝特別的插件(e.g., vue-pinia-persist),Pinia預設是不會有這個表現的 我用的是React的Zustand,然後雖然理論上來說也可以透過middleware加入這個功能,但我覺得如果JWT就能做到的話好像也沒有必要特別去這樣做
Re:
誒誒 真的嗎?! 按browser「重新整理」按鍵的時候pinia的state還留著嗎? 因為在我(跟GPT-4)的認知中 除非你有裝特別的插件(e.g., vue-pinia-persist),Pinia預設是不會有這個表現的 我用的是React的Zustand,然後雖然理論上來說也可以透過middleware加入這個功能,但我覺得如果JWT就能做到的話好像也沒有必要特別去這樣做
應該是有一點麻煩 因為阿目前的很多跟 Team_id 有關的 API 都是在假設大家用 State 儲存 team_id 的情況往下實作,如果加入了 JWT 正常來講每條 API 就不會出現 team_id 這個 path 參數,而是透過 JWT 取得 team 的資料往下搜尋
看要不要 React 也用 Persist 之類的資料
其實也不一定會,JWT的好處是在前端也可以直接讀資料,所以我還是可以得到team_id然後在call對應的後端api時使用 後端除了/team/token以外應該是不會受到影響才對
確定嗎 我是實作好了team/token/ 晚上我再在推上來
前端這邊已經實驗完JWT了,蠻可行的 JWT前端期待有sub (team_id) 跟 name (team_name) 這兩個欄位 然後拿到之後會直接存進cookie裡,所以後端也可以讀
我目前實作的部分這些內容都應該會有 我是還沒解開看 可能要試驗才知道
Done Please Refer https://github.com/fan9704/Drawing-Competition-Backend/pull/16
JWT前端期待有sub (team_id) 跟 name (team_name) 這兩個欄位
可以在JWT的body內再加一個team_name這個欄位嗎? 然後照JWT的慣例team_id的key好像應該是sub?
我能看看裡面長怎樣嗎,我以為我有放 team_name
{
"token_type": "access",
"exp": 1716126947,
"iat": 1716126647,
"jti": "45db9b7800854552b33fb13f3a01ae6b",
"user_id": 1
}
可以用 https://jwt.io/ 來驗證
已於 #22 對功能提出修改建議 接受/拒絕之後就可以close了
Contact Details
No response
你想要提出什麼樣的新需求/功能? What demand/feature do you want?
我原本以為React的Global State是persistent的(aka在reload的時候不會消失),但看起來不是這樣,所以我需要把隊伍名稱&id也一起存進cookie/local storage裡。目前已經有一個cookie在存team的token了,然後另外開一/兩個來存隊伍資料感覺有點沒必要,如果要一併存在team的token裡那直接用JWT好像比較方便,所以希望再麻煩後端可以再開一個JWT。
提供相關的技術或實作參考 Relevant technical or implementation references
No response
行為準則 Code of Conduct