Memilih Metode Autentikasi

Cloud Endpoints mendukung beberapa metode autentikasi yang sesuai untuk 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 menyematkan kunci tersebut di 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 lain yang telah mengaktifkan API Anda. Untuk informasi selengkapnya, lihat Membatasi akses API dengan kunci API

Tidak seperti kredensial yang menggunakan token short-live atau permintaan bertanda tangan, kunci API adalah bagian dari permintaan tersebut 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 ini. Untuk alasan keamanan, jangan gunakan kunci API itu sendiri jika panggilan API berisi data pengguna.

Kasus penggunaan

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

Untuk informasi selengkapnya tentang kunci API, lihat Mengapa dan kapan harus menggunakan kunci API.

Autentikasi Firebase

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

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

Kasus penggunaan

Sebaiknya gunakan Firebase saat panggilan API melibatkan semua data pengguna dan API ini dimaksudkan untuk digunakan dalam alur tempat pengguna memiliki antarmuka pengguna, misalnya, dari aplikasi seluler dan web. Untuk mengetahui informasi selengkapnya, lihat tab Firebase di bagian Mengautentikasi pengguna.

Auth0

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

Auth0 mendukung sejumlah besar penyedia dan spesifikasi Security Assertion Markup Language. Solusi ini 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 membuat dan menandatangani JWT setelah pengguna login. ESP memvalidasi bahwa JWT ditandatangani oleh Auth0 dan bahwa klaim iss di JWT, yang mengidentifikasi aplikasi Auth0 Anda, cocok dengan setelan issuer dalam konfigurasi layanan.

Kasus penggunaan

Auth0 cocok untuk aplikasi web dan seluler konsumen serta perusahaan. Untuk mengetahui informasi lebih lanjut, buka tab Auth0 di bagian Untuk mengetahui informasi lebih lanjut, lihat tab Auth0 di bagian Mengautentikasi pengguna.

Autentikasi token ID Google

Autentikasi dengan token ID Google memungkinkan pengguna melakukan autentikasi dengan login menggunakan Akun Google. Setelah diautentikasi, pengguna akan 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 menggunakan kunci publik dan memastikan bahwa klaim iss di JWT adalah https://accounts.google.com.

Kasus penggunaan

Autentikasi dengan token ID Google direkomendasikan jika semua pengguna memiliki Akun Google. Anda dapat memilih menggunakan autentikasi token ID Google, misalnya, jika API Anda menyertai aplikasi Google, seperti pendamping Google Drive. Dengan autentikasi token ID Google, pengguna dapat melakukan autentikasi dengan login menggunakan Akun Google. Setelah diautentikasi, pengguna memiliki akses ke semua layanan Google. Untuk mengetahui informasi lebih lanjut, lihat tab token ID Google dalam artikel Mengautentikasi pengguna.

Akun layanan

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

Kasus penggunaan

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

Autentikasi kustom

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

Untuk mengetahui informasi selengkapnya, lihat tab Kustom di bagian Mengautentikasi pengguna.