# 手机短信验证配置 本项目使用阿里云号码认证服务(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`。