1、OAuth2.0是什么
OAuth是一個開放標准,允許用戶授權第三方應用訪問他們存儲在另外的服務提供者上的信息,而不需要將用戶名和密碼提供給第三方移動應用或分享他們數據的所有內容。
在OAuth2.0的認證和授權的過程中主要包括以下三方
-
服務提供方,提供用戶服務,同時保存用戶信息
-
用戶,服務的使用方
-
客戶端,要訪問服務的第三方應用用戶(不知為什么叫客戶端)
2、用戶互信場景
用戶互信需求:某銀行有兩個系統(系統A與系統B)都為用戶提供服務,其中系統A主要提供生活類服務,系統B主要提供金融類服務。運營一段時間后,客戶想系統B的用戶也可以去使用A系統提供的服務。
互信需求分析: 依據OAuth2的定義,系統A為服務提供方。用戶為服務使用方,客戶端為系統B。
系統B的用戶需要使用A提供的服務,認證流程如下:
前提:系統A提供授權服務A
1、系統A引導並提示用戶,可以使用系統B的信息登錄A系統,類似如下圖:
2、用戶輸入B系統的用戶名與密碼后,由B系統進行信息驗證
3、B系統驗證通過后,向授權服務A請求訪問授權也就是Access Token, 授權服務A為B系統用戶生成Access Token並允許系統B用戶訪問系統A提供的服務(服務A)
4、用戶B通過Access Token去訪問服務A
5、服務將Access Toke請求向授權服務A驗證授權,如果通過則通過訪問
系統A用戶要訪問系統B提供的服務也類似,當然如是同一個機構,授權服務可以是一個。實際的業務場景考慮的內容更多,比如用戶信息的同步,信息安全等,想進一步學習,可以先加微信。
4個了,加油!