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 sehingga 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. Untuk 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 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 tab Firebase di 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 issuer
dalam konfigurasi layanan.
Kasus penggunaan
Auth0 cocok untuk aplikasi web dan seluler konsumen dan perusahaan. Untuk mengetahui informasi selengkapnya, lihat tab Auth0 di Untuk mengetahui informasi selengkapnya, lihat tab Auth0 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 tab Token ID Google di 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 mengetahui informasi selengkapnya, lihat tab Kustom di Mengautentikasi pengguna.