У меня есть серверное приложение, и я пытаюсь идентифицировать пользователя, который в данный момент зарегистрировался на этом сервере. Я успешно прошел проверку подлинности пользователя на моем веб-приложение, как это:Firebase Verifying ID Tokens
var provider = new firebase.auth.GoogleAuthProvider();
firebase.auth().signInWithPopup(provider).then(function(result) {
userJsonToken = result.credential.accessToken;
user = result.user;
}).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// The email of the user's account used.
var email = error.email;
// The firebase.auth.AuthCredential type that was used.
var credential = error.credential;
});
Я тогда отправить userJsonToken к моему серверу через вызов Ajax, и я могу видеть маркер, когда я отладки, так что маркер быть правильно направляется в сервер.
В моем серверном приложении я делаю это:
try (InputStream is = FirebaseUtil.class.getClassLoader().getResourceAsStream(FIREBASE_CREDENTIALS_JSON_FILE)) {
FirebaseOptions options = new FirebaseOptions.Builder().setServiceAccount(is).setDatabaseUrl(FIREBASE_DATABASE_URL).build();
FirebaseApp.initializeApp(options);
} catch (IOException e) {
e.printStackTrace(System.err);
}
Тогда я:
FirebaseAuth.getInstance().verifyIdToken(idToken).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(Exception ex) {
throw new AuthenticationServiceException(ex.getMessage(), ex);
}
}).addOnSuccessListener(new OnSuccessListener<FirebaseToken>() {
@Override
public void onSuccess(FirebaseToken token) {
System.out.println("Yeehaw");
}
}).addOnCompleteListener(new OnCompleteListener<FirebaseToken>() {
@Override
public void onComplete(Task<FirebaseToken> arg0) {
System.out.println(arg0.isSuccessful());
}
});
На данный момент, OnFailureListener становится называется. Я получаю исключение java.lang.IllegalArgumentException без каких-либо объяснений о том, почему и что произошло. В любом случае, я могу видеть журналы на Firebase, которые проливают свет на то, что произошло? Благодаря
Это полная ошибка:
Caused by: java.lang.IllegalArgumentException
at com.google.api.client.repackaged.com.google.common.base.Preconditions.checkArgument(Preconditions.java:111)
at com.google.api.client.util.Preconditions.checkArgument(Preconditions.java:37)
at com.google.api.client.json.webtoken.JsonWebSignature$Parser.parse(JsonWebSignature.java:602)
at com.google.firebase.auth.FirebaseToken.parse(FirebaseToken.java:81)
at com.google.firebase.auth.FirebaseAuth$1.call(FirebaseAuth.java:143)
at com.google.firebase.auth.FirebaseAuth$1.call(FirebaseAuth.java:140)
at com.google.firebase.tasks.Tasks$1.run(Tasks.java:63)
Вы когда-нибудь находили разрешение на это? Теперь я тоже вижу ту же ошибку, и я смущен тем, как ее отлаживать, учитывая, что исключение не дает никакой информации вообще – RvPr