Мы используем Firebase для аутентификации нашего процесса входа в систему, в бэкэнде у нас есть реализация Rest API для проверки того, что токен передается.
Я изменил файл .json и еще раз проверил его в своей базе кода.Я извлек весь процесс генерации токена из UID, и вот как это выглядит:
public void initialization(){
try {
FileInputStream refreshToken = new FileInputStream("c02955c26b.json");
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredentials(GoogleCredentials.fromStream(refreshToken))
.setDatabaseUrl("https://164d0.firebaseio.com")
.build();
String uid = "Lp14BXL3xPVW7K8VZX28omynbWx1";
FirebaseAuth firebaseAuth= FirebaseAuth.getInstance(FirebaseApp.initializeApp(options));
System.out.println(" "+firebaseAuth); --> I see this on the console
String customToken = firebaseAuth.createCustomToken(uid);
System.out.println(" "+customToken);
FirebaseToken decodedToken = firebaseAuth.verifyIdToken(customToken);
String uidTranspose = decodedToken.getUid();
System.out.println(" the UID sent is"+uid+"Obtained after transpose is"+uidTranspose);
System.out.println(" the UID captured is this "+uid);
}
catch(Error e){
System.out.println(" "+e.getLocalizedMessage());
e.printStackTrace();
}
finally{
System.out.println("Finally comes here ");
}
}
Где-то при нажатии на создание токена элемент управления переходит непосредственно в блок finally;без регистрации ошибки или исключения.
Я не уверен, что мне здесь чего-то не хватает.
Редактировать 1: отредактировано, чтобы добавить полный код.
Редактировать 2: Я вижу, как создается токен.но я не могу проверить то же самое;потому что он говорит, что это пользовательский токен, а не Id токен.Я не уверен, могу ли я получить доступ к Id-токену или есть способ проверить пользовательский токен.