Tie*_*Van 5 firebase firebase-authentication firebase-realtime-database
在旧版本的Firebase中,我们可以获取经过身份验证的令牌,以便在我们的应用扩展程序之间进
但是当升级到Firebase 3.0时,该功能不再起作用.我使用了getTokenWithCompletion:在FIRUser上,然后在我的App扩展中,我调用signInWithCustomToken:completion:使用我刚获得的令牌.但是Firebase会在回复时返回错误:
错误域= FIRAuthErrorDomain代码= 17000"自定义令牌格式不正确.请查看文档." UserInfo = 0x799b6010 {error_name = ERROR_INVALID_CUSTOM_TOKEN,NSLocalizedDescription =自定义标记格式不正确.请查看文档.}
如何从FIRUser获取身份验证令牌以在我的App扩展中重新验证它?
小智 2
今天早上我在 Android 上升级到最新版本的 Firebase 时遇到了同样的问题。为了解决这个问题,我必须将 Firebase Server SDK 更新到版本 3.0+
这是一个 Java 后端实现,但这同样适用于 NodeJS。
<dependency>
<groupId>com.google.firebase</groupId>
<artifactId>firebase-server-sdk</artifactId>
<version>[3.0.0,)</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
在新的 Firebase Server SDK 中,您必须首先使用生成的 JSON 文件初始化 Firebase 应用程序。(在新的 Firebase 控制台的权限下找到)然后您可以生成 JWT 令牌。
FirebaseOptions options = new FirebaseOptions.Builder()
.setServiceAccount(new FileInputStream("path/to/json/file.json"))
.setDatabaseUrl("https://myapp.firebaseio.com/")
.build();
FirebaseApp.initializeApp(options);
String token = FirebaseAuth.getInstance().createCustomToken("userID");
Run Code Online (Sandbox Code Playgroud)
以这种方式生成的令牌允许我使用新的signInWithCustomToken()方法。
您可以在这里阅读更多信息: https: //firebase.google.com/docs/auth/server
希望这可以帮助
归档时间: |
|
查看次数: |
4890 次 |
最近记录: |