Codes secrets du client

La bibliothèque cliente des API Google pour .NET utilise des fichiers client_secrets.json pour stocker les paramètres client_id, client_secret et d'autres paramètres OAuth 2.0.

Un fichier client_secrets.json est un fichier au format JSON contenant l'ID client, le code secret du client et d'autres paramètres OAuth 2.0. Voici un exemple de fichier client_secrets.json pour une application Web:

{
  "web": {
    "client_id": "asdfjasdljfasdkjf",
    "client_secret": "1912308409123890",
    "redirect_uris": ["https://www.example.com/oauth2callback"],
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://accounts.google.com/o/oauth2/token"
  }
}

Voici un exemple de fichier client_secrets.json pour une application installée:

{
  "installed": {
    "client_id": "837647042410-75ifg...usercontent.com",
    "client_secret":"asdlkfjaskd",
    "redirect_uris": ["http://localhost"],
    "auth_uri": "https://accounts.google.com/o/oauth2/auth",
    "token_uri": "https://accounts.google.com/o/oauth2/token"
  }
}

Le format définit l'un des deux types d'ID client suivants:

  • web: application Web.
  • installed: application installée.

Les sous-objets web et installed comportent les membres obligatoires suivants:

  • client_id (chaîne): ID client.
  • client_secret (chaîne): code secret du client.

Tous les autres membres de ce fichier sont facultatifs, et la bibliothèque cliente .NET ne les utilise pas.

Motivation

Traditionnellement, les fournisseurs de points de terminaison OAuth 2.0 s'attendaient à ce que ceux qui utilisent leurs services copiaient et collent l'ID et le code secret du client depuis une page d'inscription dans un code fonctionnel. Cette méthode est sujette aux erreurs et donne une image incomplète des informations nécessaires au fonctionnement d'OAuth 2.0. OAuth 2.0 nécessite également de connaître tous les points de terminaison et de configurer un URI de redirection. Si les fournisseurs de services fournissent des fichiers client_secrets.json téléchargeables et que les bibliothèques clientes sont prêtes à utiliser ces fichiers, l'implémentation d'OAuth 2.0 sera plus facile et moins sujette aux erreurs.