Bagaimana untuk menggunakan Firebase Authentication dengan pelbagai kaedah log masuk dan pengesahan berasaskan peranan?
P粉574695215
2023-09-05 12:18:10
<p>Saya sedang mencipta aplikasi react.js dengan nodejs sebagai backend dan saya mahu menggunakan kaedah pengesahan ini untuk log masuk menggunakan e-mel/kata laluan, log masuk menggunakan google dan log masuk menggunakan telefon, kini saya mahu mengekalkan pengguna semasa mereka menandatangani Keunikan Untuk mana-mana ini saya juga akan mendapat butiran lain seperti apabila pengguna mendaftar menggunakan e-mel/kata laluan maka saya juga akan mendapat nombor telefon pengguna dan saya tidak mahu pengguna menggunakan nombor telefon itu dengan log masuk menggunakan telefon Buat kaedah akaun lain. </p>
<p>Masalah kedua ialah aplikasi saya mempunyai 3 peranan pengguna: Pengguna, Jualan dan Pentadbir. Terdapat borang pendaftaran yang berbeza untuk setiap pengguna, apabila pengguna yang menggunakan e-mel mendaftar sebagai jurujual, saya juga mahu pengguna itu boleh mendaftar sebagai pengguna menggunakan e-mel yang sama, kini apabila saya menggunakan firebase sdk dalam aplikasi React saya, Ia akan membuang ralat kepada pengguna kerana ia telah wujud. </p>
<p>Pengesahan Firebase boleh menyelesaikan masalah ini, saya mahu pengguna menjadi unik dan saya mahu pengesahan berasaskan peranan didayakan.
Saya menggunakan firestore sebagai pangkalan data saya</p>
Sebagai doc, "Anda boleh membenarkan pengguna log masuk ke apl anda menggunakan berbilang penyedia pengesahan dengan memautkan bukti kelayakan penyedia pengesahan ke akaun pengguna sedia ada. Tanpa mengira pengesahan, mereka semua boleh log masuk ke apl anda melalui pengguna Firebase yang sama ID untuk mengenal pasti pengguna dengan pembekal yang mereka gunakan untuk log masuk." Lihat juga kaedah
linkWithCredential()
的文档a> 和linkWithPhoneNumber()
.Anda boleh menggunakan sama ada pengisytiharan tersuai berdasarkan (anda boleh menambah berbilang pengisytiharan, satu setiap peranan) atau dokumentasi Firestore
. Walau bagaimanapun, anda akan melaksanakan mekanisme untuk pemilihan peranan pengguna (anda menyebut "borang pendaftaran berbeza" dalam soalan anda) dan GUI yang sepadan memaparkan diri anda dalam aplikasi anda. 🎜