Clientschlüssel

Die Google API-Clientbibliothek für .NET verwendet client_secrets.json-Dateien zum Speichern von client_id, client_secret und andere OAuth 2.0-Parameter.

Ein client_secrets.json Datei ist eine Datei im JSON-Format. mit der Client-ID, dem Clientschlüssel und anderen OAuth 2.0-Parametern. Hier ist eine client_secrets.json-Beispieldatei für eine Webanwendung:

{
  "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"
  }
}

Hier ist eine client_secrets.json-Beispieldatei für eine installierte Anwendung:

{
  "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"
  }
}

Mit dem Format wird einer von zwei Client-ID-Typen definiert:

  • web: Webanwendung.
  • installed: Installierte Anwendung.

Die Unterobjekte web und installed haben die folgenden obligatorischen Mitglieder:

  • client_id (String): Die Client-ID.
  • client_secret (String): Der Clientschlüssel.

Alle anderen Mitglieder dieser Datei sind optional und werden von der .NET-Clientbibliothek nicht verwendet.

Motivation

Traditionell haben Anbieter von OAuth 2.0-Endpunkten Nutzer, die ihre Dienste nutzen, um die Client-ID zu kopieren und einzufügen und den Clientschlüssel von einer Registrierungsseite in funktionierenden Code umwandeln. Diese Methode ist fehleranfällig und liefert ein unvollständiges Bild der Informationen, die für OAuth 2.0 erforderlich sind. OAuth 2.0 erfordert außerdem, alle Endpunkte zu kennen, und einen Weiterleitungs-URI konfigurieren) Wenn der Anbieter client_secrets.json zum Download zur Verfügung stellt -Dateien und Clientbibliotheken bereit sind, diese Dateien zu verarbeiten. ist die Implementierung von OAuth 2.0 einfacher und weniger fehleranfällig.