尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
NewLife.Cube OAuth服务端搭建教程:微信、钉钉、GitHub等10+第三方登录一次配齐
NewLife.Cube OAuth服务端搭建教程微信、钉钉、GitHub等10第三方登录一次配齐【免费下载链接】NewLife.CubeWeb快速开发平台搭建管理后台灵活可扩展内部集成了用户权限管理、模板继承、SSO登录、OAuth服务端、数据导出与分享等多个功能模块在真实项目中经历过单表100亿数据添删改查的考验。项目地址: https://gitcode.com/gh_mirrors/ne/NewLife.CubeNewLife.Cube 是一款面向管理后台的 Web 快速开发平台内置完整的 OAuth 服务端与 SSO 单点登录能力既可以一键接入微信、钉钉、GitHub、QQ、企业微信等 10 第三方登录也能反过来把自己的系统包装成 OAuth 服务端为其他应用提供统一认证。本文带你从零开始用最少的代码把第三方登录和 OAuth 服务端一次配齐。一、先搞懂魔方扮演哪两个角色很多平台只能做其中一件事而 NewLife.Cube 把 OAuth 的客户端和服务端都做在了一个框架里角色说明典型场景 OAuth 客户端接入微信/钉钉/GitHub 等平台让用户用第三方账号登录你的系统公众号免登、钉钉免登、GitHub 登录开源后台️ OAuth 服务端你的系统签发授权码和令牌其他子系统靠它做单点登录多套业务系统共用一个登录中心也就是说接第三方登录是配一两张表的事变成登录中心是开几个接口的事全部在 NewLife.Cube/Controllers/SsoController.cs 中开箱即用无需自己实现授权码流程。二、三步启用微信、钉钉、GitHub 登录第 1 步克隆并运行魔方git clone https://gitcode.com/gh_mirrors/ne/NewLife.Cube打开解决方案运行 CubeDemo 项目首次启动会自动初始化数据库和用户。第 2 步打开 OAuth 配置页面登录后进入「系统管理 魔方设置 OAuth配置」。系统已预置好 QQ、GitHub、百度、钉钉、企业微信、微信公众号、微信开放平台、微软、新生命用户中心等常用渠道你只需补全密钥。上图即 OAuth 配置列表启用/可见/自动注册三列直接控制该渠道是否出现在登录页、新用户是否自动开户。第 3 步填入 AppId、Secret 与回调地址以三个最常见渠道为例微信在微信开放平台创建应用将 AppId、AppSecret 填入配置回调地址设为https://你的域名/Sso/LoginInfo/OpenWeixin扫码登录或/Sso/LoginInfo/Weixin公众号内静默登录钉钉填入企业应用的 AppId 与 SecretScope 可选snsapi_qrlogin扫码登录或snsapi_auth钉钉内免登GitHub创建 OAuth App 后填入 Client ID 与 Client Secret回调地址同样走/Sso/LoginInfo/Github。保存后勾选「启用」登录页立刻出现对应图标。每个渠道背后对应一个内置实现类如WeixinClient、DingTalkClient、GithubClient、QQClient等全部位于 NewLife.Cube/Web/OAuth/ 目录新增渠道无需写流程代码只配数据。三、11 个内置第三方登录渠道一览平台内置实现特色QQQQClientQQ 互联扫码微信公众号/开放平台/APP/小程序WeixinClient、OpenWeixinClient、WxAppClient、WxOpenClient静默登录、扫码、小程序 App 码登录全覆盖钉钉DingTalkClient支持免登企业内网利器企业微信QyWeiXin企业通讯录对接GitHubGithubClient开源项目常用微博 / 百度WeiboClient、BaiduClient传统社交登录支付宝 / 淘宝AlipayClient、TaobaoClient电商场景微软MicrosoftClientAzure AD 企业账号IdentityServer4Id4Client对接存量 SSO 中心另外还提供小程序/App 专用接口/Sso/WxMiniLogin与/Sso/WxAppLogin前端只需把wx.login()的 code 传过来即可完成登录。四、把魔方变成你的 OAuth 服务端如果你的公司有多套系统想共用一个登录中心魔方可以直接充当服务端。核心接口都在/Sso路由下完整说明见 Doc/OAUTH-OAuth与SSO.md接口作用/Sso/Authorize授权端点用户在此登录并同意授权返回授权码/Sso/Access_Token令牌端点子系统用授权码换取 Access Token/Sso/UserInfo用户信息端点用令牌获取当前用户/Sso/Auth2授权确认页/Sso/Logout单点登出子系统只需把授权地址指向你的魔方即可支持授权码、密码式、客户端凭证、刷新令牌等多种授权模式GrantTypes枚举定义见 NewLife.Cube/Entity/OAuth配置.Biz.cs。几点生产级细节新手也可以放心用授权码 1 分钟有效期且从正式发放起算过期后子系统会自动重新跳转授权用户几乎无感令牌有效期可配置TokenExpireMinutes刷新令牌支持 30 天级别续期每次授权、令牌交换都会写入OAuth 日志OAuthLog实体管理入口见 NewLife.Cube/Areas/Admin/Controllers/OAuthLogController.cs出问题可追溯。五、登录后用户怎么落地绑定策略详解第三方登录最终要落到系统本地用户上魔方提供了三种开箱即用的策略自动注册勾选「自动注册」后首次用第三方登录的用户会自动创建本地账号并写入头像配合「抓取头像」开关自动角色在「自动角色」中填写角色名多个用逗号隔开该渠道登录的用户自动获得对应权限非常适合给钉钉/企业微信渠道的用户预置一套最小权限手动绑定关闭自动注册后用户先本地密码登录再到个人中心的「账号绑定」中关联第三方账号管理入口为 NewLife.Cube/Areas/Admin/Controllers/UserConnectController.cs。配置实体本身也值得看一眼所有字段含义都写在注释里NewLife.Cube/Entity/OAuth配置.cs。六、常见问题FAQQ1登录页没出现某个第三方图标检查三项「启用」已勾选、「可见」已勾选、该租户下配置存在。微信公众号默认可见否因为它只用于应用内静默登录。Q2回调地址要写什么统一格式/Sso/LoginInfo/{渠道名}例如/Sso/LoginInfo/Ding。走反向代理时把外部域名填进配置的「应用地址」字段即可。Q3前后端分离部署要注意什么/Sso、/Auth等服务控制器不带/api前缀而实体/后台接口固定为/api/{area}/{controller}/{action}配置回调地址时别混淆。Q4多租户下第三方登录会串号吗不会。OAuth 配置带TenantId租户隔离浏览器跳转式与小程序 API 式登录都会按配置所属租户统一设置上下文租户互不可见。Q5想调试登录流程卡在哪一步把对应渠道的「调试」开关打开魔方会输出每一步的详细日志配合 OAuth 日志页面即可快速定位。小结NewLife.Cube 的 OAuth 能力可以概括为一句话第三方登录在后台填表就能开OAuth 服务端在接口层即插即用。配合用户绑定、自动角色、OAuth 日志与租户隔离从个人项目到多系统统一登录中心都能一份配置走天下。更多细节可参考官方文档 Doc/OAUTH-OAuth与SSO.md。【免费下载链接】NewLife.CubeWeb快速开发平台搭建管理后台灵活可扩展内部集成了用户权限管理、模板继承、SSO登录、OAuth服务端、数据导出与分享等多个功能模块在真实项目中经历过单表100亿数据添删改查的考验。项目地址: https://gitcode.com/gh_mirrors/ne/NewLife.Cube创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
RELATED

相关推荐

链表数据结构与面试算法精解

链表数据结构与面试算法精解

1. 链表数据结构基础与面试核心考察点链表作为计算机科学中最基础的数据结构之一,在技术面试中出现的频率居高不下。根据2023年Stack Overflow开发者调查,链表相关题目在算法面试中的出现率达到78%,仅次于数组类题目。与数组不同,…

📅 2026/9/13 0:51:13
京东研发岗笔试真题解析与备战策略

京东研发岗笔试真题解析与备战策略

1. 项目概述:京东研发岗笔试真题解析2026年4月4日的京东研发岗笔试,是互联网技术从业者进入头部电商企业的重要关卡。作为参与过多场大厂技术面试的面试官,我深知这类笔试的考察重点和解题套路。本次笔试延续了京东技术体系一贯的"场景驱…

📅 2026/8/29 4:34:18
AestheticDialogs 无障碍清单:48dp 触控目标、读屏语义与 200% 字体缩放的 8 项保障

AestheticDialogs 无障碍清单:48dp 触控目标、读屏语义与 200% 字体缩放的 8 项保障

AestheticDialogs 无障碍清单:48dp 触控目标、读屏语义与 200% 字体缩放的 8 项保障 【免费下载链接】AestheticDialogs 📱 An Android Library built with Jetpack Compose for 💫 fluid, 😍 beautiful, 🎨 custom Di…

📅 2026/10/10 4:38:43
MORE NEWS

更多资讯

📰

SE8NET视频开发链路实战:采集、编解码、传输、渲染与同步排障

1. 视频开发这件事,先别急着写代码我第一次接触视频开发,是从一个“把摄像头画面传到另一台设备上显示”的需求开始的。当时我的判断很简单:不就是采集、编码、发出去、再解出来画到屏幕上吗?结果真动手才发现,这条链路…

📰

输入法词库迁移实战:编码、去重与词频映射避坑指南

前段时间帮人折腾输入法换平台,前后经手了大概七八套词库,从桌面端换到开源框架,又从开源框架换回手机端。几乎每个人一开始都觉得这事很简单——导出、转换、导入,三步。真上手才发现,输入法词库迁移的麻烦根本不在&q…

📰

T型路口车辆自主通行决策算法设计与实践

1. 项目背景与核心挑战在城郊结合部和老旧城区,无信号灯控制的T型路口是交通事故高发区域。这类路口通常缺乏明确的通行规则,不同方向的车辆在交汇时容易产生"谁先走"的决策困境。我去年参与的一个智慧交通项目中,就遇到过三辆车在…

📰

GEO定位技术测评:主流方案对比与选型指南

1. GEO定位技术测评:从原理到实战的全方位解析作为一名在位置服务领域摸爬滚打多年的技术老兵,我深知GEO定位技术选型对项目成败的决定性影响。市面上各种定位方案鱼龙混杂,厂商宣传往往避重就轻。为此,我自费采购了五款主流定位产…

📰

Linux文本编辑器Vim与Gedit对比及高效使用指南

1. Linux文本编辑器选择:Vim与Gedit的定位差异在Linux环境下进行文本编辑是每个开发者必须掌握的基础技能。与Windows系统不同,Linux提供了从命令行到图形界面的多种编辑工具选择。作为有十年Linux系统管理经验的开发者,我强烈建议根据使用场…

📰

连续批处理Continuous Batching:大模型推理调度优化

大模型推理服务的吞吐量上不去,绝大多数时候不是模型本身的问题,而是调度策略把它拖住了。我见过不少团队在单卡上跑一个7B模型,显存明明还剩一大截,QPS却死死卡在个位数,调大batch size也没用——因为请求是一个一个来…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬