为什么 Java 中的 Firebase 用户身份验证的 CredentialStore 警告?
Why CredentialStore warning for Firebase user authentication in Java?
我正在尝试一些 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!
这是指什么?当它提到持久性时,它是指应用程序会话期间的持久性,还是应用程序连续 运行 之间的持久性?我该如何解决这个警告?
这是代码——它基于 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 应用程序上下文 - 此上下文用于在应用程序重新启动时自动保留身份验证状态 .
使用 vanilla Firebase JVM SDK 时,身份验证状态不会自动保留,因为没有默认机制可以在应用程序重新启动时保留此状态。如果您不在乎拥有该授权。状态自动持久化,可以忽略警告。或者,您可以实现 Firebase CredentialStore
接口,但对于服务器进程,这可能不需要。
我正在尝试一些 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!
这是指什么?当它提到持久性时,它是指应用程序会话期间的持久性,还是应用程序连续 运行 之间的持久性?我该如何解决这个警告?
这是代码——它基于 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 应用程序上下文 - 此上下文用于在应用程序重新启动时自动保留身份验证状态 .
使用 vanilla Firebase JVM SDK 时,身份验证状态不会自动保留,因为没有默认机制可以在应用程序重新启动时保留此状态。如果您不在乎拥有该授权。状态自动持久化,可以忽略警告。或者,您可以实现 Firebase CredentialStore
接口,但对于服务器进程,这可能不需要。