You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在SpringBoot项目中使用Firebase向手机号发送OTP验证码

Firebase 短信OTP功能与Spring Boot集成实现方案

前置说明

你项目已经完成了Firebase谷歌、Facebook账号认证集成,所以Firebase Admin SDK的基础初始化配置已经存在,不需要重新做底层配置,直接复用现有配置即可。

实现步骤

  • 依赖引入
    如果你还没在pom.xml中引入Firebase Admin SDK依赖,添加如下配置,已引入可直接跳过:
    <dependency>
        <groupId>com.google.firebase</groupId>
        <artifactId>firebase-admin</artifactId>
        <version>9.2.0</version> <!-- 可替换为最新稳定版本 -->
    </dependency>
    
  • OTP发送逻辑实现
    1. 先在Firebase控制台的「Authentication」-「登录提供程序」页面,开启电话登录选项,完成基础配置(可自定义短信模板、发送方标识)
    2. 服务端接收用户传入的手机号后,先将手机号转换为 E.164标准格式(例:+8613800138000),调用Firebase Auth的generateSignInWithPhoneNumber方法,传入手机号参数
    3. 方法会返回对应的sessionInfo参数,将该参数与用户请求标识绑定存储到服务端缓存(如Redis),Firebase会自动触发短信OTP发送到对应手机号
  • OTP校验逻辑实现
    1. 接收用户提交的OTP验证码,取出缓存中对应用户的sessionInfo参数,调用Firebase Auth的verifyPhoneNumber方法传入两个参数做校验
    2. 校验返回成功即可确认用户身份合法,走后续业务逻辑;校验失败返回错误提示给用户即可

调试&生产注意事项

  • 开发阶段可在Firebase控制台电话登录配置页添加测试手机号和固定测试OTP,调试时不会实际发送短信,不占用配额
  • Firebase免费版有每日短信发送配额限制,生产环境上线前需提前评估用量,按需调整配额避免超量导致发送失败
  • 若在国内使用该能力,需提前确认短信内容、发送主体符合国内通信监管的合规要求

内容的提问来源于stack exchange,提问作者wandermonk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 17:15:03