Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firebase身份验证不支持';t在Java(jvm)上工作(桌面)_Java_Firebase_Javafx_Firebase Authentication - Fatal编程技术网

Firebase身份验证不支持';t在Java(jvm)上工作(桌面)

Firebase身份验证不支持';t在Java(jvm)上工作(桌面),java,firebase,javafx,firebase-authentication,Java,Firebase,Javafx,Firebase Authentication,我正在构建一个连接Firebase的桌面软件(Java) 我可以使用该软件完美地创建一个用户(它在Firebase项目用户页面上的显示与创建的完全相同),但当我尝试验证该用户(使用相同的软件)时,服务器会出错 无论我如何尝试登录(我使用的是Firebase.authWithPassword和Firebase.authWithCustomToken),但两者都不起作用 我看过大量使用Web或Android的视频和教程示例(很容易做到),但没有一个使用Java jvm,甚至在Firebase文档中也

我正在构建一个连接Firebase的桌面软件(Java)

我可以使用该软件完美地创建一个用户(它在Firebase项目用户页面上的显示与创建的完全相同),但当我尝试验证该用户(使用相同的软件)时,服务器会出错

无论我如何尝试登录(我使用的是Firebase.authWithPassword和Firebase.authWithCustomToken),但两者都不起作用

我看过大量使用Web或Android的视频和教程示例(很容易做到),但没有一个使用Java jvm,甚至在Firebase文档中也没有(他们有Android和Web示例,但没有Java),因此我不确定我是否做对了。我正在遵循文档,但它不起作用

有什么想法吗

String customToken =     FirebaseAuth.getInstance().createCustomToken(uid);
System.out.println("CUSTOM TOKEN >> " + customToken);

Firebase firebase = new Firebase(projectURL);

//firebase.authWithCustomToken(customToken, authResultHandler);
firebase.authWithPassword(userMail, userPass, authResultHandler);
使用CustomToken(firebase.authWithCustomToken(CustomToken,authResultHandler))我得到了这个错误(我使用的是一个自定义标记,它是在创建用户时使用给定的UID创建的(使用FirebaseAuth.getInstance().createCustomToken(UID))

AUTH ERROR->FirebaseError:应为ID令牌,但为其提供了自定义令牌

验证错误->-7

使用电子邮件/密码验证(firebase.authWithPassword(userMail、userPass、authResultHandler),我得到以下错误:

身份验证错误->FirebaseError:身份验证时出错

验证错误->-999


[PS.在Firebase身份验证页面中启用电子邮件/通行证登录]

我想我知道发生了什么

我正在使用Java(jvm)构建这个桌面界面,用于创建用户和登录用户

我使用的库是
firebase-admin-6.7.0.jar。

我注意到,在其他libs中(例如,对于android、js),验证用户身份的方法是在
FIREBASE.AUTH
(或类似内容)

在Java(jvm)库中,有一个类
FIREBASEAUTH
(在方法上与其他库中的
FIREBASE.AUTH
非常相似),但没有像
SIGNINWITHCUSTOMTOKEN
SIGNINWITHEMAIL
这样的方法(如其他语言库中的
FIREBASE.AUTH

FirebaseAuth(jvm)确实有创建用户的方法,但没有对用户进行身份验证的方法(类似于其他语言中的类似LIB)

我找到的唯一验证用户身份的方法是类
FIREBASE
,它有
FIREBASE.createUser
等方法,还有
FIREBASE.authWithCustomToken
FIREBASE.authWithPassword
FIREBASE.authanonnimaly
等登录方法(它们不在
FirebaseAuth
类中)

因此,要创建一个用户,有两个类使用相同的方法,
Firebase.createUser
(wich不工作)和
FirebaseAuth.createUser
(wich工作正常)

我相信jvm库中有一个bug,用于验证用户的方法不存在于类
FirebaseAuth
中,而是存在于
Firebase
类中