Menggunakan akun layanan dengan Chrome Web Store API

Chrome Web Store API mendukung autentikasi menggunakan Akun Layanan Google Cloud. Akun layanan adalah akun khusus non-manusia yang dirancang untuk interaksi server ke server, sehingga ideal untuk mengotomatiskan alur kerja publikasi ekstensi Anda, seperti di pipeline CI/CD atau layanan backend lainnya. Kredensial ini dapat mengizinkan penggunaan API tanpa perlu melalui alur OAuth dengan keterlibatan langsung pengguna.

Dengan menautkan akun layanan ke Dasbor Developer Chrome Web Store, Anda memberikan otoritas kepada akun layanan tersebut untuk mengelola item yang dimiliki oleh akun penayang Anda.

Penyiapan

Pertama, kita akan menyiapkan akun layanan dan memberinya akses ke Chrome Web Store API.

Mengaktifkan Chrome Web Store API

  1. Buka Google Cloud Console.
  2. Buat project baru atau pilih project yang sudah ada.
    Buat project baru di Konsol Google.
    Buat project baru di Konsol Google.
  3. Di kotak penelusuran, ketik "Chrome Web Store API".
  4. Aktifkan Chrome Web Store API.

Membuat akun layanan

Menambahkan akun layanan baru di Konsol Google Cloud.
Menambahkan akun layanan baru di Konsol Google Cloud.

Buat akun layanan di Konsol Google Cloud. Anda tidak perlu menambahkan izin apa pun ke akun layanan pada tahap ini.

Menambahkan akun layanan di Dasbor Developer

Menambahkan akun layanan baru di Dasbor Developer.
Menambahkan akun layanan baru di Dasbor Developer.

Beri akun layanan Anda akses ke Chrome Web Store API dengan menambahkan email akun layanan di Dasbor Developer, di bagian Akun.

Mendapatkan token akses

Untuk menggunakan akun layanan dengan Chrome Web Store API, aplikasi Anda harus mendapatkan token akses yang terkait dengan akun layanan. Ada beberapa cara untuk melakukannya, bergantung pada tempat kode aplikasi Anda berjalan dan preferensi keamanan Anda.

Peniruan akun layanan

Anda dapat menggunakan alat command line gcloud untuk mendapatkan token akses berjangka pendek untuk akun layanan Anda. Hal ini sering digunakan untuk pengembangan lokal atau akses CLI.

gcloud auth login --impersonate-service-account=SERVICE_ACCOUNT_EMAIL
gcloud config set project PROJECT_ID
gcloud auth print-access-token --impersonate-service-account=SERVICE_ACCOUNT_EMAIL --scopes=https://www.googleapis.com/auth/chromewebstore
ACCESS_TOKEN=<The output from the last command>

Kemudian, buat permintaan seperti yang ditunjukkan dalam tutorial.

Menggunakan Token Web JSON

Atau, Anda dapat melakukan autentikasi langsung melalui HTTP menggunakan Token Web JSON (JWT). Buat kunci JSON untuk akun layanan Anda di Konsol Google Cloud.

Dialog pembuatan kunci di Konsol Google Cloud.
Dialog pembuatan kunci di Konsol Google Cloud.

Kemudian, ikuti langkah-langkah untuk membuat JWT dan menukarnya dengan token akses.