Login-OAuth2, so easy.
特別感謝
JustAuth:這裏特別感謝JustAuth開源項目作者提供架構思路(特別是Readme大部分來自於JustAuth,本人比較懶)
.Net平臺下 CollectiveOAuth,它僅僅是一個 第三方授權登錄的工具類庫,它可以讓我們脫離繁瑣的第三方登錄SDK,讓登錄變得So easy!
特點
廢話不多說,就倆字:
- 全:已集成十多家第三方平臺(國內外常用的基本都已包含),仍然還在持續擴展中([開發計劃(製作中)]!
- 簡:API就是奔着最簡單去設計的(見後面
快速開始
),儘量讓您用起來沒有障礙感!
快速開始
-
引入依賴
-
配置授權信息(默認配置在webconfig中, 可以改造存儲數據庫或者其它任意地方)
<!--Demo: 微信服務號授權配置-->
<add key="CollectiveOAuth_WECHAT_MP_ClientId" value="wxer6785660834656" />
<add key="CollectiveOAuth_WECHAT_MP_ClientSecret" value="98967867678678678546434345344" />
<add key="CollectiveOAuth_WECHAT_MP_Scope" value="snsapi_userinfo" />
<add key="CollectiveOAuth_WECHAT_MP_RedirectUri" value="https://yours.domain.com/oauth2/callback?authSource=WECHAT_MP" />
- 調用api
// 創建授權request
var clientConfig = new ClientConfig();
clientConfig.clientId = AppSettingUtils.GetStrValue($"CollectiveOAuth_XXXXXX_ClientId");
clientConfig.clientSecret = AppSettingUtils.GetStrValue($"CollectiveOAuth_XXXXXX_ClientSecret");
clientConfig.redirectUri = AppSettingUtils.GetStrValue($"CollectiveOAuth_XXXXXX_RedirectUri");
clientConfig.scope = AppSettingUtils.GetStrValue($"CollectiveOAuth_XXXXXX_Scope");
AuthRequest authRequest = new GiteeAuthRequest(clientConfig);
// 生成授權頁面
authRequest.authorize("state");
// 授權登錄後會返回code(auth_code(僅限支付寶))、state,可以用AuthCallback類作爲回調接口的參數
// 注:CollectiveOAuth默認保存state的時效爲5分鐘,5分鐘內未使用則會自動清除過期的state
authRequest.login(callback);
API列表
_請知悉:經諮詢CSDN官方客服得知,CSDN的授權開放平臺已經下線。如果以前申請過的應用,可以繼續使用,但是不再支持申請新的應用。
後續開發計劃
正在籌備中
另外,期待有興趣的你和我一起完善和優化這個項目!
貢獻代碼
- fork本項目到自己的repo
- 把fork過去的項目也就是你倉庫中的項目clone到你的本地
- 修改代碼
- commit後push到自己的庫
- 發起PR(pull request) 請求,提交到
dev
分支 - 等待作者合併
致謝
在項目立項初期,也對當前開源圈的一些相同類型的項目作過調研,同時本項目也參考過這些項目,再次感謝開源圈內的朋友。
- JustAuth: Java 第三方登錄授權 SDK
- 阿里媽媽MUX傾力打造的矢量圖標庫-iconfont: 本文檔中的圖標大部分取自該平臺
- 感謝 JetBrains 提供的免費開源 License:
關於OAuth
關注&交流
公衆號 | QQ羣 |
---|---|
QQ羣
- CollectiveOAuth交流羣 (836803890):專業交流該項目