Rahasia Klien

Library klien Google API untuk .NET menggunakan file client_secrets.json untuk menyimpan client_id, client_secret, dan parameter OAuth 2.0 lainnya.

File client_secrets.json adalah file berformat JSON yang berisi client ID, rahasia klien, dan parameter OAuth 2.0 lainnya. Berikut adalah contoh file client_secrets.json untuk aplikasi 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"
  }
}

Berikut adalah contoh file client_secrets.json untuk aplikasi terinstal:

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

Format ini menetapkan salah satu dari dua jenis client ID:

  • web: Aplikasi web.
  • installed: Aplikasi terinstal.

Sub-objek web dan installed memiliki anggota wajib berikut:

  • client_id (string): Client ID.
  • client_secret (string): Rahasia klien.

Semua anggota lain dari file ini bersifat opsional dan library klien .NET tidak menggunakannya.

Motivasi

Secara tradisional, penyedia endpoint OAuth 2.0 mengharapkan pihak yang menggunakan layanannya untuk menyalin dan menempelkan client ID dan rahasia klien dari halaman pendaftaran ke dalam kode yang berfungsi. Metode ini rentan terhadap error dan memberikan gambaran yang tidak lengkap tentang informasi yang diperlukan agar OAuth 2.0 berfungsi. (OAuth 2.0 juga mengharuskan mengetahui semua endpoint dan mengonfigurasi URI pengalihan.) Jika penyedia layanan menyediakan file client_secrets.json yang dapat didownload, dan library klien siap memakai file ini, maka penerapan OAuth 2.0 akan lebih mudah dan tidak terlalu rentan mengalami error.