gpt4 book ai didi

java - 为什么 CredentialStore 对 Java 中的 Firebase 用户身份验证发出警告?

转载 作者:行者123 更新时间:2023-12-02 04:33:44 25 4
gpt4 key购买 nike

我正在尝试一些 Firebase 示例,特别是如何在 Java(标准 JDK,而不是 Android)中对用户进行身份验证。

每次运行代码时,我都会从(我推测)Firebase API 收到这些警告:

Sun Jun 28 14:29:58 BST 2015 [WARN] CredentialStore: Using no-op credential store. Not persisting credentials! If you want to persist authentication, please use a custom implementation of CredentialStore.
authenticated ok!

这指的是什么?当它提到持久性时,是指应用程序 session 期间的持久性,还是指应用程序连续运行之间的持久性?如何解决此警告?

以下是代码 - 它基于 Firebase 指南上的示例(请注意,帐户详细信息已被遮挡):

package firebase_reader;

import com.firebase.client.AuthData;
import com.firebase.client.Firebase;
import com.firebase.client.FirebaseError;
import java.util.logging.Level;
import java.util.logging.Logger;
public class main
{
public static void main(String[] args)
{
final Firebase fbref = new Firebase("https://XXX.firebaseio.com/");

Firebase.AuthResultHandler authResultHandler = new Firebase.AuthResultHandler()
{
@Override
public void onAuthenticated(AuthData authData)
{
System.out.print("authenticated ok!\n");;
}

@Override
public void onAuthenticationError(FirebaseError firebaseError)
{

System.out.print("auth failed:" + firebaseError);
}
};

fbref.authWithPassword("YYY", "ZZZ", authResultHandler);

try
{
while (true) { Thread.sleep(10000); }
} catch (InterruptedException ex)
{
Logger.getLogger(main.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

最佳答案

使用 Firebase Android SDK 时,实例化 Firebase 客户端时需要 Android 应用程序上下文 - 此上下文用于在应用程序重新启动时自动保留身份验证状态。

使用普通 Firebase JVM SDK 时,身份验证状态不会自动保留,因为没有默认机制可以在应用程序重新启动时保留此状态。如果您不介意拥有该授权。状态自动持续,您可以忽略该警告。或者,您可以实现 Firebase CredentialStore 接口(interface),但对于服务器进程来说,这可能不需要。

关于java - 为什么 CredentialStore 对 Java 中的 Firebase 用户身份验证发出警告?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31100917/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com