@Service public class GoogleLoginService { protected Logger logger = LoggerFactory.getLogger(this.getClass()); public String verify(String idtokenString) { GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(new NetHttpTransport(), JacksonFactory.getDefaultInstance()) // Specify the CLIENT_ID of the app that accesses the backend: .setAudience(Collections.singletonList("48173XXXXXX-cp7ftvgtk50qoXXXXXXXXXX.apps.googleusercontent.com")) // Or, if multiple clients access the backend: //.setAudience(Arrays.asList(CLIENT_ID_1, CLIENT_ID_2, CLIENT_ID_3)) .build(); // (Receive idTokenString by HTTPS POST) GoogleIdToken idToken = null; try { idToken = verifier.verify(idtokenString); } catch (GeneralSecurityException | IOException e) { e.printStackTrace(); } if (idToken != null) { } else return ""; Payload payload = idToken.getPayload(); // Print user identifier String userId = payload.getSubject(); logger.info("Google User ID: {}", userId); // Get profile information from payload String email = payload.getEmail(); boolean emailVerified = payload.getEmailVerified(); String name = (String) payload.get("name"); String pictureUrl = (String) payload.get("picture"); String userLocale = (String) payload.get("locale"); String familyName = (String) payload.get("family_name"); String givenName = (String) payload.get("given_name"); //{"aud":"*******-*******fica2daig6o2j.apps.googleusercontent.com", // "azp":"*******-*******6l5832penvmjsf6rrc.apps.googleusercontent.com", // "email":"*******@gmail.com", // "email_verified":true, // "exp":16*******575,"iat":161*******4975,"iss":"https://accounts.google.com", // "sub":"113*******824269","name":"***", // "picture":"https://l*******w/s96-c/photo.jpg", // "given_name":"*","family_name":"*","locale":"zh-CN"} logger.info("google payload = {}", payload); return userId; // Use or store profile information } }
注意修改CLIENT_ID,谷歌google登录回验
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)