→ ssccg: 2的多出server拿code換token是避免access token流到client 06/27 15:07
→ ssccg: 提昇安全性(例如防止XSS攻擊偷走token),因為code換token會 06/27 15:08
→ ssccg: 再驗證一次是合法的server 06/27 15:10
請問是建議第2個方式比較好嗎
因為我們client開發人員認為他直接去拿第三方access token就好了
而server端基於不信任client傳來的資料,是一定要再驗證過的
若第三方的access token 被 user 以外的管道拿到
表示該管道就可以呼叫第三方的API取得user的資料了的意思
所以還是client拿code,讓server去換access token比較好嗎
→ ssccg: 第二個問題,基本上確認token正確後,本來server端就可以用 06/27 15:11
→ ssccg: 自己的登入方式處理,你要另發server自己的JWT token或傳統 06/27 15:11
→ ssccg: 的http session都可以,本來就不會只靠access token 06/27 15:12
→ ssccg: access token是還要存取第三方的resource server時才用的 06/27 15:16
會部署在多server的環境,所以選擇傳token的方式
session的方式沒做過在多server的環境,除非存資料庫吧
或是要查一下多server的session實做方式
還有很多安全性方面的問題要確認,先感謝了
※ 編輯: jtorngl (114.43.69.88 臺灣), 06/27/2020 17:29:33
→ ssccg: 主要還是看應用場景,最小授權原則,如果client沒必要直接 07/04 13:29
→ ssccg: 用到access token就不要讓client端拿到 07/04 13:30
→ ssccg: 如果沒有任何資訊會存在server session中的話,的確只用 07/04 13:31
→ ssccg: token做成完全stateless會比較方便 07/04 13:31
推 new122851: 跨多server的session管理可以用redis效率比存RDB好 08/01 18:20