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

标签 java firebase

我正在尝试一些 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/

相关文章:

ios - Object = nil,但代码仍然在 if 语句中执行

firebase - AngularFire2 支持更新用户凭据吗?

java - 为什么 HashMap 中的不可变对象(immutable对象)如此有效?

java - 如何在 Android Studio 中从 Firebase 中删除推送 key 数据

java - Apache http客户端不存在。错误

java - 无法从 Firebase Recycler Adapter android java 中的模型检索数据数组项

java - Spring IoC/DI 中接口(interface)使用 @Component 注解进行注解。可能是什么原因?

java - “启动配置”的位置>> tomcat中的环境变量

swift - Firestore 跨多个字段查询相同的值

java - Lcom/google/firebase/FirebaseApp 类中没有虚方法 zzbqo()Z;或其父类(super class)( 'com.google.firebase.FirebaseApp' 的声明