作一個開源的小程序登陸模板(Token)

作一個開源的小程序登陸模板(Token)

先了解下SSOgit

對於單點登錄淺顯一點的說就是兩種,一種web端的基於Cookie、另外一種是跨端的基於Token,通常想要作的都優先作Token吧,我的建議,由於後期擴展也方便哦。github

小程序也是呢,作成token的形式是較好的。web

流程圖
作一個開源的小程序登陸模板(Token)數據庫

一、啓動服務小程序

二、小程序初次加載app.js校驗token,使用code去換取tokenapi

三、檢測User信息是否存在code,不存在則註冊新用戶,最後返回對應用戶Id緩存

四、將隨機Token與UserId一塊兒存入Redis中app

五、返回Token信息,小程序存於緩存中,做爲api請求的認證憑證框架

這個流程思路對什麼後臺語言都是通用的。maven

具體實現
本文的環境主要是作SpringBoot的,全部對於其餘框架可能沒有很好的兼容。

直接上代碼弄起來吧!

首先是開源的話,咱們須要肯定某些東西是必定要配置的,不能寫死。那麼我寫了兩個Config類來獲取application.yml中的數據,不一樣用戶能夠配置他們的參數。

作一個開源的小程序登陸模板(Token)
我這邊了以上的參數做爲組件中的可配置,其實部分能夠做爲默認的,不過暫時沒有改了,若是你像要使用就是暫時都是必選的

項目目錄

作一個開源的小程序登陸模板(Token)

config包中的就是對配置參數的讀取。

utils包是存放一個Http的請求工具。

最核心的就是咱們的WechatTemplate類了。

根據業務,咱們須要如下幾個方法:

根據小程序傳遞來的code獲取openid

根據openid,咱們能夠和數據庫對接獲得用戶id並生成本身Token

還有校驗Token,是否存在

Maven包

接着打包發到Maven中央倉庫中,生成本身的maven包

作一個開源的小程序登陸模板(Token)

作一個開源的小程序登陸模板(Token)
如何使用?

我在Github項目中,作了Demo演示。

https://github.com/UncleCatMySelf/wechat-login

你須要作的就是注入模板,調用方法

作一個開源的小程序登陸模板(Token)

作一個開源的小程序登陸模板(Token)

相關文章
相關標籤/搜索