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

Firebase身份认证创建用户后,如何用Ruby客户端生成并发送邮箱验证链接?

结论

完全可以通过Ruby客户端实现该需求,调用对应接口后会直接复用你在Firebase控制台配置好的邮件模板发送,无需自行开发邮件发送和模板渲染逻辑。


实现步骤

你当前用的google-apis-identitytoolkit_v3库已经封装了对应能力,只需要在创建用户后追加OOB码请求逻辑即可:

  1. 创建用户时接住返回的用户ID和邮箱信息
  2. 构造OOB(Out Of Band)操作码请求,指定操作类型后调用接口即可触发Firebase自动发邮件

完整代码示例

require 'google/apis/identitytoolkit_v3'

service_account = "./firebase-auth.json"

service = Google::Apis::IdentitytoolkitV3::IdentityToolkitService.new
service.authorization = Google::Auth::ServiceAccountCredentials.make_creds(
  json_key_io: File.open(service_account),
  scope: 'https://www.googleapis.com/auth/identitytoolkit'
)

# 创建用户逻辑
request = Google::Apis::IdentitytoolkitV3::SignupNewUserRequest.new(
  email: 'sample@example.com',
  email_verified: false
)
# 接住创建成功后返回的用户信息
user_resp = service.signup_new_user(request)
user_id = user_resp.local_id
user_email = user_resp.email

# 发送免密登录链接请求,Firebase自动使用控制台配置的模板发邮件
oob_request = Google::Apis::IdentitytoolkitV3::GetOobCodeRequest.new(
  # 要发送邮箱验证链接的话,把下面的参数值改成 VERIFY_EMAIL 即可
  request_type: 'PASSWORDLESS_SIGNIN',
  email: user_email,
  user_id: user_id,
  # 可选配置:登录/验证完成后跳转的业务地址,按需填写
  continue_url: 'https://你的业务域名.com/登录后跳转路径'
)

service.get_oob_code(oob_request)

补充说明

  • request_type字段控制邮件类型,除了免密登录、邮箱验证外,还支持密码重置等类型,所有类型都会匹配你在Firebase控制台对应分类下配置的模板内容
  • 接口调用后所有邮件发送逻辑都由Firebase处理,包括发件人地址、模板变量替换、国际化适配等,和其他官方语言SDK的调用效果完全一致

内容的提问来源于stack exchange,提问作者Shun.Tagami

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:54:03