0
특정 사용자에게 할당 된 데이터를 uid 값으로 읽으려고하지만 권한이 거부되었습니다.Firebase Permission Denied Swift 3
누구든지이 오류가 발생하는 이유를 알고 계십니까?
import UIKit
import Firebase
class ViewController: UIViewController {
// dataChild value == User UID as in console.firebase.google.com
var dataChild = "xd5rwZzUqoRbfMp2rq5pTRB3s1"
var dbRef:FIRDatabaseReference! // reference to Firebase
override func viewDidLoad() {
super.viewDidLoad()
dbRef = FIRDatabase.database().reference().child("Users")
startObservingDB()
}
func startObservingDB() {
dbRef.child(dataChild).observe(.value, with: { (snapshot: FIRDataSnapshot) in
print("The snapshot is \(snapshot.value)") //no longer prints
}, withCancel: { (Error:Any) in
print("Error is \(Error)") //prints Error is Error Domain=com.firebase Code=1 "Permission Denied"
})
} // end of startObservingDB()
}
중포 기지 JSON 트리
{
"Users" : {
"xd5rwZzUqoRbfMp2rq5pTRB3s1" : {
"718565122" : {
"BookingAmount" : "12",
"BookingNumber" : "718565122",
"DateAndTime" : "Mon, 26 Sep 2016 18:30",
"EmailAddress" : "[email protected]",
"FlatNumber" : "10",
"FrequecyAmount" : 48,
중포 기지 규칙
{
"rules": {
".read": "auth != null",
".write": "auth != null"
}
}
즉, 데이터를 읽을 수있는 권한이 없음을 의미합니다. 앱에 대한 보안 규칙 설정에 관한 Firebase 설명서를 참조하여 https://firebase.google.com/docs/database/security/에 대해 자세히 알아보십시오. –
@FrankvanPuffelen 데이터를 db에 저장할 때마다 데이터의 사용자/Uid/첫 번째 노드 (예 : 718565122)입니다. Uid는 Firebase 인증을 통해 얻은 사용자의 ID입니다. 내 경로에서 유효한 uid를 사용한다는 사실을 감안할 때, firebase는 사용자가 인증되었다고 생각하고 데이터를 읽을 수 있도록해야합니다. 내 질문도 보안 규칙으로 업데이트했습니다. – bibscy