Аутентификация Firebase не работает на Java (jvm) (Desktop) - PullRequest
0 голосов
/ 29 января 2019

Я создаю настольное программное обеспечение (Java), которое подключается к Firebase.

Я могу отлично создать пользователя с помощью программного обеспечения (оно отображается на странице пользователя Firebase Project в том виде, в котором оно было создано), но когда я пытаюсьчтобы аутентифицировать этого пользователя (используя то же программное обеспечение), я получаю сообщение об ошибке от сервера.

Независимо от того, как я пытаюсь войти (я использую Firebase.authWithPassword и Firebase.authWithCustomToken), но оба не 't работа.

Я видел множество примеров видео и учебных пособий, использующих 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: Ожидается идентификатор токена, но ему присвоен собственный токен.

AUTH ERROR -> -7

При использовании аутентификации по электронной почте / паролю (firebase.authWithPassword (userMail, userPass, authResultHandler) я получаю эту ошибку:

AUTHОШИБКА -> FirebaseError: Ошибка при аутентификации.

ОШИБКА AUTH -> -999

[PS. Вход на Email / Pass включен на странице аутентификации Firebase]

1 Ответ

0 голосов
/ 30 января 2019

Думаю, я понял, что происходит.

Я использую Java (jvm) для создания этого интерфейса рабочего стола, для создания пользователей и входа в них.

используемая мной библиотека firebase-admin-6.7.0.jar.

Я заметил, что в других библиотеках (например, для android, js) метод аутентификации пользователя находится в FIREBASE.AUTH (илипохоже) ...

В Java (jvm) lib есть класс FIREBASEAUTH (который очень похож в методах на FIREBASE.AUTH в других библиотеках), но нет таких методов, как SIGNINWITHCUSTOMTOKEN или SIGNINWITHEMAIL в нем (как в firebase.auth в других языках libs)

У класса FirebaseAuth (jvm) есть метод для создания пользователей, но нет метода для их аутентификации(как и аналогичные библиотеки в других языках)

Единственный метод аутентификации пользователей, который я нашел, находится в классе FIREBASE, который имеет методы, такие как Firebase.createUser, и методы входа в систему, такие как Firebase.authWithCustomToken, Firebase.authWithPassword., firebase.authAnonimously и другие (они не в FirebaseAuth классе) ...

Итак, для создания пользователя существует два класса с одним и тем же методом, Firebase.createUser (который не работает) и FirebaseAuth.createUser (который отлично работает).

Я полагаю, что в jvm lib есть ошибка, методы аутентификации пользователей не существуют в классе FirebaseAuth, вместо этого они находятся в Firebase классе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...