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.