Firebase 不接受从 Google Identity Platform 的 REST API 获取的 JWT:'The custom token format is incorrect.'



我正试图在我的Flutter项目中启用多因素身份验证,该项目仅针对web平台。据我所知,FlutterFire SDK的最新版本不支持MFA。这就是为什么我尝试使用谷歌身份平台API将该功能添加到我的应用程序中。

我已经可以从REST API获取令牌,但当将其传递给signInWithCustomToken((方法时,我总是得到以下错误:"自定义令牌格式不正确…">

以下是我尝试登录用户的方式:

  1. 使用http包发布到https://identitytoolkit.googleapis.com/v1/accounts:signInWithPassword
  2. 通过过帐到启动MFAhttps://identitytoolkit.googleapis.com/v2/accounts/mfaSignIn:start
  3. 从发送到用户电话号码的信息中获取短信验证码
  4. 张贴到https://cloud.google.com/identity-platform/docs/reference/rest/v2/accounts.mfaSignIn/finalize使用SMS验证码
  5. 从响应主体获取idToken
  6. 将获取的idToken传递给FirebaseAuth.signInWithCustomToken()方法

查看这个Firebase文档,我从GIP REST API获得的令牌的格式似乎有所不同。

我能做些什么让Firebase SDK接受我从Google Identity Platform REST API获得的令牌吗?

FirebasesignInWithCustomToken()方法采用由Admin SDK生成的令牌,而不是Google Identity令牌。

GCIP(Google Cloud Identity Platform(返回的令牌与Firebase使用的Auth ID令牌相同。在调用finalizeMfa之后,您基本上已经登录到Firebase,如果您开始使用SDK,您将看到它在没有任何转换的情况下可以工作。

相关内容

  • 没有找到相关文章

最新更新