Lewati ke konten utama

Penyedia Otorisasi

Mekanisme pendaftaran pengguna diimplementasikan melalui penyedia otorisasi. Penyedia otorisasi tidak dibuat secara default saat proyek dibuat. Jika proyek Anda melibatkan pendaftaran pengguna, Anda perlu mengatur penyedia otorisasi sendiri.

Membuat Penyedia Autentikasi

Untuk membuat penyedia autentikasi, pergi ke bagian pengguna dan kemudian pilih subbagian "Penyedia Autentikasi". Dalam formulir pembuatan penyedia, Anda perlu menentukan:

  • Nama - tipe string yang tidak unik. Nama dapat dalam format apa pun. Ini digunakan untuk operasi dalam Platform OneEntry. Anda akan membedakan satu penyedia dari yang lain berdasarkan nama, jadi beri nama penyedia autentikasi Anda dengan cara yang memudahkan Anda untuk bekerja dengannya.
  • Tipe - tipe transmisi data yang digunakan untuk verifikasi pengguna. Ini dipilih dari daftar opsi.
  • email: informasi untuk mengonfirmasi identitas pengguna akan dikirim ke alamat email mereka, yang harus mereka berikan saat pendaftaran.
  • oauth: OAuth tidak mengirim kode ke detail kontak pengguna. Sebaliknya, ini memungkinkan pengguna memberikan aplikasi Anda akses terbatas ke data mereka di layanan lain yang telah mereka otorisasi (misalnya, Google, Facebook, VK, GitHub, Apple). Proses verifikasi menggunakan Google sebagai contoh: Pengguna di situs Anda mengklik tombol "Masuk dengan Google". Mereka diarahkan ke halaman otorisasi Google. Pengguna memasukkan kredensial mereka (nama pengguna/kata sandi) langsung di sisi Google, bukan aplikasi Anda. Ini meningkatkan keamanan karena Anda tidak menangani kata sandi mereka. Setelah login berhasil, Google menanyakan kepada pengguna apakah mereka setuju untuk memberikan aplikasi Anda data yang diminta (misalnya, email dan nama). Jika pengguna setuju, Google mengarahkan mereka kembali ke situs Anda bersama dengan token akses khusus. Proyek Anda memverifikasi token ini dan secara otomatis mendaftarkan atau mengautentikasi pengguna berdasarkan token tersebut.
  • Token - tipe string unik. Ini digunakan untuk mengakses penyedia dalam kode aplikasi Anda. Pertimbangkan sintaks bahasa pemrograman tempat proyek Anda ditulis untuk menghindari kesalahan. Misalnya, beberapa bahasa mungkin tidak mendukung tanda hubung dalam deklarasi variabel. Dalam kasus seperti itu, lebih baik untuk menentukan "my_provider" daripada "my-provide".

Setelah mengisi semua kolom, klik tombol "Tambah" untuk menyelesaikan proses pembuatan penyedia autentikasi.

Mengonfigurasi Penyedia Autentikasi

Untuk mengakses pengaturan penyedia autentikasi, pilih dari daftar dan klik ikon edit Edit.

Pengaturan Dasar

Di bagian pengaturan, Anda dapat mengubah nama dan token penyedia. Anda harus menambahkan formulir otorisasi ke penyedia autentikasi. Jika Anda tidak memiliki formulir tipe "Login dan Pendaftaran," Anda perlu membuat satu. Agar penyedia berfungsi dengan benar, formulir harus berisi sekumpulan atribut tipe "Pengguna," yang mencakup setidaknya tiga atribut - nama pengguna, kata sandi, dan informasi verifikasi (email).

Penting untuk Dipahami

Bahkan jika Anda menggunakan email sebagai nama pengguna, Anda tetap perlu membuat atribut "login" dan atribut "email".

Urutan umum tindakan untuk membuat sistem otorisasi dan verifikasi adalah sebagai berikut:

  • Buat atribut tipe "Pengguna," yang berisi setidaknya tiga kolom - nama pengguna, kata sandi, dan informasi verifikasi (email).
  • Tetapkan peran yang sesuai ke atribut dalam pengaturan atribut.
  • Buat formulir tipe "Login dan Pendaftaran," dengan menentukan sekumpulan atribut yang telah dibuat.
  • Buat penyedia autentikasi, dengan menentukan formulir yang telah dibuat.

Pengaturan Tambahan

Bagian pengaturan tambahan berisi konfigurasi untuk aktivasi pengguna dan token.

Aktivasi pengguna adalah langkah tambahan dalam proses pendaftaran. Jika pengaturan aktivasi pengguna tidak diaktifkan, setiap pengguna yang terdaftar akan diaktifkan secara otomatis.

Fungsi untuk Pengguna Terotorisasi

Hanya pengguna yang diaktifkan yang dapat berinteraksi dengan fungsi sistem yang memerlukan otorisasi. Misalnya, membuat pesanan atau berlangganan acara.

Jika Anda mengatur bendera "Aktifkan pengguna baru melalui kode," pengguna tidak akan diaktifkan secara otomatis. Sebaliknya, kode akan dikirim ke pengguna dengan cara yang ditentukan dalam penyedia, misalnya, melalui email. Pengguna tersebut hanya akan diaktifkan setelah mengonfirmasi email mereka dengan memasukkan kode.

Setelah pengguna memasukkan detail mereka dan mengajukan permohonan pendaftaran, mereka akan muncul dalam daftar pengguna umum, bahkan jika mereka belum diaktifkan. Pengaturan "Jumlah hari setelah pengguna tidak aktif akan dihapus" menentukan berapa lama seorang pengguna akan tetap ada dalam daftar ini jika mereka tidak mengonfirmasi email mereka karena alasan apa pun.

Blok pengaturan tambahan berisi konfigurasi untuk token JWT.

  • Kata rahasia untuk menghasilkan token JWT - sebuah kata yang berfungsi sebagai kunci enkripsi untuk token. Sebuah kata unik memberikan keamanan yang lebih besar.
  • Umur token (dalam detik) - Durasi di mana token akan divalidasi. Semakin pendek waktu, semakin aman koneksi pengguna, tetapi waktu yang terlalu pendek akan meningkatkan jumlah permintaan dari pengguna ke proyek Anda, yang berdampak negatif pada kinerja.
  • Umur kode sistem (dalam detik) - Setelah waktu ini berlalu sejak kode dikirim ke pengguna (misalnya, melalui email), pengguna akan dapat mengirim ulang kode.
  • Panjang kode sistem - Jumlah karakter yang terkandung dalam kode sistem yang dikirim ke pengguna.
  • Kode sistem hanya terdiri dari digit - sebuah bendera yang, ketika diatur, akan menyebabkan pengguna menerima kode yang hanya terdiri dari digit. Ini mengurangi keandalan otorisasi tetapi mungkin nyaman jika, misalnya, pengguna tidak memiliki akses ke tata letak dengan karakter Latin.

Menghapus Penyedia Autentikasi

Anda dapat menghapus penyedia autentikasi dari menu pengguna. Pilih penyedia yang ingin Anda hapus dari daftar dan klik ikon hapus Edit.

Penting untuk Dipahami

Jika penyedia sudah digunakan oleh pengguna mana pun, penyedia tersebut tidak dapat dihapus.