OAuth是一個(gè)開放標(biāo)準(zhǔn),允許用戶授權(quán)第三方訪問他們儲(chǔ)存在另外的服務(wù)提供者上的信息,而不需要用戶將用戶名和密碼提供給第三方應(yīng)用或者分享他們數(shù)據(jù)的內(nèi)容。
例子:網(wǎng)站的微信授權(quán)登錄
用戶授權(quán)之后得到授權(quán)碼,拿到授權(quán)碼之后到微信認(rèn)證服務(wù)申請(qǐng)令牌,然后攜帶令牌從微信的用戶信息服務(wù)中獲取用戶信息。
- 服務(wù)提供商不會(huì)允許隨便一個(gè)客戶端就能介入到它的授權(quán)服務(wù)器,服務(wù)提供商會(huì)給準(zhǔn)入方一個(gè)身份,用戶接入時(shí)的憑據(jù):client_id 客戶端標(biāo)識(shí)、client_secret 客戶端密鑰
對(duì)接過(guò)微信服務(wù)接口或是小程序提供的服務(wù)接口的開發(fā)者應(yīng)該都用到過(guò)client_id和client_secret - 因此在OAuth2.0中,需要資源擁有者(用戶)授權(quán)和客戶端被允許接入