Grettings. Ich implementiere eine Firebase-Authentifizierung für meine mobile App mit einem benutzerdefinierten Back-End (Spring Boot). Ich authentifiziere mich erfolgreich in Facebook, indem ich firebase in der mobilen App verwende => ich möchte Benutzerinformationen in der DB meines Backends speichern (nicht Firebase).FirebaseAuth JAVA (Springboot) Verify Token
Stuck, um den Token-Verifikationsfehler zu debuggen.
Token Prüfung - fast genauso wie in google doc:
try {
FirebaseToken decodedToken = Tasks.await(
FirebaseAuth.getInstance().verifyIdToken(info.getToken()));
} catch (ExecutionException | InterruptedException | IllegalArgumentException e) {
logger.error(e.getMessage());
}
einen Fehler bekommen: java.lang.IllegalArgumentException
und kann nicht/debug herausfinden, was es verursacht.
in Verbindung stehend - Feuerbasis config:
@Configuration
public class FirebaseConfig {
private final static Logger logger = LogManager.getLogger(FirebaseConfig.class.getName());
@Value("classpath:firebase_config.json")
private Resource firebase_config;
@PostConstruct
public void init() throws IOException {
FileInputStream serviceAccount = new FileInputStream(firebase_config.getFile());
FirebaseOptions options = new FirebaseOptions.Builder()
.setCredential(FirebaseCredentials.fromCertificate(serviceAccount))
.setDatabaseUrl("https://******-81233.firebaseio.com")
.build();
FirebaseApp.initializeApp(options);
logger.info("Firebase init done");
}
}
UPDATE: hinzugefügt:
FirebaseAuth.getInstance().verifyIdToken(info.getToken()).addOnFailureListener(e -> {
System.err.println("Error verifying token: " + e.getMessage());
});
der Fehler i ist einfach null
bekommen, die isn; t etwas zu sagen darüber Herkunft ist.
Zuerst fügen Sie bitte den gesamten Traceback hinzu. Sie könnten entweder die Anforderung mit 'Tasks.wait ( FirebaseAuth.getInstance(). VerifyIdToken (info.getToken()));' oder explizit mit 'FirebaseAuth.getInstance(). VerifyIdToken (info.getToken())). addOnFailureListener (Throwable :: printStackTrace); ' – soon
Stellen Sie dann sicher, dass Ihr Token dem Format entspricht. Sie können sich die Methode 'com.google.api.client.json.webtoken.JsonWebSignature $ Parser.parse' (JsonWebSignature.java:599 in meinen Quellen) ansehen - sie enthält eine Vorbedingungsprüfung und schlägt mit' IllegalArgumentException' mit 'fehl Null-Nachricht, wenn das Token keinen Punkt enthält – soon