![](/img/trans.png)
[英]How to get Firebase JWT token to validate on server side in Latest Firebase IOS SDK
[英]How to validate fields server side during user creation with Firebase Auth?
我正在嘗試使用 Firebase Auth 創建新用戶,但我想在創建新帳戶之前使用 Firestore 安全規則驗證某些字段(模式匹配)。 我怎樣才能做到這一點?
在 createUser(withEmail: , password:) function 的完成處理程序中,我在成功創建帳戶時對 Firestore 執行了一些寫入操作。
我面臨一個問題,有時由於 Firestore 安全規則(模式匹配),對 Firestore 的寫入可能不會成功。 在這種情況下,寫入失敗,但仍會創建新用戶帳戶(因為正在完成處理程序中嘗試寫入)。
// Create User Method - Firebase Auth & Swift
Auth.auth().createUser(withEmail: self.emailTextField.text!, password: self.passwordTextField.text!) { (result, error) in
if error != nil {
print(error?.localizedDescription)
} else {
let userName = [
userName:self.userNameTextField.text!
]
// Writing field Data to Firestore
Firestore.firestore().collection("users").document(self.userNameTextField.text!).setData(userName) {(err) in
if err != nil {
// Rather than throwing a fatalError, how can I ensure new account creation is cancelled so that feedback can be given on the issue with entered field data?
fatalError()
}
我想確保不會創建用戶帳戶,以防由於與 Firestore 安全規則沖突而導致對 Firestore 的寫入失敗。
Firebase 身份驗證沒有任何安全規則。 目前無法在創建用戶之前檢查傳入的帳戶屬性是否有效。 安全規則僅適用於從移動或 web 客戶端直接讀取和寫入 Cloud Firestore(或實時數據庫或 Cloud Storage)的數據。
您唯一能做的就是在創建帳戶后使用Cloud Functions 身份驗證觸發器檢查帳戶屬性,然后在出現問題時刪除或停用帳戶。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.