Google Anmelden - GoogleIdTokenVerifier überprüft das Token mit Verzögerung

Ich habe ein Back-End implementiert, das das Google-Anmeldetoken von einem Android- oder iOS-Gerät empfängt und versucht, es zu überprüfen. Code hat vor ein paar Monaten richtig funktioniert, er hat sich nicht geändert, aber seit kurzem werden alle Tokens als ungültig zurückgewiesen. Wenn ich versuche, die Überprüfung mit einem zuvor fehlgeschlagenen Token nach ca. 10 Sekunden Ausstellungszeit erneut zu wiederholen, funktioniert das Programm und gibt Benutzerinformationen zurück. Warum passiert das

try {
    GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(new NetHttpTransport(), new JacksonFactory()).setIssuer(ISSUER).build();

    GoogleIdToken idToken = verifier.verify(token);

    if (idToken != null) {

        Payload payload = idToken.getPayload();
        ExternalUserInfo externalUserInfo = new ExternalUserInfo();
        externalUserInfo.setId((String) payload.getSubject());
        externalUserInfo.setName((String) payload.get("given_name"));
        externalUserInfo.setFamilyName((String) payload.get("family_name"));
        externalUserInfo.setEmail(payload.getEmail());
        externalUserInfo.setLocale((String) payload.get("locale"));
        externalUserInfo.setSystemId(AuthorizationMapper.TYPE_GOOGLE);

        return externalUserInfo;
    } else { 
        logger.debug("Invalid Google Sign in token " + token);
    }
} catch (Exception e) {
    logger.error("Error while getting Google Sign in user info for token " + token, e);
}

Antworten auf die Frage(0)

Ihre Antwort auf die Frage