La biblioteca cliente de las APIs de Google para .NET usa
client_secrets.json
para almacenar
client_id
, client_secret
y otros parámetros de OAuth 2.0.
Un client_secrets.json
sea un archivo con formato JSON
que contenga el ID de cliente, el secreto de 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 .NET no las usa.
Motivación
Tradicionalmente, los proveedores de extremos de OAuth 2.0 esperaban
quienes usan sus servicios para copiar y pegar el ID de cliente
de registro y de cliente desde 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 necesaria para hacer funcionar OAuth 2.0.
(OAuth 2.0 también requiere conocer todos los endpoints,
y configurar un URI de redireccionamiento).
Si los proveedores de servicios ofrecen client_secrets.json
descargables
y las bibliotecas cliente están preparadas
para consumir estos archivos
entonces, la implementación de OAuth 2.0 será más fácil y menos propensa a errores.