C# 史上最全第三方授權框架

Login-OAuth2, so easy.

star

查看更多

特別感謝

JustAuth:這裏特別感謝JustAuth開源項目作者提供架構思路(特別是Readme大部分來自於JustAuth,本人比較懶)

.Net平臺下 CollectiveOAuth,它僅僅是一個 第三方授權登錄工具類庫,它可以讓我們脫離繁瑣的第三方登錄SDK,讓登錄變得So easy!

特點

廢話不多說,就倆字:

  1. :已集成十多家第三方平臺(國內外常用的基本都已包含),仍然還在持續擴展中([開發計劃(製作中)]!
  2. :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列表

💻 平臺 ☕️ API類 📄 SDK
GiteeAuthSource 參考文檔
GithubAuthRequest 參考文檔
WeiboAuthRequest 參考文檔
DingTalkScanAuthRequest 參考文檔
BaiduAuthRequest 參考文檔
CodingAuthRequest 參考文檔
OschinaAuthRequest 參考文檔
AlipayMPAuthRequest 參考文檔
QQAuthRequest 參考文檔
WeChatOpenAuthRequest 參考文檔
WeChatMPAuthRequest 參考文檔
WeChatEnterpriseAuthRequest 參考文檔
WeChatEnterpriseScanAuthRequest 參考文檔
[TaobaoAuthRequest] 參考文檔
GoogleAuthRequest 參考文檔
FacebookAuthRequest 參考文檔
DouYinAuthRequest 參考文檔
LinkedInAuthRequest 參考文檔
MicrosoftAuthRequest 參考文檔
XiaoMiAuthRequest 參考文檔
ToutiaoAuthRequest 參考文檔
TeambitionAuthRequest 參考文檔
RenrenAuthRequest 參考文檔
PinterestAuthRequest 參考文檔
StackOverflowAuthRequest 參考文檔
HuaweiAuthRequest 參考文檔
KujialeAuthRequest 參考文檔
GitlabAuthRequest 參考文檔
MeituanAuthRequest 參考文檔
ElemeAuthRequest 參考文檔
[TwitterAuthRequest] 參考文檔

_請知悉:經諮詢CSDN官方客服得知,CSDN的授權開放平臺已經下線。如果以前申請過的應用,可以繼續使用,但是不再支持申請新的應用。

後續開發計劃

正在籌備中

另外,期待有興趣的你和我一起完善和優化這個項目!

貢獻代碼

  1. fork本項目到自己的repo
  2. 把fork過去的項目也就是你倉庫中的項目clone到你的本地
  3. 修改代碼
  4. commit後push到自己的庫
  5. 發起PR(pull request) 請求,提交到dev分支
  6. 等待作者合併

致謝

在項目立項初期,也對當前開源圈的一些相同類型的項目作過調研,同時本項目也參考過這些項目,再次感謝開源圈內的朋友。

關於OAuth

關注&交流

公衆號 QQ羣

QQ羣

  • CollectiveOAuth交流羣 (836803890):專業交流該項目
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章