필자는 Firebase을 처음 사용하고 보안 규칙에 어려움을 겪고 있습니다.Firebase 보안 규칙
해당 사용자 만 액세스 할 수있는 익명 사용자 세션의 데이터를 저장하려고하지만 보안 규칙을 강화하자마자 사용 권한이 거부되고 이유가 해결되지 않습니다.
내가 가진 구조는 다음과 같습니다
/userSessions/$ 사용자/USER_ID
응용 프로그램은 사용자 세션에 밀어 익명 로그인에 의해 반환되는 USER_ID를 기록합니다.
I가 다음과 같은 보안 규칙 : 는{
"rules": {
".read": true,
"userSessions": {
"$user": {
".write": "newData.child('user_id').val() == auth.id",
"user_id": {
".validate": "newData.isString()"
}
}
}
}
}
내가 어리석은 일을하고 있어요 확신하지만, 보안 시뮬레이터를 사용하는 방법을 작동하지 않을 수 있습니다 그래서 이동하는 방법을 모른다 이
어떤 도움을 문제 해결에 대해 크게
편집 감사 - 익명 인증 후 userSessions 아래에 새 항목을 만들려고 할 때 문제가 발생합니다.
코드 :
var userSessionsRef = new Firebase('https://xxxxxx.firebaseio.com/userSessions');
var userSession;
var auth = new FirebaseSimpleLogin(userSessionsRef, function(error,user) {
if (error) {
console.log(error);
} else if (user) {
userSessionsRef.child(user.id).set({
user_id: user.id,
provider: user.provider,
created: Firebase.ServerValue.TIMESTAMP
});
userSession = new Firebase('https://xxxxx.firebaseio.com/userSessions/'+user.id);
userSession.onDisconnect().remove();
}
권한이 거부되면 어떻게합니까? –
userSessions 아래에 새 $ 사용자를 만드십시오 - 질문을 업데이트하겠습니다. –
안녕하세요 @JonReeves! 시뮬레이터에서 이걸 시험해 보면 어떻게됩니까? 또한 user.id는 숫자 일 가능성이 높습니다 (저는 Twitter 또는 Facebook을 사용하고 있다고 가정합니다. 둘 다 숫자 ID를 반환합니다). 또한 어떤 데이터가 설정되고 있습니까? 사용자 개체를 기록하고 여기에 게시 할 수 있습니까? 보다 쉽고 빠르게 문제를 해결할 수있는 더 많은 데이터가 제공됩니다. – Kato