【Spring Social】學習筆記(二)-Spring Social對OAuth2協議的實現

請大家前看上一個博客,大致瞭解一下OAuth2協議的流程,嘿嘿!

對於OAuth2協議的流程,Spring Social已經很好的封裝了默認的實現,對於變動的組件也定義好了接口讓開發者去適配;

Spring Social提供了哪些組件?

說明:

  1. OAuth2Operations接口:對OAuth協議中,授權、獲取Token流程步驟的接口,Spring Social提供了默認的實現類OAuth2Template;
  2. AbstractOAuth2ApiBinding:在使用Token向服務提供商請求用戶基本信息的時候,由於每個服務提供商所提供的用戶信息都不同,因此需要單獨定義一個規則(接口),Spring Social提供了AbstractOAuth2ApiBind ing用來處理該步驟;
  3. Service Provider接口:對服務提供商的抽象接口,Spring Social提供了抽象實現AbstractOAuth2ServiceProvider,由於它實現了整個OAuth2協議流程,因此他需要OAuth2Operations實現對象和AbstractOAuth2ApiBinding實現對象共同協助;
  4. Connection接口:封裝了服務提供商返回的用戶信息;
  5. UsersConnectionRepository接口:Connection接口是一個統一的表示用戶信息的接口,但是每個服務提供商所返回的用戶信息都是不同的,因此在數據庫中有一個userconnection表來關聯第三方應用的User和服務提供商的User(Connection用戶信息),該表的主鍵有三個(如上圖)。而Spring Social提供了UsersConnectionRepository接口來操作這張表,默認實現是JdbcUsersConnectionRepository類;

 

類圖展示:

 

圖畫的不好,對於畫圖我真不咋專業,大家先看個大概,現在只需要知道這些組件的用途即可,後續我們開發一個QQ登錄的demo大家就明白流程了,之所以用QQ是因爲QQ的實現接口最規範,學習OAuth比較好。

 

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