/CollectiveOAuth

.Net平台(C#) 史上最全的整合第三方登录的开源库 => 环境支持 .NET Framework 4.5 ~ 4.6.2 和 .NetCore 3.1。目前已包含Github、Gitee、钉钉、百度、支付宝、微信、企业微信、腾讯云开发者平台(Coding)、OSChina、微博、QQ、Google、Facebook、抖音、领英、小米、微软、今日头条、Teambition、StackOverflow、Pinterest、人人、华为、酷家乐、Gitlab、美团、饿了么、等第三方平台的授权登录。以下平台正在接入中: 推特、淘宝 收起

Primary LanguageC#GNU Affero General Public License v3.0AGPL-3.0

Login-OAuth2, so easy.

查看更多

特别说明

本项目在原作者基础上将方法命名全部改为了PascalCase规则。

版本更新

  • 2020-02-01 重新构建类库 => 现支持 .NET Framework 4.5 ~ 4.6.2.NetCore 3.1

开发计划

  • 添加 推特、淘宝 三方授权
  • 重构.NetCore 3.1环境下缓存使用方式
  • ...

特别感谢

JustAuth:这里特别感谢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
GiteeAuthRequest 参考文档
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):专业交流该项目

请喝咖啡

支付宝 微信

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