Spring Social實戰 - QQ登入
1 簡介

OAuth2.0的認證流程示意圖
1請求第三方應用
2第三方應用將使用者請求導向服務提供商
3使用者同意授權
4服務提供商返回code
5client根據code去服務提供商換取令牌
6返回令牌
7獲取使用者資訊
在標準的OAuth2協議中,1-6步都是固定,只有最後一步,不同的服務提供商返回的使用者資訊是不同的
Spring Social已經為我們封裝好了1-6步



實現概述
2 開發 QQ 登入(上)
準備工作
- 在qq互聯申請個人開發者,獲得appId和appKey或者使用 ofollow,noindex">SpringForAll 貢獻出來的
- 配置本地host 新增
127.0.0.1 www.ictgu.cn
-
資料庫執行以下sql
- 專案埠設定為80埠
新增Spring Social依賴
spring-social-core 提供社交連線框架和OAuth 客戶端支援
spring-social-config 提供Java 配置
spring-social-security 社交安全的一些支援
spring-social-web 管理web應用程式的連線

目錄結構

api 定義api繫結的公共介面
config qq的一些配置資訊
connect 與服務提供商建立連線所需的一些類
定義返回使用者資訊介面

實現返回使用者資訊介面

QQOAuth2Template
處理qq返回的令牌資訊

QQServiceProvider
連線服務提供商

QQConnectionFactory
連線服務提供商的工廠類


介面

存取前五步後的令牌資訊
每位使用者都有一個令牌,所以是多例項的一種物件
restTemplate 負責向服務商發 HTTP 請求

點選文件資料

獲取使用者資訊的 API

所需引數

獲取使用者資訊實現類

開發 QQ 登入(中)




定位此類下的 sql 指令碼

複製此段指令碼到自己資料庫執行
開發 QQ 登入(下)

編輯 hosts 檔案

訪問本機的9090埠

處理註冊邏輯
單機 Session 處理


存活時間至少1min
叢集 Session 管理

使用現成的 Spring Session 大法

所支援的資料儲存中介軟體型別
下載 redis 後解壓並 make 編譯一下


啟動 Redis 服務

配置

的確存了很多 session 資訊
Spring Security OAuth開發APP認證框架
1簡介





2 實現標準的OAuth服務提供商

3


複製這段程式碼到

複製到此
重構簡訊登入

重構社交登入

簡化模式

標準模式
令牌配置
