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

╄→尐↘猪︶ㄣ 提交于 2020-02-26 16:03:40

 

Login-OAuth2, so easy.

查看更多


特别感谢

JustAuth:这里特别感谢JustAuth开源项目作者提供架构思路(特别是Readme大部分来自于JustAuth,本人比较懒)

.Net平台下 CollectiveOAuth,它仅仅是一个 第三方授权登录工具类库,它可以让我们脱离繁琐的第三方登录SDK,让登录变得So easy!

特点

废话不多说,就俩字:

  1. :已集成十多家第三方平台(国内外常用的基本都已包含),仍然还在持续扩展中([开发计划(制作中)]!
  2. :API就是奔着最简单去设计的(见后面快速开始),尽量让您用起来没有障碍感!

快速开始

  • 引入依赖

  • 配置授权信息(默认配置在webconfig中, 可以改造存储数据库或者其它任意地方)

1 <!--Demo: 微信服务号授权配置-->
2 <add key="CollectiveOAuth_WECHAT_MP_ClientId" value="wxer6785660834656" />
3 <add key="CollectiveOAuth_WECHAT_MP_ClientSecret" value="98967867678678678546434345344" />
4 <add key="CollectiveOAuth_WECHAT_MP_Scope" value="snsapi_userinfo" />
5 <add key="CollectiveOAuth_WECHAT_MP_RedirectUri" value="https://yours.domain.com/oauth2/callback?authSource=WECHAT_MP" />

 

  • 调用api
// 创建授权request
 1 var clientConfig = new ClientConfig();
 2 clientConfig.clientId = AppSettingUtils.GetStrValue($"CollectiveOAuth_XXXXXX_ClientId");
 3 clientConfig.clientSecret = AppSettingUtils.GetStrValue($"CollectiveOAuth_XXXXXX_ClientSecret");
 4 clientConfig.redirectUri = AppSettingUtils.GetStrValue($"CollectiveOAuth_XXXXXX_RedirectUri");
 5 clientConfig.scope = AppSettingUtils.GetStrValue($"CollectiveOAuth_XXXXXX_Scope");
 6 
 7 AuthRequest authRequest = new GiteeAuthRequest(clientConfig);
 8 // 生成授权页面
 9 authRequest.authorize("state");
10 // 授权登录后会返回code(auth_code(仅限支付宝))、state,可以用AuthCallback类作为回调接口的参数
11 // 注:CollectiveOAuth默认保存state的时效为5分钟,5分钟内未使用则会自动清除过期的state
12 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. 等待作者合并

致谢

在项目立项初期,也对当前开源圈的一些相同类型的项目作过调研,同时本项目也参考过这些项目,再次感谢开源圈内的朋友。

图片引用自lets-mica

关于OAuth

关注&交流

公众号 QQ群

QQ群

  • CollectiveOAuth交流群 (836803890):专业交流该项目

请喝咖啡

支付宝 微信

开源不求盈利,多少都是心意,生活不易,随缘随缘……

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!