我通过 Firebase 实现了身份验证的登录和注册 View 。那么我如何才能对我的数据库进行身份验证?我更改了规则并输入:
{
"rules": {
"users": {
"$uid": {
".write": "$uid === auth.uid"
}
}
}
}
我也写了获取用户 UID 的代码,但是我怎么能告诉我的数据库我已经通过身份验证了呢?
PS:我需要 Swift 中的示例。
最佳答案
swift 5 仅用于身份验证,然后使用您自己的代码进行扩展
let credential = PhoneAuthProvider.provider().credential(
withVerificationID: FireBaseverficationID,
verificationCode: "your device code")
let defaults = UserDefaults(suiteName: "group.Company.AppName")
let encodedData = NSKeyedArchiver.archivedData(withRootObject: credential)
defaults?.set(encodedData, forKey: "firebasecredential")
在此之后,在您的扩展文件中解码此默认值并使用凭据进行登录
let decoded = UserDefaults(suiteName: "group.Company.AppName")?.object(forKey: "firebasecredential") as! Data
let credential = NSKeyedUnarchiver.unarchiveObject(with: decoded) as! PhoneAuthCredential
//MARK: - If user already login with credential
let userid = Auth.auth().currentUser
if userid == nil{
Auth.auth().signInAndRetrieveData(with: credential) { (authResult, error) in
if error != nil {
return
}
else
{
//MARK:- Your desire code After Login
}
}
}else{
//MARK:- Your desire code if User already Login
}
关于swift - Firebase 数据库身份验证 Swift,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53337904/