29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
# 手机短信验证配置
|
||
|
||
本项目使用阿里云号码认证服务(PNVS)的服务端短信认证 API:
|
||
|
||
- `SendSmsVerifyCode` 发送并由阿里云生成验证码
|
||
- `CheckSmsVerifyCode` 校验验证码
|
||
|
||
注册页支持邮箱验证和短信验证二选一。短信验证用户可以使用手机号和密码登录;邮箱验证用户可以使用邮箱和密码登录。
|
||
|
||
## 阿里云控制台准备
|
||
|
||
1. 开通号码认证服务中的短信认证功能。
|
||
2. 创建专用 RAM 用户 AccessKey,只授予 `dypns:SendSmsVerifyCode` 和 `dypns:CheckSmsVerifyCode` 权限。
|
||
3. 在短信认证配置中取得系统赠送的签名名称和验证码模板 Code。签名和模板必须来自同一套 PNVS 资源。
|
||
4. 确认短信认证服务有可用套餐或余额。
|
||
|
||
## 服务端环境变量
|
||
|
||
```env
|
||
PHONE_VERIFICATION_ENABLED=true
|
||
ALIBABA_CLOUD_ACCESS_KEY_ID=...
|
||
ALIBABA_CLOUD_ACCESS_KEY_SECRET=...
|
||
ALIYUN_PNVS_SCHEME_NAME=
|
||
ALIYUN_PNVS_SIGN_NAME=控制台中的签名名称
|
||
ALIYUN_PNVS_TEMPLATE_CODE=控制台中的模板Code
|
||
```
|
||
|
||
AccessKey 只能写入服务器受保护的环境文件,不要提交到 Git,也不要放入前端环境变量。当前实现使用中国大陆手机号和国家码 `86`。
|