社交登录配置指南
本文档详细介绍如何在 LangChat Pro 中配置各个社交登录平台。请按照对应平台的步骤完成配置。目录
企业微信登录
1. 注册企业微信账号
访问 企业微信官网 注册企业账号。2. 创建应用
- 登录企业微信管理后台
- 进入「应用管理」→「自建应用」
-
点击「创建应用」
-
填写应用信息:
- 应用名称:LangChat
- 应用Logo:上传应用Logo
- 应用描述:AI应用平台登录
-
创建完成后,记录以下信息:
- AgentId(应用ID)
- Secret(应用密钥)
3. 获取企业ID
- 在企业微信管理后台
- 进入「我的企业」→「企业信息」
- 记录「CorpId(企业ID)」
4. 配置授权回调域
- 进入应用详情页
- 点击「API权限」
- 在「授权回调域」中添加:
- 开发环境:
http://localhost:8100 - 生产环境:
https://your-domain.com
- 开发环境:
注意:如上三个位置配置域名和信任IP,这里只需要配置域名即可不需要配置具体的回调地址 其中,信任IP是当前项目所在的公网/局域网IP地址(如果没有配置,后端授权会报错返回IP)
5. 后端配置
在application.yml 或对应环境配置文件中添加:
常见问题
Q: 扫码后页面无反应? A: 检查以下配置:- CorpId、AgentId、Secret 是否正确
- redirect_uri 是否URL编码
- 回调域是否添加到授权域名列表
- 应用是否已发布
- 进入应用详情页
- 点击「API权限」
- 确保已申请「成员读取权限」和「用户读取权限」
微信开放平台登录
1. 注册微信开放平台账号
访问 微信开放平台 注册开发者账号。2. 完成开发者认证
- 进入「账号中心」→「开发者资质认证」
- 填写企业信息并上传营业执照
- 完成微信支付认证(需要300元认证费)
3. 创建网站应用
- 进入「管理中心」→「创建网站应用」
- 填写应用信息:
- 应用名称:LangChat
- 应用Logo:上传应用Logo
- 应用简介:AI应用平台
- 官网地址:https://your-domain.com
- 提交审核(审核时间约7个工作日)
4. 获取应用凭证
审核通过后,记录以下信息:- AppID(应用唯一标识)
- AppSecret(应用密钥)
5. 配置授权回调域
- 进入应用详情页
- 点击「开发配置」
- 在「授权回调域」中添加:
- 开发环境:
localhost:8100 - 生产环境:
your-domain.com
- 开发环境:
6. 后端配置
常见问题
Q: 提示”redirect_uri域名与后台配置不一致”? A: 检查以下内容:- redirect_uri 是否URL编码
- 回调域是否精确匹配(不含路径)
- 是否在正确的开放平台账号下创建的应用
钉钉登录
1. 注册钉钉开发者账号
访问 钉钉开放平台 注册开发者账号。参考官网文档配置:https://open.dingtalk.com/document/development/obtain-identity-credentials
2. 创建应用
- 进入「应用开发」→「企业内部应用」→「钉钉应用」
-
点击「创建应用」
-
填写应用信息:
- 应用名称:LangChat
- 应用Logo:上传Logo
- 应用描述:AI应用平台
-
创建完成后,记录以下信息:
- AppKey
- AppSecret
3. 安全设置
- 进入「钉钉应用」→「开发配置」→「安全配置」
- 添加「重定向URL」:
- 服务器出口IP:公网/局域网IP
- 重定向URL:
https://your-domain.com/social-login/callback/dingtalk
注意:这里和企微一样要设置回调地址和IP
4. 申请权限
在「权限管理」中申请以下权限:Contact.User.mobileContact.User.Read
5. 后端配置
6. 发布应用
最重要的一点,配置好应用后,一定要发布应用,保证此应用是 已上线 的状态
常见问题
Q: 扫码后提示”应用未上架”? A: 钉钉要求应用必须先发布才能在移动端使用:- 在应用详情页点击「版本管理」
- 创建新版本并填写版本信息
- 提交审核并发布
阿里云短信登录
1. 注册阿里云账号
访问 阿里云官网 注册账号。2. 产品选择:短信服务 vs 号码认证服务
在阿里云中,有两个容易混淆的产品,需要注意区分:2.1 短信服务(SMS)
| 特性 | 说明 |
|---|---|
| 产品地址 | https://dysms.console.aliyun.com/overview |
| 包名 | com.aliyun:dysmsapi20170525 |
| API | SendSms、SendBatchSms |
| 特点 | 发送实际短信,每条收费约0.045元 |
| 场景 | 验证码、通知短信、营销短信 |
| 要求 | 需要企业认证、签名+模板CODE |
2.2 号码认证服务(PHN/PNS)
| 特性 | 说明 |
|---|---|
| 产品地址 | https://dypns.console.aliyun.com/overview |
| 包名 | com.aliyun:dypnsapi20170525 |
| API | SendSmsVerifyCode、GetSmsVerifyCode |
| 特点 | 阿里云随机号码发送,验证本机(免费/低价) |
| 场景 | 本机号码一键登录、短信验证码 |
| 要求 | 签名+模板CODE,无需复杂认证 |
2.3 对比总结
| 对比项 | 短信服务(dysmsapi) | 号码认证服务(dypnsapi) |
|---|---|---|
| 收费方式 | 按条收费(约0.045元/条) | 按次计费(更便宜) |
| 发送方号码 | 需添加企业号码 | 阿里云随机号码 |
| 企业认证 | 需要 | 不需要 |
| 模板审核 | 需要 | 需要 |
| 推荐场景 | 营销通知 | 验证码登录 |
当前项目默认使用号码认证服务(dypnsapi),因为它更适合验证码场景,无需复杂的企业认证。
3. 切换到短信服务(dysmsapi)
如果业务需要使用短信服务(dysmsapi),请按以下步骤修改代码:3.1 修改 pom.xml 依赖
3.2 修改代码(SmsLoginStrategy.java)
3.3 修改 API 调用
3.4 注意事项
- 模板变量:短信服务的模板变量格式可能与号码认证服务不同,请以阿里云控制台模板为准
- 手机号格式:短信服务可能需要带国家码(如
86前缀) - API 响应:两种服务的响应结构不同,需要相应调整解析逻辑
4. 获取账号的 Key
点击右上角头像获取 KEY
4. 后端配置
5. 验证码有效期配置
在application.yml 中配置验证码有效期:
6. API调用限制
阿里云短信服务有调用频率限制:| 限制项 | 普通用户 | 企业用户 |
|---|---|---|
| 短信发送频率 | 1条/秒 | 10条/秒 |
| 每日发送量 | 200条 | 无限制 |
| 月度配额 | 5000条 | 按需购买 |
常见问题
Q: 提示”签名不存在或未审核通过”? A: 检查签名名称是否与审核通过的完全一致,包括大小写。 Q: 提示”模板未审核通过”? A: 确保模板类型选择「验证码」,且模板内容符合规范。 Q: 收不到短信? A: 按以下顺序排查:- 检查手机号是否正确
- 检查短信是否被拦截
- 查看阿里云控制台「业务统计」中的发送记录
- 确认账户余额充足
邮件登录
1. 选择邮件服务
LangChat 支持两种邮件登录方式: 方式一:直接使用现有邮箱(SMTP) 使用任意支持SMTP的邮箱服务(QQ邮箱、网易邮箱、企业邮箱等)。 方式二:使用邮件服务API(推荐企业用户)- 阿里云邮件推送
- 腾讯企业邮
- SendGrid
- Amazon SES
2. SMTP配置(以QQ邮箱为例)
- 登录QQ邮箱
- 进入「设置」→「账户」
- 找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务」
- 开启「IMAP/SMTP服务」
- 发送短信验证
- 生成授权码(记录此授权码作为密码)
3. 阿里云邮件推送配置
- 进入「邮件推送」产品页
- 点击「立即开通」
- 进入「发信域名」添加域名
- 配置域名DNS解析(添加SPF和DKIM记录)
- 进入「发信地址」创建发信地址
- 记录AccessKey和AccessKeySecret
4. 后端配置
5. 验证码有效期配置
常见问题
Q: 收不到邮件? A: 检查以下内容:- 检查垃圾邮件箱
- 确认邮箱地址正确
- 检查SMTP配置是否正确
- 确认发件人域名未在黑名单中
环境变量统一管理
方式一:环境变量文件
在服务器或开发环境设置环境变量:方式二:.env文件(开发环境)
在langchat-bootstrap 目录下创建 .env 文件:
安全建议
1. 敏感信息保护
- 不要将 AppSecret、AccessKey 等敏感信息提交到代码仓库
- 使用环境变量或配置中心管理敏感信息
- 定期轮换密钥(建议每3个月)
2. 网络安全
- 生产环境启用 HTTPS
- 配置 IP 白名单限制 API 访问
- 使用防火墙限制数据库访问
3. 业务安全
- 限制验证码发送频率(同一手机号/邮箱1分钟1次)
- 限制同一 IP 的请求频率
- 记录登录日志便于审计
监控与告警
建议监控指标
- 社交登录成功率
- 各平台登录次数分布
- 验证码发送失败率
- API 调用失败日志
告警规则建议
- 登录成功率低于 95% 时告警
- 验证码发送失败率高于 5% 时告警
- API 调用异常激增时告警

