基於Oauth2,springsecurity實現App端登錄認證

App接入認證服務
環境簡紹
ip:port:對應認證服務器的ip地址和端口。可以配置對應的域名訪問,視情況而定、。

賬戶/密碼認證登錄
執行POST請求 http://ip:port/oauth/token 執行配置樣例如下:
在這裏插入圖片描述
設置請求參數中:

#請求Header中的配置
Content-Type=application/json
Authorization=Basic amFubGU6amFubGVTZWNyZXQ=

#請求參數
grant_type=password
password=xxx
username=xxx

請求返回的樣例:

{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NjUyNDA1NTAsInVzZXJfbmFtZSI6ImphbmxlIiwiYXV0aG9yaXRpZXMiOlsiYWRtaW4iXSwianRpIjoiOGE2MTMzMWUtMjYwZC00MzhhLTllYzMtOTQ2NTI0ZmM1MDYxIiwiY2xpZW50X2lkIjoiamFubGUiLCJzY29wZSI6WyJhbGwiXX0.0lTVJduhyIOArkHpN5562nLnigBsahHWKVbXfd1m1mg",
"token_type": "bearer",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJqYW5sZSIsInNjb3BlIjpbImFsbCJdLCJhdGkiOiI4YTYxMzMxZS0yNjBkLTQzOGEtOWVjMy05NDY1MjRmYzUwNjEiLCJleHAiOjE1Njc5MTE3NTAsImF1dGhvcml0aWVzIjpbImFkbWluIl0sImp0aSI6Ijg2ZDk1ZmUyLTVjMTAtNGRmYy04YjZiLWYwNjVkODFjNTNlZSIsImNsaWVudF9pZCI6ImphbmxlIn0.kRo9spIowKuZJq1h-Ondm_BoNdYncNHzl6kRMx8aBV4",
"expires_in": 7199,
"scope": "all",
"user_name": "janle",
"jti": "8a61331e-260d-438a-9ec3-946524fc5061"
}

短信認證登錄調用
執行GET請求 http://ip:port/validate/sms?mobile=18035198120 執行發送驗證碼樣例如下:
在這裏插入圖片描述
收到短信驗證碼後,執行登錄POST請求。http://ip:port/login/mobile?mobile=18035198120&smsCode=8727
在這裏插入圖片描述
帶token訪問資源
請求用戶信息。http://ip:port/user/me返回對應的登錄用戶的信息。
在這裏插入圖片描述
傳遞參數在需要授權的接口上添加deviceId信息和Authorization返回的授權的token值

刷新認證token信息
請求刷新token的信息執行post刷新http://127.0.0.1/oauth/token返回對應的登錄用戶的信息。
在這裏插入圖片描述
請求會返回新的token和refreshtoken

{
"access_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE1NjUyNDIzODgsInVzZXJfbmFtZSI6ImphbmxlIiwiYXV0aG9yaXRpZXMiOlsiYWRtaW4iXSwianRpIjoiMWNhNDU2MDctOWYzNC00OTkyLWI5ODItNTAzMWY5YjRmM2Y2IiwiY2xpZW50X2lkIjoiamFubGUiLCJzY29wZSI6WyJhbGwiXX0.hn5RMDccXJn_JAKcTGFFLn00t7kbZCeki3_7EEyQ88Q",
"token_type": "bearer",
"refresh_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2VyX25hbWUiOiJqYW5sZSIsInNjb3BlIjpbImFsbCJdLCJhdGkiOiIxY2E0NTYwNy05ZjM0LTQ5OTItYjk4Mi01MDMxZjliNGYzZjYiLCJleHAiOjE1Njc5MTI4NTgsImF1dGhvcml0aWVzIjpbImFkbWluIl0sImp0aSI6IjZhMzY1ZDg1LWI2NWItNDhmYi1hM2Y4LTE4ODViYTRhOTYxNiIsImNsaWVudF9pZCI6ImphbmxlIn0.hm4NfZdEr8FKxsaeoYnPTTa1lDxLzAdZCcbHN2aBBBM",
"expires_in": 7199,
"scope": "all",
"user_name": "janle",
"jti": "1ca45607-9f34-4992-b982-5031f9b4f3f6"
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章