İ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. 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.