La libreria client delle API di Google per .NET utilizza
client_secrets.json
per l'archiviazione
client_id
, client_secret
e altri parametri OAuth 2.0.
client_secrets.json
il 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 non vengono usate dalla libreria client .NET.
Motivazione
Tradizionalmente, i provider di endpoint OAuth 2.0 si aspettavano
coloro che utilizzano i loro servizi per copiare e incollare l'ID client
e client secret da una pagina di registrazione a un codice funzionante.
Questo metodo è soggetto a errori e fornisce un'immagine incompleta
tutte le informazioni necessarie per il funzionamento di OAuth 2.0.
(OAuth 2.0 richiede anche la conoscenza di tutti gli endpoint,
e la configurazione di un URI di reindirizzamento.
Se i fornitori di servizi forniscono contenuti scaricabili client_secrets.json
e le librerie client sono preparate per utilizzare questi file,
l'implementazione di OAuth 2.0 sarà più semplice e meno soggetta a errori.