La libreria client delle API di Google per .NET utilizza i file client_secrets.json
per archiviare client_id
, client_secret
e altri parametri OAuth 2.0.
Un file client_secrets.json
è un file in formato JSON contenente l'ID client, il client secret e altri parametri OAuth 2.0.
Ecco un file client_secrets.json
di esempio per un'applicazione 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" } }
Ecco un file client_secrets.json
di esempio per un'applicazione installata:
{ "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" } }
Il formato definisce uno dei due tipi di ID client:
web
: applicazione web.installed
: applicazione installata.
Gli oggetti secondari web
e installed
hanno
i seguenti membri obbligatori:
-
client_id
(stringa): l'ID client. -
client_secret
(stringa): il client secret.
Tutti gli altri membri di questo file sono facoltativi e la libreria client .NET non li utilizza.
Motivazione
Tradizionalmente, i provider di endpoint OAuth 2.0 si aspettano che chi utilizza i propri servizi copi e incolli l'ID client e il client secret da una pagina di registrazione nel codice funzionante.
Questo metodo è soggetto a errori e fornisce un'immagine incompleta delle informazioni necessarie per il funzionamento di OAuth 2.0.
OAuth 2.0 richiede inoltre di conoscere tutti gli endpoint e di configurare un URI di reindirizzamento.
Se i fornitori di servizi forniscono file client_secrets.json
scaricabili e le librerie client sono pronte per utilizzare questi file, l'implementazione di OAuth 2.0 sarà più semplice e meno soggetta a errori.