http請求中web、app接口身份驗證

前言

其實不僅webapi,在web中的身份驗證也是一個問題。兩者在請求時都通過http請求,有相似之處。
對於http的身份驗證方式有兩個要點,必須傳輸敏感信息但是又要保證安全性

正文

web

對於web主要是將驗證信息保存在cookie裏面,然後取出cookies來驗證,對於cookei的安全性,可以加密,可以分割多個cookie,後臺取出這些cookie進行驗證,還可以設置HttpOnly一定程度上防止竊取。

api

cookie只用於web網站,對於移動端接口,因爲沒cookie,只能另尋他徑。其中有一種方法是將敏感信息放在header請求頭裏面。
1.使用token
每次都傳輸明文密碼是愚蠢的。首先我們需要讓用戶在第一次驗證時傳輸明文密碼,然後返回給用於一個滑動過期的token,接下來的請求用戶將帶着token進行請求。這個滑動過期的token一定程度上保證了信息安全性。
2.把信息放在header請求頭裏面。
在http請求頭中構造一個key值Authentication,把敏感信當作value值。不放在消息體裏面。
3.使用加密
Basic Auth
Basic Auth使用base64編碼把username和password加密後放入請求頭,不安全,但是開發和調試簡單。如賬號181密碼123,生成的header請求頭的Authorization字段:

Authorization: Basic MTgxOjEyMw==

空格前面是加密方式,後面是加密的值。把181:123直接base64後的字符串就是MTgxOjEyMw==
OAuth
不用每次都帶上敏感信息

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章