.NET için Google API'leri istemci kitaplığı client_id
, client_secret
ve diğer OAuth 2.0 parametrelerini depolamak için client_secrets.json
dosyaları kullanır.
client_secrets.json
dosyası; istemci kimliği, istemci gizli anahtarı ve diğer OAuth 2.0 parametrelerini içeren JSON biçimli bir dosyadır.
Web uygulaması için örnek client_secrets.json
dosyası:
{ "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" } }
Yüklü bir uygulama için örnek client_secrets.json
dosyası:
{ "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" } }
Bu biçim, iki istemci kimliği türünden birini tanımlar:
web
: Web uygulaması.installed
: Yüklü uygulama.
web
ve installed
alt nesnelerinde aşağıdaki zorunlu üyeler bulunur:
-
client_id
(dize): İstemci kimliği. -
client_secret
(dize): İstemci gizli anahtarı.
Bu dosyanın diğer tüm üyeleri isteğe bağlıdır ve .NET istemci kitaplığı bunları kullanmaz.
Motivasyon
OAuth 2.0 uç noktalarının sağlayıcıları geleneksel olarak, hizmetlerini kullananlardan istemci kimliğini ve istemci gizli anahtarını bir kayıt sayfasından kopyalayıp çalışan bir koda yapıştırmasını beklerdi.
Bu yöntem hataya açıktır ve OAuth 2.0'ın çalışması için gereken bilgilerin eksik bir resmini verir.
(OAuth 2.0 ayrıca tüm uç noktaların bilinmesini ve yönlendirme URI'sinin yapılandırılmasını gerektirir.)
Servis sağlayıcılar indirilebilir client_secrets.json
dosyaları sağlarsa ve istemci kitaplıkları bu dosyaları kullanmaya hazırsa OAuth 2.0'ın uygulanması daha kolay olur ve hata olasılığını azaltır.