Login-OAuth2, so easy.
特别感谢
JustAuth:这里特别感谢JustAuth开源项目作者提供架构思路(特别是Readme大部分来自于JustAuth,本人比较懒)
.Net平台下 CollectiveOAuth,它仅仅是一个 第三方授权登录的工具类库,它可以让我们脱离繁琐的第三方登录SDK,让登录变得So easy!
特点
废话不多说,就俩字:
- 全:已集成十多家第三方平台(国内外常用的基本都已包含),仍然还在持续扩展中([开发计划(制作中)]!
-
简: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列表
_请知悉:经咨询CSDN官方客服得知,CSDN的授权开放平台已经下线。如果以前申请过的应用,可以继续使用,但是不再支持申请新的应用。
后续开发计划
正在筹备中
另外,期待有兴趣的你和我一起完善和优化这个项目!
贡献代码
- fork本项目到自己的repo
- 把fork过去的项目也就是你仓库中的项目clone到你的本地
- 修改代码
- commit后push到自己的库
- 发起PR(pull request) 请求,提交到
dev
分支 - 等待作者合并
致谢
在项目立项初期,也对当前开源圈的一些相同类型的项目作过调研,同时本项目也参考过这些项目,再次感谢开源圈内的朋友。
- JustAuth: Java 第三方登录授权 SDK
- 阿里妈妈MUX倾力打造的矢量图标库-iconfont: 本文档中的图标大部分取自该平台
- 感谢 JetBrains 提供的免费开源 License:
关于OAuth
关注&交流
公众号 | QQ群 |
---|---|
QQ群
- CollectiveOAuth交流群 (836803890):专业交流该项目
请喝咖啡
支付宝 | 微信 |
---|---|
开源不求盈利,多少都是心意,生活不易,随缘随缘……