Google 登录 - GoogleIdTokenVerifier 延迟验证令牌

2024-01-29

我已经实现了从 Android 或 iOS 设备接收 Google 登录令牌并尝试验证它的后端。代码几个月前工作正常,没有改变,但最近开始拒绝所有无效令牌。当我在发布时间约 10 秒后尝试使用之前失败的令牌再次重复验证时,它开始工作并返回用户信息。为什么会发生这种情况?

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);
}

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Google 登录 - GoogleIdTokenVerifier 延迟验证令牌 的相关文章

随机推荐