OAuth 2.0 筆記 (6) Bearer Token 的使用方法

场景

  • 最近在研究oauth2认证, 刚好这篇文章很优秀, MARK一下

原文地址

  • 原文地址 https://blog.yorkxin.org/2013/09/30/oauth2-6-bearer-token.html

摘选片段

安全性建議的總結
Section 5.3 Summary of Recommendations

要藏好 Bearer Token
Client 實作必須確保 Bearer Token 不會外洩給無關人士,因為他們可以以此來存取受保護的 resources。利用 Bearer Token 時,這是首要的安全性考量,且優先於其他更細節的建議。

要驗證 TLS 的憑證鏈
當 Client 發 request 索取受保護的 resources 的時候,Client 必須驗證 TLS 的憑證鏈。若做不到的話,可能會引發 DNS 劫持,導致 Token 被壞人偷走。

全程使用 TLS (https)
當 Clients 利用 Bearer Token 發 request 時,Client 必須一直使用 TLS (RFC5246) (https) 或同等的安全傳輸。若做不到的話, Token 會曝露在各種攻擊方式,讓壞人可以得到意料之外的存取權。

不要把 Bearer Token 存在 Cookie
絕對不可以把 Bearer Token 存在可以明文傳輸 (sent in the clear) 的 Cookie 裡面(明文傳輸是 cookie 傳輸的預設方式)。若存在 Cookie 裡面,必須要小心 Cross-Site Request Forgery 。

要核發短時效的 Bearer Token
核發 Token 的伺服器最好是核發短時效的 Bearer Token (一小時以內),尤其是發給跑在瀏覽器裡面的 Client ,或是其他容易發生資訊外洩的場合。利用短時效的 Bearer Token 可以降低 Token 外洩時的衝擊。

要核發有區分使用範圍的 Bearer Token
Token 伺服器最好要核發包含 audience restriction, scoping their use to the intended replying party, or set of relying party 的 Token 。

不要用 Page URL 來傳送 Bearer Token
Bearer Token 最好不要從 URL 來傳送(例如 query parameter),而最好是從有保密措施的 HTTP header 或是 body 來傳輸※。瀏覽器、伺服器等軟體可能不會把歷史記錄或資料結構給妥善加密。如果 Bearer Token 透過 URL 傳輸,則壞人就有可能可以從歷史記錄取得之。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值