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.