İstemci Gizli Anahtarları

.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. Bir web uygulaması için örnek client_secrets.json dosyasını aşağıda görebilirsiniz:

{
  "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ü uygulamaların örnek bir client_secrets.json dosyasını aşağıda görebilirsiniz:

{
  "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"
  }
}

Biçim, iki istemci kimliği türünden birini tanımlar:

  • web: Web uygulaması.
  • installed: Yüklü uygulama.

web ve installed alt nesnelerin aşağıdaki zorunlu üyeleri vardır:

  • 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

Genel olarak, OAuth 2.0 uç noktası sağlayıcıları, hizmetlerini kullananların, bir kayıt sayfasından istemci kimliğini ve istemci gizli anahtarını kopyalayıp çalışma koduna yapıştırmasını beklerdi. Bu yöntem hataya açıktır ve OAuth 2.0'ı çalıştırmak için gerekli olan bilgiler hakkında eksik bilgi verir. (OAuth 2.0 ayrıca tüm uç noktaları bilmek ve bir yönlendirme URI'si yapılandırmak gerekir.) Servis sağlayıcılar indirilebilir client_secrets.json dosyaları sağlıyorsa ve istemci kitaplıkları bu dosyaları kullanmaya hazırsa OAuth 2.0'ı uygulamak daha kolay ve hata olasılığını azaltır.