La biblioteca cliente de las API de Google para .NET usa archivos client_secrets.json
a fin de almacenar client_id
, client_secret
y otros parámetros de OAuth 2.0.
Un archivo client_secrets.json
es un archivo con formato JSON que contiene el ID de cliente, el secreto del cliente y otros parámetros de OAuth 2.0.
Este es un archivo client_secrets.json
de ejemplo para una aplicación 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" } }
Este es un archivo client_secrets.json
de ejemplo para una aplicación instalada:
{ "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" } }
El formato define uno de estos dos tipos de ID de cliente:
web
: Aplicación web.installed
: Aplicación instalada.
Los subobjetos web
y installed
tienen los siguientes miembros obligatorios:
-
client_id
(string): Es el ID de cliente. -
client_secret
(string): El secreto del cliente.
Todos los demás miembros de este archivo son opcionales y la biblioteca cliente de .NET no los usa.
Motivación
Tradicionalmente, los proveedores de extremos de OAuth 2.0 esperan que quienes usan sus servicios copien y peguen el ID y el secreto del cliente de una página de registro en un código que funcione.
Este método es propenso a errores y proporciona una imagen incompleta de la información que se necesita para que OAuth 2.0 funcione.
(OAuth 2.0 también requiere conocer todos los extremos y configurar un URI de redireccionamiento).
Si los proveedores de servicios proporcionan archivos client_secrets.json
descargables y las bibliotecas cliente están preparadas para consumir esos archivos, implementar OAuth 2.0 será más fácil y menos propenso a errores.