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

如何通过无密码登录链接获取JWT Token?第三方API集成方案

无密码登录方案可行性及JWT Token获取方案

可行性结论

无密码登录方案完全可行,且能满足你的所有需求:无需B公司额外配置、不暴露用户名/密码字段、基于邮箱的无密码流程适配性强。

具体实现步骤(基于Google Identity Toolkit原生能力)

从B公司使用的接口可以判断,其依赖的是Google Identity Toolkit服务,直接利用该服务的无密码认证接口即可实现,无需依赖Firebase:

1. 触发邮箱验证流程

收集用户邮箱后,向Google Identity Toolkit的标准接口发起POST请求,触发无密码登录邮件发送:

POST https://identitytoolkit.googleapis.com/v1/accounts:sendOobCode?key=AIz..4E
Content-Type: application/json

{
  "requestType": "SIGNIN_EMAIL_LINK",
  "email": "user@example.com"
}

该接口是Google Identity Toolkit的原生能力,B公司只要已经在用signInWithPassword接口,就默认开通了此功能,无需额外配置。

2. 捕获验证链接并交换Token

用户点击邮件中的验证链接后,链接会携带oobCode参数。通过App链接/Universal Link在你的App中捕获该参数,然后调用以下接口交换JWT Token:

POST https://identitytoolkit.googleapis.com/v1/accounts:signInWithEmailLink?key=AIz..4E
Content-Type: application/json

{
  "email": "user@example.com",
  "oobCode": "用户链接中携带的oobCode值"
}

接口返回结果里的idToken就是你需要的JWT认证Token。

3. 验证Token(可选)

如果需要确保Token有效性,可调用B公司正在使用的查询接口做校验:

POST https://identitytoolkit.googleapis.com/v1/accounts:lookup?key=AI..4E
Content-Type: application/json

{
  "idToken": "eyJhbGciOiJSUz...KFQ"
}

验证通过后,即可在调用B公司其他API时携带该idToken完成认证。

方案优势

  • 零B公司配置成本:所有接口均为Google Identity Toolkit标准接口,B公司无需修改任何代码或配置,完全符合“减少端侧配置工作量”的要求。
  • 合规性达标:全程不展示用户名/密码输入字段,仅收集用户邮箱,满足你的合规限制。
  • 无额外依赖:无需引入Firebase SDK或第三方服务,直接通过HTTP接口实现,避免依赖风险。

替代方案(可选)

若邮箱流程不符合交互需求,可改用短信验证码无密码登录,流程逻辑一致:

  1. 收集用户手机号,调用sendOobCode接口(requestType设为PHONE_SIGNIN)
  2. 用户输入验证码后,调用verifyPhoneNumber接口获取idToken

该方案同样无需B公司额外配置,合规性一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 01:00:21