日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

登录验证应该是进行在客户端还是服务器端_网站登录认证方式

發(fā)布時(shí)間:2023/12/10 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 登录验证应该是进行在客户端还是服务器端_网站登录认证方式 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

目前大部分軟件系統(tǒng)資源訪問(wèn)都是使用HTTP協(xié)議,HTTP是無(wú)狀態(tài)的協(xié)議,每次請(qǐng)求默認(rèn)都是相互獨(dú)立的。但是大部分情況下我們需要記錄請(qǐng)求資源的用戶信息,也就是保存會(huì)話,從而對(duì)資源的訪問(wèn)做限制,這是我們認(rèn)證功能。常用的認(rèn)證方式有 :1、HTTP Basic Auth 2、cookie Auth 3、Token Auth 4 OAuth2.0

HTTP Basic Auth

這個(gè)最古老的認(rèn)證方式:登錄之后會(huì)在客戶端本地記錄用戶名和密碼,每次請(qǐng)求資源都要帶上用戶名密碼,后端服務(wù)收到之后對(duì)用戶名和密碼進(jìn)行驗(yàn)證 ,驗(yàn)證通過(guò)之后就可以返回資源。這種方式現(xiàn)在基本人用了,弊端很明顯,有把用戶名密碼暴露給第三方客戶端的風(fēng)險(xiǎn), 很不安全。尤其是對(duì)外提供接口的情況更不能使用。

cookie Auth

Cookie認(rèn)證機(jī)制就是為一次請(qǐng)求認(rèn)證在服務(wù)端創(chuàng)建一個(gè)Session對(duì)象,同時(shí)在客戶端的瀏覽器端創(chuàng)建了一個(gè)Cookie對(duì)象;通過(guò)客戶端帶上來(lái)Cookie對(duì)象來(lái)與服務(wù)器端的session對(duì)象匹配來(lái)實(shí)現(xiàn)狀態(tài)管理的。默認(rèn)的,當(dāng)我們關(guān)閉瀏覽器的時(shí)候,cookie會(huì)被刪除。但可以通過(guò)修改cookie 的expire time使cookie在一定時(shí)間內(nèi)有效。cookie不支持跨域,所以不支持跨域的情況。session 保存的用戶信息會(huì)保存在服務(wù)器,如果用戶量很大,會(huì)消耗 很大的服務(wù)器資源。

Token Auth

使用token認(rèn)證是目前主流的認(rèn)證方式。原理是用戶登錄時(shí) 服務(wù)端生成一串帶有用戶信息的JSON串,然后通過(guò)加密和編碼,生成一個(gè)無(wú)規(guī)則的字符串,這個(gè)字符串就是token,客戶端保存好token,每次請(qǐng)求都帶著這個(gè)token,可以放在http的header 也可以以參數(shù)的形式傳遞,客戶端拿到之后通過(guò)解碼解密找出用戶,驗(yàn)證通過(guò)之后就可以返回資源給客戶端。

相比于傳統(tǒng)的cookie認(rèn)證方式,這中認(rèn)證有很多優(yōu)勢(shì)。可以支持跨域,跨平臺(tái)(安卓 IOS WEB),由于不用在服務(wù)端保存用戶信息,可以減輕服務(wù)器的壓力,性能要高。針對(duì)token認(rèn)證方式有一套標(biāo)準(zhǔn)JWT(JSON Web Token),目前很多語(yǔ)言(.NET, Ruby, Java,Python, PHP)都支持這套標(biāo)準(zhǔn),開發(fā)起來(lái)很方便。

OAuth認(rèn)證

OAuth認(rèn)證目前是2.0版本。允許用戶提供一個(gè)令牌,而不是用戶名和密碼來(lái)訪問(wèn)他們存放在特定服務(wù)提供者的數(shù)據(jù)。每一個(gè)令牌授權(quán)一個(gè)特定的第三方系統(tǒng)(例如,視頻編輯網(wǎng)站)在特定的時(shí)段(例如,接下來(lái)的2小時(shí)內(nèi))內(nèi)訪問(wèn)特定的資源(例如僅僅是某一相冊(cè)中的視頻)。這樣,OAuth讓用戶可以授權(quán)第三方網(wǎng)站訪問(wèn)他們存儲(chǔ)在另外服務(wù)提供者的某些特定信息,而非所有內(nèi)容。

目前使用OAuth2最典型的使用場(chǎng)景是微信登錄認(rèn)證

1 第一步:用戶同意授權(quán),獲取code

2 第二步:通過(guò)code換取網(wǎng)頁(yè)授權(quán)access_token

3 第三步:刷新access_token

4 第四步:拉取用戶信息(需scope為 snsapi_userinfo)

其實(shí)大部分第三方授權(quán)登錄都是使用的這種認(rèn)證方式 QQ認(rèn)證、新浪微博授權(quán)登錄、 支付寶授權(quán)登錄等等。

總結(jié)

以上是生活随笔為你收集整理的登录验证应该是进行在客户端还是服务器端_网站登录认证方式的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。