Memilih Metode Autentikasi

Cloud Endpoints mendukung beberapa metode autentikasi yang sesuai dengan berbagai aplikasi dan kasus penggunaan. Extensible Service Proxy (ESP) menggunakan metode autentikasi yang Anda tentukan dalam konfigurasi layanan untuk memvalidasi permintaan masuk sebelum meneruskannya ke backend API. Dokumen ini memberikan ringkasan dan contoh kasus penggunaan untuk setiap metode autentikasi yang didukung.

Kunci API

Kunci API adalah string terenkripsi sederhana yang mengidentifikasi project Google Cloud untuk tujuan kuota, penagihan, dan pemantauan. Developer membuat kunci API dalam project di konsol Google Cloud dan menyisipkan kunci tersebut dalam setiap panggilan ke API Anda sebagai parameter kueri.

Jika Anda menentukan persyaratan kunci API dalam konfigurasi layanan, ESP akan menggunakan kunci API untuk mencari project Google Cloud yang terkait dengan kunci API. ESP menolak permintaan kecuali jika kunci API dibuat di project Google Cloud Anda atau dalam project Google Cloud lainnya tempat API Anda telah diaktifkan. Untuk informasi selengkapnya, lihat Membatasi akses API dengan kunci API

Tidak seperti kredensial yang menggunakan token jangka pendek atau permintaan yang ditandatangani, kunci API adalah bagian dari permintaan dan oleh karena itu dianggap rentan terhadap serangan man-in-the-middle, sehingga kurang aman. Anda dapat menggunakan kunci API selain salah satu metode autentikasi yang dijelaskan di bawah. Demi alasan keamanan, jangan gunakan kunci API saja saat panggilan API berisi data pengguna.

Kasus penggunaan

Jika Anda ingin menggunakan fitur Endpoints seperti kuota, setiap permintaan harus meneruskan kunci API sehingga Endpoints dapat mengidentifikasi project Google Cloud yang terkait dengan aplikasi klien.

Untuk informasi selengkapnya tentang kunci API, lihat Alasan dan waktu menggunakan kunci API.

Firebase Authentication

Firebase Authentication menyediakan layanan backend, SDK, dan library untuk mengautentikasi pengguna ke aplikasi seluler atau web. Firebase Authentication mengautentikasi pengguna menggunakan berbagai kredensial seperti Google, Facebook, Twitter, atau GitHub.

Library klien Firebase menandatangani Token Web JSON (JWT) dengan kunci pribadi setelah pengguna berhasil login. ESP memvalidasi bahwa JWT ditandatangani oleh Firebase dan bahwa klaim iss (penerbit) dalam JWT, yang mengidentifikasi aplikasi Firebase Anda, cocok dengan setelan x-google-issuer dalam konfigurasi layanan.

Kasus penggunaan

Sebaiknya gunakan Firebase jika panggilan API melibatkan data pengguna dan API dimaksudkan untuk digunakan dalam alur saat pengguna memiliki antarmuka pengguna, misalnya, dari aplikasi seluler dan web. Untuk mengetahui informasi selengkapnya, lihat Menggunakan Firebase untuk mengautentikasi pengguna.

Auth0

Auth0 mengautentikasi dan memberi otorisasi pada aplikasi dan API, terlepas dari penyedia identitas, platform, stack, dan perangkat.

Auth0 mendukung sejumlah besar penyedia dan spesifikasi Security Assertion Markup Language. Firebase Authentication menyediakan layanan backend, SDK, dan library antarmuka pengguna untuk mengautentikasi pengguna di aplikasi web dan seluler. Auth0 terintegrasi dengan beberapa penyedia identitas pihak ketiga dan juga menyediakan pengelolaan akun pengguna kustom.

Library klien yang disediakan oleh Auth0 menghasilkan dan menandatangani JWT setelah pengguna login. ESP memvalidasi bahwa JWT ditandatangani oleh Auth0 dan bahwa klaim iss dalam JWT, yang mengidentifikasi aplikasi Auth0 Anda, cocok dengan setelan x-google-issuer dalam konfigurasi layanan.

Kasus penggunaan

Auth0 cocok untuk aplikasi web dan seluler konsumen dan perusahaan. Untuk informasi selengkapnya, lihat tab Auth0 di Untuk informasi selengkapnya, lihat Menggunakan Auth0 untuk mengautentikasi pengguna.

Autentikasi token ID Google

Autentikasi dengan token ID Google memungkinkan pengguna melakukan autentikasi dengan login menggunakan Akun Google. Setelah diautentikasi, pengguna memiliki akses ke semua layanan Google. Anda dapat menggunakan token ID Google untuk melakukan panggilan ke Google API dan ke API yang dikelola oleh Endpoint. ESP memvalidasi token ID Google dengan menggunakan kunci publik dan memastikan bahwa klaim iss dalam JWT adalah https://accounts.google.com.

Kasus penggunaan

Autentikasi dengan token ID Google direkomendasikan jika semua pengguna memiliki akun Google. Anda dapat memilih untuk menggunakan autentikasi token ID Google, misalnya, jika API Anda menyertai aplikasi Google, seperti pendamping Google Drive. Autentikasi token ID Google memungkinkan pengguna melakukan autentikasi dengan login menggunakan Akun Google. Setelah diautentikasi, pengguna memiliki akses ke semua layanan Google. Untuk mengetahui informasi selengkapnya, lihat Menggunakan token ID Google untuk mengautentikasi pengguna.

Akun layanan

Untuk mengidentifikasi layanan yang mengirim permintaan ke API, Anda menggunakan akun layanan. Layanan panggilan menggunakan kunci pribadi akun layanan untuk menandatangani Token Web JSON (JWT) yang aman dan mengirimkan JWT yang ditandatangani dalam permintaan ke API Anda.

Kasus penggunaan

JWT dan akun layanan sangat cocok untuk microservice. Untuk mengetahui informasi selengkapnya, lihat Autentikasi antarlayanan.

Autentikasi kustom

Anda dapat menggunakan platform autentikasi lain untuk mengautentikasi pengguna selama platform tersebut sesuai dengan RFC 7519 Token Web JSON.

Untuk informasi selengkapnya, lihat Menggunakan metode kustom untuk mengautentikasi pengguna.