"myapp.firebase.io/events"노드가 인증 된 사용자 (firebase auth에 의해 인증 됨)에만 액세스 할 수 있어야합니다. 내 규칙은 Firebase 오류 : 인증 된 사용자에 대한 사용 권한이 거부되었습니다.
{
"rules": {
"events": {
".read":"auth != null",
".write":"auth != null"
}
}
}
을 - 이것도 나의 활동은 다음과 같습니다
public class NotificationActivity extends AppCompatActivity {
TextView message,header;
private Toolbar mToolbar;
String from;
private Firebase ref;
private FragmentDrawerNotification mDrawerFragment;
private FirebaseAuth mAuth;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_notification);
mToolbar = (Toolbar) findViewById(R.id.app_bar);
setSupportActionBar(mToolbar);
mAuth = FirebaseAuth.getInstance();
message = (TextView) findViewById(R.id.tMessage);
header = (TextView) findViewById(R.id.tHeader);
from=getIntent().getExtras().getString("From");
if(from.equals("Events"))
{
header.setText("Events: ");
message.setText("");
System.out.println(mAuth.getCurrentUser().getEmail());
//System.out.println("Events Auth"+ref.getAuth());
ref = new Firebase("https://myapp.firebaseio.com/events");
ref.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String data =dataSnapshot.getValue(String.class);
message.setText(data);
}
@Override
public void onCancelled(FirebaseError firebaseError) {
}
});
}
}
System.out.println(mAuth.getCurrentUser().getEmail());
가 올바르게 사용자의 이메일 로그인 반환 여기
하지만 ref.getAuth()
널 (null)을 반환; 로그인 한 사용자는 데이터에 액세스 할 수 없으며 "Firebase Error : permission denied"가 표시됩니다. "이벤트"가 내 키이고 "오늘 이벤트가 있습니다"가 내 값입니다. 내가
{
"rules": {
"events": {
".read":true,
".write":true
}
}
}
를 사용하는 경우
나는 액세스 할 수 있습니다,하지만 난 인증 된 사용자와 데이터베이스를 확보 할 필요가있다.
실제로 새내기는 새로운 & 이전 SDK를 혼합했습니다. 이제 내 문제가 해결되었습니다. 감사. –
나에게도 일어났다. :) –
@Ajoy Das - 나는 똑같은 문제가 있었고 빠른 수정은 규칙을 업데이트하는 것이었다 { ".read": true}. 읽기 액세스 만 가능하고 비슷한 게시물은 간단한 방법으로 해결할 수있다. http://stackoverflow.com/questions/14296625/restricting-child-field-access-with-security-rules –