Codes secrets du client

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

client_secrets.json Le fichier est au format JSON contenant l'ID du 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:

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

Les sous-objets web et installed ont 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 ont attendu ceux qui utilisent leurs services pour copier et coller l'ID client et le code secret du client à partir d'une page d'inscription en code fonctionnel. Cette méthode est sujette aux erreurs et donne une image incomplète nécessaires au bon fonctionnement d'OAuth 2.0. (OAuth 2.0 nécessite également de connaître tous les points de terminaison, et en configurant un URI de redirection.) Si les fournisseurs de services proposent des client_secrets.json téléchargeables fichiers et bibliothèques clientes sont prêts à les consommer, alors l'implémentation d'OAuth 2.0 sera plus facile et moins sujette aux erreurs.