Cette page de référence documente les points de terminaison et les interfaces proposés par Google que votre application utilise lors du processus d'association de compte basée sur OAuth.
Conditions préalables et normes
Pour interagir correctement avec ces points de terminaison Google, votre intégration doit respecter les normes suivantes :
- OAuth 2.0 : conforme à la RFC 6749.
- Jetons Web JSON (JWT) : conformes à la norme RFC 7519 (pour l'association simplifiée et RISC).
- Jetons d'événement de sécurité : conformes à la RFC 8417 (pour RISC).
- HTTPS : toutes les requêtes doivent être effectuées via une connexion HTTPS sécurisée.
URI de redirection OAuth
Point de terminaison vers lequel votre service redirige le navigateur de l'utilisateur une fois l'authentification et l'autorisation réussies. Le paramètre de chemin d'accès YOUR_PROJECT_ID correspond à l'ID que vous configurez lors de l'enregistrement.
- URL :
https://oauth-redirect.googleusercontent.com/r/YOUR_PROJECT_ID URL du bac à sable :
https://oauth-redirect-sandbox.googleusercontent.com/r/YOUR_PROJECT_IDMéthode :
GET(à l'aide de la redirection du navigateur)
Paramètres de requête
Lorsque vous redirigez l'utilisateur vers Google, des paramètres doivent être ajoutés à l'URL. Selon le flux OAuth utilisé, ces paramètres sont mis en forme sous forme de chaîne de requête (flux de code d'authentification) ou de fragment d'URL (flux implicite).
| Paramètre | Description |
|---|---|
code |
(Obligatoire pour le flux de code d'autorisation) Code d'autorisation généré par votre service. |
state |
(Obligatoire) Valeur d'état non modifiée reçue initialement de Google. |
access_token |
(Obligatoire pour le flux implicite) Jeton d'accès à longue durée de vie généré par votre service. |
token_type |
(Obligatoire pour le flux implicite) Doit être bearer. |
Réponses d'erreur
Si la requête envoyée à l'URI de redirection OAuth est incorrecte, vous recevrez une erreur HTTP 400 (requête incorrecte). Le corps de la réponse contient un objet JSON avec la structure suivante :
| Champ | Description |
|---|---|
sendPostBody |
Détermine si le code JS doit rediriger vers redirectUri avec POST. Généralement false dans ce scénario. |
errorMessage |
Message d'erreur à afficher au client lorsque la redirection ne peut pas être effectuée. Pour les fragments manquants, il s'agit de "A URI fragment or query string must be set.". |
Réponses d'erreur OAuth 2.0
Si l'utilisateur refuse de donner son consentement ou si votre service rencontre une erreur, votre service doit rediriger l'utilisateur vers l'URI de redirection OAuth avec les paramètres d'erreur OAuth 2.0 standards (tels que error=access_denied). Google traitera ces paramètres et affichera un écran d'erreur approprié à l'utilisateur.
API RISC (facultative)
Utilisé par votre service pour informer de manière proactive Google lorsqu'un utilisateur dissocie son compte sur votre plate-forme à l'aide du protocole RISC, ce qui permet aux deux plates-formes de rester synchronisées.
- URL :
https://risc.googleapis.com/v1/events:publish - Méthode :
POST - Authentification : nécessite un jeton de compte de service Google avec les autorisations appropriées.
- Content-Type :
application/json
Revendications des jetons d'événement de sécurité
Les jetons d'événement de sécurité que vous utilisez pour informer Google des événements de révocation de jeton doivent respecter les exigences du tableau suivant :
| Récupérer | Description |
|---|---|
iss |
Revendication de l'émetteur : il s'agit d'une URL que vous hébergez et qui est partagée avec Google lors de l'enregistrement. |
aud |
Revendication d'audience : identifie Google comme destinataire du jeton JWT. Elle doit être définie sur google_account_linking. |
jti |
Revendication de l'ID JWT : il s'agit d'un ID unique que vous générez pour chaque jeton d'événement de sécurité. |
iat |
Revendication "Émis à" : il s'agit d'une valeur NumericDate qui représente l'heure à laquelle ce jeton d'événement de sécurité a été créé. |
toe |
Heure de la réclamation d'événement : il s'agit d'une valeur NumericDate facultative qui représente l'heure à laquelle le jeton a été révoqué. |
exp |
Revendication de délai d'expiration : n'incluez pas ce champ, car l'événement à l'origine de cette notification a déjà eu lieu. |
events |
Revendication d'événements de sécurité : il s'agit d'un objet JSON qui ne doit inclure qu'un seul événement de révocation de jeton contenant les champs suivants :
|
Pour en savoir plus sur les types et formats de champs, consultez Jeton Web JSON (JWT).
Interface "Retourner pour couper le son" d'App Flip
Pour App Flip, votre application mobile doit renvoyer le code d'autorisation ou le jeton d'accès à l'application Google.
Android (résultat d'intent)
Votre application est ouverte à l'aide d'un intent. Une fois le consentement obtenu, il se termine et renvoie un résultat à Google. Pour en savoir plus, consultez le guide d'implémentation Android.
- Action :
com.google.android.gms.auth.CODE_AVAILABLE - Extras :
code,state,access_token,token_type.
iOS (schéma d'URL personnalisé et liens universels)
Votre application ouvre Google à l'aide d'un schéma d'URL personnalisé ou d'un lien universel HTTPS. Pour en savoir plus, consultez le guide d'implémentation iOS.
- Format :
<return_url>?code=AUTHORIZATION_CODE&state=STATE_STRING