Tambahkan Google Masuk ke Aplikasi We b-Hello Worl d-Cloud

Tambahkan Google Masuk ke Aplikasi We b-Hello World

*Tolong beri tahu saya cara menambahkan tanda Googl e-di ke aplikasi web.

Apakah Anda dalam masalah karena Anda tidak tahu cara menambahkan “login di google” ke aplikasi web? Dalam seri ini

  • Masuk untuk situs web mengapa Anda ingin menggunakan Perpustakaan JS dan Cara Mulai Menggunakannya
  • Penambahan Perpustakaan oleh JavaScript
  • Tambahkan pustaka ke proyek yang ada (Angular & amp; React)

Jika Anda membaca dokumentasi, Anda dapat mulai dengan tempat yang tepat jika Anda tahu apa yang Anda cari, tetapi ada beberapa bagian di mana dokumen dan panduan lain secara online sulit dipahami. Hanya ada panduan minimum tentang cara menggunakannya dalam proyek yang ada.

  • Apakah perlu mengikuti dokumen identitas Google atau Google-masuk untuk Web?
  • Tunggu, mengapa kedua pemandu ini sangat berbeda? Saya bahkan membaca perpustakaan yang berbeda!
  • Ini seharusnya mudah! Saya hanya mencoba membaca avatar pengguna!

Bagaimana cara menambahkan login di google? “Jawabannya diintegrasikan ke dalam satu pertanyaan yang perlu Anda jawab: Apa yang Anda coba lakukan?

  • Apakah Anda hanya ingin melihat nama, foto, dan email pengguna? Silakan gunakan tanda tangan situs web di perpustakaan.
  • Apakah Anda memiliki basis data pengguna yang unik dan ingin memberikan login Google sebagai opsi tambahan? Ini adalah login federasi dan menggunakan protokol OpenID Connect. Ini digunakan pada platform seperti AUTH0, Firebase, dan OneIdentity.
  • Apakah Anda ingin berinteraksi dengan akun Google pengguna untuk melihat kalender atau membuat dokumen Google? Dalam hal ini, Anda perlu menggunakan alur kerja OAuth.

Seri ini mengeksplorasi ketika masuk ke perpustakaan situs web harus digunakan untuk menggunakan protokol OpenId Connect (juga digunakan dalam sistem login federasi). Tujuan dari pustaka otentikasi ini adalah untuk menggunakan akun Google untuk mengidentifikasi pengguna. Itu saja.

So when should I use it?

Alasan untuk menggunakan

  • Ketika konten disimpan ke layanan bac k-end dan pengguna masuk dan didistribusikan melalui API.
  • Hanya pengguna Google/G-suite yang dapat mendukung pengguna.
  • Tidak perlu mengotentikasi pengguna (misalnya, beberapa pengguna adalah manajer).
  • Situs ini telah dirilis
  • Aplikasi tunggal

Contoh layak untuk mempertimbangkan login kerja sama

  • Ketika konten pengguna yang ada disimpan di layanan bac k-end.
  • Ada situs internal yang ingin Anda batas untuk pengguna dari domain tertentu. (Contoh: Tampilkan hanya kepada pengguna @exampe. com)
  • Saya ingin oran g-orang yang tidak masuk untuk tidak melihat halaman. Apa yang dapat Anda lakukan dengan perpustakaan ini adalah menampilkan / menyembunyikan elemen pada halaman ketika pengguna masuk, tetapi cukup untuk hanya membaca data dari API setelah pengguna masuk.

Perpustakaan ini dirancang untuk digunakan dalam HTML/JS, dan terganggu dengan halaman hanya melalui tombol “Login dengan Google”. Perpustakaan ini dapat diintegrasikan dengan kerangka kerja lain seperti Angular/React.

Adding Google Sign-in step-by-step

1. Hello World HTML

Pertama, Anda memerlukan file index. html.

  Demonstrasi Google Auth  

Selamat datang di demonstrasi

2. Add the Google Sign-In Button

Sebelum menambahkan tombol, Anda harus terlebih dahulu membuat ID/rahasia klien. Ini adalah cara untuk menunjukkan bahwa Anda adalah pengembang yang mendapat informasi ID dari Google dan memungkinkan pengguna untuk mendistribusikannya ke situs web.

Creating credentials for Sign-In

  • Google API Consol e-https: //console. developers. google. com/apis/dashboard Access.
  • Gunakan proyek yang ada untuk membuat proyek baru atau sudah menetapkan proyek.
  • Klik Kredensial -& GT;

Yang termasuk untuk demo ini adalah sebagai berikut:

Nama: Google-Auth-Demo Authentged JavaScript Asal: http: // localhost: 8080 Authentged Redirect URI: Sky

*Catatan tentang asal Javascript: Ini tidak berfungsi jika ada file html biasa yang dibaca dengan browser menggunakan jalur file seperti /home/dperez/index. html. URL seperti LocalHost bai k-baik saja, jadi Anda perlu “melayani” situs web Anda di komputer Anda. Anda dapat mendistribusikannya ke direktori saat ini atau menggunakan paket NPM seperti HTT P-Server menggunakan Pytho n-M SimpleHttpserver 8080 (umumnya tersedia).

Dapatkan ID Klien dan Rahasia Klien. Ini adalah dua pengidentifikasi klien OAuth. Pada titik ini, ID klien menerima login dan diizinkan untuk mengembalikan informasi pengguna. Harap salin ini. Bahkan jika Anda secara tidak sengaja mengklik di luar layar, Anda dapat menyalinnya kapan saja kemudian.

Add the library + credentials + button to your HTML

Tambahkan yang berikut ke index. html pada halaman HTML:

. .  

Selamat datang di demonstrasi

Tag skrip mendapat pustaka dari Google, yang membaca tag yang digunakan sebagai ID klien, dan secara otomatis mengubah gaya tombol dengan kelas CSS . g-Signin2.

Refresh halaman pada saat ini dan Anda akan melihat tombol masuk yang bagus. Saat Anda mengeklik tombol ini, sebuah pop-up akan membawa Anda melalui proses masuk Google, yang pada akhirnya akan membawa Anda kembali ke situs Anda, di mana tombol tersebut akan bertuliskan “Masuk”.

Login sekarang hampir selesai! Namun, hal itu masih sia-sia.

3. Identify the user

  1. Perbarui div g-signin2 untuk menyertakan atribut data-onsuccess:

Atribut ini berisi nama fungsi yang akan dipanggil ketika pengguna berhasil login ke Google.

  1. Buat fungsi yang disebut “onSignIn”.
 .  

Fungsi onSignIn dipanggil dengan argumen yang berisi informasi yang disediakan oleh Google. Refresh halaman dan Anda akan melihat:

  1. masuk secara otomatis
  2. Pembaruan tombol segera setelah pembaruan (penundaan 1 detik)

Saat Anda membuka konsol javascript, Anda akan melihat informasi pengguna:

Ini adalah profil dasar yang berisi sekumpulan nilai yang mengidentifikasi saya sebagai pengguna. Biasanya objek ini memiliki bidang seperti nama dan email, tetapi karena alasan tertentu (saya harap saya punya jawaban, tetapi mereka juga tidak punya) objek ini omong kosong.

Dapatkan data secara langsung menggunakan googleUser. getBasicProfile()[‘U3’] atau gunakan fungsi seperti googleUser. getBasicProfile(). getName() atau googleUser. getBasicProfile(). getEmail() untuk informasi lebih lanjut. Anda dapat menggunakan pendekatan yang dapat dibaca manusia. (Klik di sini untuk dokumen referensi api klien javascript)

4. Sign out

Tambahkan tombol ke index. html dan tambahkan pengendali klik di javascript untuk menambahkan tombol keluar setelah pengguna masuk.

 .  
Fungsi keluar()< gapi.auth2.getAuthInstance().signOut().then(function() < console.log('user signed out') >) >

luar biasa! Pada titik ini, tombol Masuk dengan Google telah ditambahkan, memungkinkan Anda mengidentifikasi pengguna berdasarkan nama/alamat email. Juga, itu saja. Hanya itu yang dapat Anda lakukan dengan perpustakaan ini.

Namun bagaimana dengan hal-hal dasar seperti menyimpan data pengguna di backend dan menampilkan layar admin? Mengapa tidak tertulis di dokumentasi? perpustakaan js untuk ditambahkan ke situs Anda tanpa HTML.