v一、oauth原理參考
v二、本例中采用授權(quán)碼模式
大致流程
(A)用戶(hù)訪問(wèn)客戶(hù)端,后者將前者導(dǎo)向認(rèn)證服務(wù)器。
?。˙)用戶(hù)選擇是否給予客戶(hù)端授權(quán)。
?。–)假設(shè)用戶(hù)給予授權(quán),認(rèn)證服務(wù)器將用戶(hù)導(dǎo)向客戶(hù)端事先指定的"重定向URI"(redirection URI),同時(shí)附上一個(gè)授權(quán)碼。
?。―)客戶(hù)端收到授權(quán)碼,附上早先的"重定向URI",向認(rèn)證服務(wù)器申請(qǐng)令牌。這一步是在客戶(hù)端的后臺(tái)的服務(wù)器上完成的,對(duì)用戶(hù)不可見(jiàn)。
?。‥)認(rèn)證服務(wù)器核對(duì)了授權(quán)碼和重定向URI,確認(rèn)無(wú)誤后,向客戶(hù)端發(fā)送訪問(wèn)令牌(access token)和更新令牌(refresh token)。
參數(shù)含義
response_type:表示授權(quán)類(lèi)型,必選項(xiàng),此處的值固定為"code"
client_id:表示客戶(hù)端的ID,必選項(xiàng)
redirect_uri:表示重定向URI,可選項(xiàng)
scope:表示申請(qǐng)的權(quán)限范圍,可選項(xiàng),本例中無(wú)
state:表示客戶(hù)端的當(dāng)前狀態(tài),可以指定任意值,認(rèn)證服務(wù)器會(huì)原封不動(dòng)地返回這個(gè)值,本例中無(wú)