A biblioteca de cliente de APIs do Google para usos em .NET
client_secrets.json
para armazenar o
client_id
, client_secret
e outros parâmetros do OAuth 2.0.
Um client_secrets.json
está no formato JSON
que contém o ID e a chave secreta do cliente, além de outros parâmetros do OAuth 2.0.
Veja aqui um exemplo de arquivo client_secrets.json
para um aplicativo da 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" } }
Veja um exemplo de arquivo client_secrets.json
para um aplicativo instalado:
{ "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" } }
O formato define um dos dois tipos de ID do cliente:
web
: aplicativo da Web.installed
: aplicativo instalado.
Os subobjetos web
e installed
têm
os seguintes membros obrigatórios:
-
client_id
(string): o ID do cliente. -
client_secret
(string): a chave secreta do cliente.
Todos os outros membros desse arquivo são opcionais e a biblioteca de cliente .NET não os utiliza.
Motivação
Tradicionalmente, provedores de endpoints OAuth 2.0 esperam
as pessoas que usam seus serviços para copiar e colar o ID do cliente
e a chave secreta do cliente de uma página de registro para um código de trabalho.
Esse método é propenso a erros e fornece uma imagem incompleta
das informações necessárias para que o OAuth 2.0 funcione.
O OAuth 2.0 também requer o conhecimento de todos os endpoints,
e configurar um URI de redirecionamento.)
Se os provedores de serviços oferecerem client_secrets.json
para download
e bibliotecas de cliente estão preparadas para consumir esses arquivos,
implementar o OAuth 2.0 será mais fácil e menos propenso a erros.