J'essaie d'implémenter un processus qui combine la connexion Google côté client (page Web) avec la vérification côté serveur et l'interrogation des données utilisateur (serveur Java).API Google pour la connexion Web et l'interrogation des données utilisateur
Ce que je l'ai fait:
Dans Google console développeur, a ajouté une OAuth 2.0 des informations d'identification ID client.
Implémenter la connexion sur la page Web et obtenir le jeton d'identification après une connexion réussie.
Implémenté l'authentification avec un serveur principal comme expliqué ici: https://developers.google.com/identity/sign-in/web/backend-auth. Cette partie fonctionne également et je peux vérifier l'authentification et obtenir l'adresse e-mail de l'utilisateur.
Ce que je dois faire est maintenant obtenir les informations relatives au profil de l'utilisateur, à savoir d'abord et nom et accéder au dossier de l'application, pour stocker des données d'application pertinentes.
Ceci est mon code de serveur. J'ai marqué la partie où j'ai besoin d'aide:
GoogleIdTokenVerifier verifier = new GoogleIdTokenVerifier.Builder(HTTP_TRANSPORT, JSON_FACTORY)
.setAudience(Arrays.asList(service.getClientId()))
.build();
GoogleIdToken idToken = null;
try {
idToken = verifier.verify(token); // token is the ID token received from the client
} catch (GeneralSecurityException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
if (idToken != null) {
GoogleIdToken.Payload payload = idToken.getPayload();
payload.getEmail() <== This works
/*
Here I need to query Google API per the available application scopes: profile, app storage etc.
*/
}
Est-il possible d'utiliser l'API à ce stade? Si non, puis-je demander un jeton d'accès ici? Devrais-je utiliser l'ID de client ou ai-je besoin d'un autre type de données d'identification (comme une clé API ou un compte de service)?
Merci @agektmr. J'ai à peu près compris. Mon code client a l'air un peu différent, mais fondamentalement fait la même chose. On dirait que j'ai l'habitude d'utiliser un bouton normal au lieu du bouton de connexion de Google, à savoir déposer l'étiquette:
– burgi