[英]Firebase authentication doesn't work on Java(jvm) (Desktop)
我正在构建连接到Firebase的桌面软件(Java)。
我可以使用该软件完美地创建用户(它在Firebase Project用户页面上完全按照创建的方式显示),但是当我尝试对该用户进行身份验证(使用相同的软件)时,我从服务器收到错误消息。
无论我如何尝试登录(我正在使用Firebase.authWithPassword和Firebase.authWithCustomToken),但两者均无法正常工作。
我看过很多使用Web或Android的视频和教程示例(很容易做到),但是没有使用Java jvm的视频和教程示例,甚至在Firebase Docs中也没有(他们有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)构建此桌面界面,以便创建用户并登录他们。
我正在使用的lib是firebase-admin-6.7.0.jar.
我注意到在其他库(例如,对于android,js)中,用于验证用户身份的方法在FIREBASE.AUTH
(或类似方法)...
在Java(JVM)lib中,有一类FIREBASEAUTH
(这是在方法非常相似FIREBASE.AUTH
在其他库),但没有这样的方法,如SIGNINWITHCUSTOMTOKEN
或SIGNINWITHEMAIL
它(在firebase.auth
在其他语言库)
FirebaseAuth (jvm)类确实具有创建用户的方法,但没有用于验证用户身份的方法(如其他语言中的类似库)
我发现对用户进行身份验证的唯一方法是在FIREBASE
类中,该类具有Firebase.createUser
之类的方法以及Firebase.authWithCustomToken
, Firebase.authWithPassword
, firebase.authAnonimously
等其他登录方法(它们不在FirebaseAuth
类中)。 。
因此,要创建一个用户,有两个具有相同方法的类,即Firebase.createUser
(无法正常工作)和FirebaseAuth.createUser
(可正常工作)。
我相信jvm lib中存在一个错误,用于验证用户身份的方法不在类FirebaseAuth
,而是在Firebase
类中。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.