婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > golang實現單點登錄系統(go-sso)

golang實現單點登錄系統(go-sso)

熱門標簽:賺地圖標注的錢犯法嗎 長沙ai機器人電銷 智能電銷機器人營銷 濮陽自動外呼系統代理 地圖標注測試 烏魯木齊人工電銷機器人系統 澳門防封電銷卡 福州鐵通自動外呼系統 廣東語音外呼系統供應商

這是一個基于Go語言開發的單點登錄系統,實現手機號注冊、手機號+驗證碼登錄、手機號+密碼登錄、賬號登出等功能,用戶認證采用cookie和jwt兩種方式。收發短信相關方法已提供,僅需根據短信通道提供商提供的接口做相應的參數配置即可使用。

環境介紹

golang語言:go1.13.3+ 、

數據庫:mysql5.7

緩存:redis3.0

項目地址

https://github.com/guyan0319/ ...

依賴包:

github.com/dgrijalva/jwt-go
github.com/gin-gonic/gin
github.com/go-xorm/xorm
github.com/go-sql-driver/mysql

注意:項目代碼依賴管理工具采用的go-modules,需要了解的移步https://github.com/guyan0319/...

數據請求類型

Content-Type: application/json

注:這個一定要注意,其他類型服務端不識別。

快速開始

1、數據庫

sql文件在data目錄下,新建數據庫名,通過mysql管理工具或登錄mysql數據庫直接創建數據庫名,并導入ssodb.sql文件到數據庫,完成數據庫結構創建。具體方法這里不再贅述。

2、配置mysql、redis

配置文件在conf目錄下,修改 mysql.go、redis.go配置成你自己的實際環境。

3、啟動

go run main.go

4、測試

我們可以采用postman等工具,進行客戶端瀏覽器模擬操作,也可以通過curl實現。

這里以curl工具為例:

注冊手機號

$ curl -X POST "http://127.0.0.1:8282/signup/mobile" -i -d '
{
"mobile":"13522227564","passwd":"123456","code": "111111"
}
'

結果

% Total 
% Received 
% Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
100 86 100 28 100 58 1750 3625 --:--:-- --:--:-- --:--:-- 86000HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Tue, 09 Jun 2020 08:59:36 GMT
Content-Length: 28

{
"code":200,"msg":"success"
}

注:code參數值只要隨意6位數即可,示例中服務端并沒有配置短信通道,驗證code代碼已注釋。

手機號+密碼 登錄

$ curl -X POST "http://127.0.0.1:8282/login" -i -d '
{
"mobile":"13522227564","passwd":"123456"
}
'

結果

% Total 
 % Received 
% Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
100 69 100 28 100 41 451 661 --:--:-- --:--:-- --:--:-- 1112HTTP/1.1 200 OK
Access_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTg1ODIwMX0.OMpRhdX2wXm1BuRmeaZtSH7L3skXhNhYc0YYUTQf7WI
Content-Type: application/json; charset=utf-8
Refresh_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTg2MDAwMX0.Hglo9i8pxFGcRcvMw8mUvXlT2JLrHSC6ocQqJseknq8
Set-Cookie: Access_Token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTg1ODIwMX0.OMpRhdX2wXm1BuRmeaZtSH7L3skXhNhYc0YYUTQf7WI; Path=/; Max-Age=86400; HttpOnly
Set-Cookie: Refresh_Token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTg2MDAwMX0.Hglo9i8pxFGcRcvMw8mUvXlT2JLrHSC6ocQqJseknq8; Path=/; Max-Age=86400; HttpOnly
Set-Cookie: UserId=1; Path=/; Max-Age=86400; HttpOnly
Date: Wed, 10 Jun 2020 06:50:01 GMT
Content-Length: 28

{
"code":200,"msg":"success"
}

手機號+驗證碼登錄

$ curl -X POST "http://127.0.0.1:8282/login/mobile" -i -d '
{
"mobile":"13522227564","code":"123456"
}
'

結果

% Total % Received % Xferd Average Speed Time Time Time Current
 Dload Upload Total Spent Left Speed
100 68 100 28 100 40 163 233 --:--:-- --:--:-- --:--:-- 397HTTP/1.1 200 OK
Access_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NDIxOX0.FK-6ofW-ni8E7BcQ1tH9Z4vzQHDBbnyIcDZLEytRrfQ
Content-Type: application/json; charset=utf-8
Refresh_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NjAxOX0.gJzzho2gP1nNrkUKdtvMh0R3jGFZpA-ku0dWDvLftu0
Set-Cookie: Access_Token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NDIxOX0.FK-6ofW-ni8E7BcQ1tH9Z4vzQHDBbnyIcDZLEytRrfQ; Path=/; Max-Age=86400; HttpOnly
Set-Cookie: Refresh_Token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NjAxOX0.gJzzho2gP1nNrkUKdtvMh0R3jGFZpA-ku0dWDvLftu0; Path=/; Max-Age=86400; HttpOnly
Set-Cookie: UserId=1; Path=/; Max-Age=86400; HttpOnly
Date: Thu, 11 Jun 2020 09:30:19 GMT
Content-Length: 28

{
"code":200,"msg":"success"
}

獲取用戶信息

使用上面登錄獲取的Access_Token獲取用戶信息。

$ curl "http://127.0.0.1:8282/my/info" -b "Access_Token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NDIxOX0.FK-6ofW-ni8E7BcQ1tH9Z4vzQHDBbnyIcDZLEytRrfQ"

結果

% Total  % Received % Xferd Average Speed  Time  Time   Time Current
                 Dload Upload  Total  Spent  Left Speed
100  73 100  73  0   0 73000   0 --:--:-- --:--:-- --:--:-- 73000{"code":200,"data":
{
"id":1,"name":"","email":"","mobile":"135****27564"
}
}

查看手機號是否存在

$ curl -X POST "http://127.0.0.1:8282/signup/mobile/exist" -i -d '
{"mobile":"13522227564"
}'

結果

% Total % Received % Xferd Average Speed Time Time  Time Current
         Dload Upload Total Spent Left Speed
100 61 100 37 100 24 37000 24000 --:--:-- --:--:-- --:--:-- 61000HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Date: Wed, 10 Jun 2020 07:40:50 GMT
Content-Length: 37

{
"code":200,"data":
{
"is_exist":true
}}

access token 續期

$ curl -X POST "http://127.0.0.1:8282/renewal" -i -b "Access_Token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NDIxOX0.FK-6ofW-ni8E7BcQ1tH9Z4vzQHDBbnyIcDZLEytRrfQ;Rfresh_Token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NjAxOX0.gJzzho2gP1nNrkUKdtvMh0R3jGFZpA-ku0dWDvLftu0"

結果:

% Total % Received % Xferd Average Speed Time Time  Time Current
         Dload Upload Total Spent Left Speed
100 28 100 28 0  0 595  0 --:--:-- --:--:-- --:--:-- 595HTTP/1.1 200 OK
Access_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NTEzMn0.KCNVQ39HoMZFG-Xl0xwDrVdhQO_w4-tDxWY0ebyhfyk
Content-Type: application/json; charset=utf-8
Refresh_token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NjkzMn0.XijN8ZjPbZkhjJB33igti3dSm1tfd2kp_iNRtPqpwyM
Set-Cookie: Access_Token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NTEzMn0.KCNVQ39HoMZFG-Xl0xwDrVdhQO_w4-tDxWY0ebyhfyk; Path=/; Max-Age=86400; HttpOnly
Set-Cookie: Refresh_Token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NjkzMn0.XijN8ZjPbZkhjJB33igti3dSm1tfd2kp_iNRtPqpwyM; Path=/; Max-Age=86400; HttpOnly
Date: Thu, 11 Jun 2020 09:45:32 GMT
Content-Length: 28
{
"code":400,"msg":"success"
}

登出系統

$ curl -X POST "http://127.0.0.1:8282/logout" -b "Access_Token=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJVc2VySWQiOjEsImV4cCI6MTU5MTk1NDIxOX0.FK-6ofW-ni8E7BcQ1tH9Z4vzQHDBbnyIcDZLEytRrfQ"

結果

% Total % Received % Xferd Average Speed Time Time  Time Current
         Dload Upload Total Spent Left Speed
100 28 100 28 0  0 28000  0 --:--:-- --:--:-- --:--:-- 28000{"code":200,"msg":"success"
}

小結

僅使用jwt實現單點登錄會遇到兩個問題

  • 用戶無法主動登出,即服務端發出token后,無法主動銷毀token,用戶還可以用通過token訪問系統,本項目增加了緩存登出用戶token到黑名單的方式,變相實現登出。
  • token續期問題,access_token攜帶有效期,有效期過了無法自動續期。本項目提供了續期接口(renewal),服務端在生成access_token同時還會生成refresh_token(有效期比access_token長),用戶可以通過有效的refresh_token和access_token訪問renewal接口重新獲取新的refresh_token和access_token。

到此這篇關于golang實現單點登錄系統(go-sso)的文章就介紹到這了,更多相關golang單點登錄內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Django框架之登錄后自定義跳轉頁面的實現方法
  • Django實現微信小程序的登錄驗證功能并維護登錄態
  • Django集成CAS單點登錄的方法示例
  • django的登錄注冊系統的示例代碼
  • 淺談django中的認證與登錄
  • Django小白教程之Django用戶注冊與登錄

標簽:慶陽 西雙版納 廣西 德州 阿克蘇 貴陽 太原 調研邀請

巨人網絡通訊聲明:本文標題《golang實現單點登錄系統(go-sso)》,本文關鍵詞  golang,實現,單點,登錄,系統,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《golang實現單點登錄系統(go-sso)》相關的同類信息!
  • 本頁收集關于golang實現單點登錄系統(go-sso)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲综合小说图片| 国产一区二区三区综合 | 国产网站一区二区| 国产精品美女久久久久高潮| 国产亚洲污的网站| 日本最新不卡在线| 丰满白嫩尤物一区二区| 欧美日韩高清在线播放| 日本一区二区免费在线| 精品一区二区三区av| 色天天综合久久久久综合片| 国产精品久久久久久久久免费桃花 | 91视频com| 国产欧美精品区一区二区三区 | 欧日韩精品视频| 亚洲一区二区三区中文字幕 | 日韩精品在线一区| 亚洲电影欧美电影有声小说| 99riav一区二区三区| 亚洲精品在线电影| 午夜精品爽啪视频| 日本一区二区三区高清不卡| 国产成人av一区二区三区在线| 国产精品入口麻豆原神| 久久久精品tv| 91黄色小视频| 91久久精品网| 97精品超碰一区二区三区| 精品一区二区三区免费观看| 亚洲第一电影网| 亚洲丰满少妇videoshd| 一区二区三区自拍| 一区二区三区高清| 国产日韩欧美a| 日韩三级精品电影久久久| 日本韩国精品在线| 久久精品国产成人一区二区三区 | 精品在线亚洲视频| 亚洲人成网站影音先锋播放| 欧美久久高跟鞋激| 99视频在线观看一区三区| 午夜视频一区在线观看| 中文字幕一区二区三区不卡在线 | 国产精品国产三级国产普通话三级| 精品一二三四在线| 亚洲一二三区不卡| 中文字幕第一区二区| 51精品久久久久久久蜜臀| 国产中文字幕精品| 亚洲成人综合在线| 欧美精选在线播放| 伊人色综合久久天天| 国产欧美精品一区二区三区四区| 欧美一区二区三区在线观看| 久久久另类综合| 亚洲一区二区三区在线看| 日韩黄色片在线观看| 国产精品99久久久久久宅男| 国产精品1区2区3区在线观看| 大桥未久av一区二区三区中文| 99久久久免费精品国产一区二区| 99久久伊人久久99| 欧美影视一区在线| 91精品国产色综合久久ai换脸| 欧美色倩网站大全免费| 欧美麻豆精品久久久久久| 日韩精品一区二区三区老鸭窝 | 亚洲精品第一国产综合野| 亚洲综合视频在线观看| 国产精品一二三四五| 高清不卡在线观看av| 欧美日韩大陆一区二区| 日本一区二区综合亚洲| 日韩av电影免费观看高清完整版| 国产成人精品www牛牛影视| 欧美精品在线观看播放| 久久久91精品国产一区二区精品| 亚洲最大成人综合| 97精品电影院| 国产欧美精品一区二区三区四区 | 91精品国产综合久久小美女| 亚洲精品视频在线| 一本久道中文字幕精品亚洲嫩| 国产精品美女久久久久久久久| 日韩vs国产vs欧美| 国产午夜精品美女毛片视频| 秋霞午夜av一区二区三区| 欧美一区二区视频在线观看| 韩国v欧美v亚洲v日本v| 国产精品免费视频观看| 91激情五月电影| 精品一区二区三区的国产在线播放 | 亚洲欧洲成人精品av97| 欧美在线影院一区二区| 亚洲一区在线观看视频| 91麻豆精品国产| 91视频com| 色哟哟国产精品| 亚洲桃色在线一区| 午夜久久久影院| 国产欧美一区二区三区在线老狼| 精品成人a区在线观看| 久久精品国产免费看久久精品| 一区免费观看视频| 最近日韩中文字幕| 一本大道久久a久久精品综合| 欧美tickling网站挠脚心| 成人国产免费视频| 亚洲在线成人精品| 一本大道久久a久久综合| 国产91在线观看| 日韩黄色免费网站| 日本韩国视频一区二区| 日本成人在线看| 亚洲成人动漫一区| 国产精品人人做人人爽人人添| 色94色欧美sute亚洲线路一久| 成人app软件下载大全免费| 日本女人一区二区三区| 三级影片在线观看欧美日韩一区二区 | 日本三级亚洲精品| **性色生活片久久毛片| 国产精品传媒视频| 首页国产欧美日韩丝袜| 国产精品白丝jk白祙喷水网站| 波多野结衣中文字幕一区二区三区| 蜜桃视频在线观看一区二区| 韩国v欧美v亚洲v日本v| 国产高清久久久| 欧美精品久久久久久久多人混战| 精品久久久久久久一区二区蜜臀| 久久久不卡网国产精品一区| 久久一区二区三区四区| 国产精品传媒入口麻豆| 国产精品一区二区在线观看不卡 | 免费在线成人网| 精品久久人人做人人爽| 韩国精品在线观看| 亚洲资源中文字幕| 国产精品乱码久久久久久| 91老司机福利 在线| 日本不卡在线视频| 久久99久久99| 中文字幕第一区二区| 色婷婷综合视频在线观看| 婷婷久久综合九色综合绿巨人| 久久久亚洲午夜电影| 日韩一区二区视频| 成人激情文学综合网| 五月婷婷激情综合| 亚洲人精品一区| 亚洲精品一区二区三区99| 久久免费看少妇高潮| 亚洲国产精品二十页| 精品国产电影一区二区| 亚洲精品一区二区三区福利| 中文字幕av一区二区三区高 | 久久精品72免费观看| 欧美成人aa大片| 欧美精品视频www在线观看| 777久久久精品| av在线播放不卡| 日韩小视频在线观看专区| 国产欧美日韩卡一| 久久激情五月激情| 国产精品一区二区男女羞羞无遮挡 | 亚洲视频免费观看| 欧美日韩一区不卡| 五月天激情综合| 日韩一区二区在线看| 国产一区二三区| 国产精品人妖ts系列视频| 欧美性受xxxx黑人xyx| 亚洲精品福利视频网站| 久久综合九色综合欧美亚洲| 在线看日韩精品电影| 欧美日韩视频在线一区二区| 国产精品一区一区| 欧美日韩国产一二三| 欧美一级在线观看| 在线视频一区二区免费| 国产欧美日韩亚州综合| 91亚洲精品久久久蜜桃| 4hu四虎永久在线影院成人| 一区免费观看视频| 色一情一乱一乱一91av| 亚洲激情图片一区| 色婷婷av久久久久久久| 性久久久久久久| 91精品国产91久久久久久最新毛片| 亚洲国产wwwccc36天堂| 日韩欧美色综合网站| 久久久久久久久久久久久久久99| 国产美女久久久久| 欧美日韩成人在线| 一本久久综合亚洲鲁鲁五月天 | av在线不卡观看免费观看| 综合久久久久综合| 91麻豆精品一区二区三区| 97久久久精品综合88久久|