새로운 사용자가 등록 할 수 없도록 firebase 이메일/비밀번호 계정을 등록하지 못하도록 제한하는 방법이 있습니까? 나는 소수의 관리자 만이 접근 할 수있는 작은 응용 프로그램을 가지고있다. (Firebase 관리자에서 수동으로 생성 한) 그리고 지금은 아무 것도 작은 자바 스크립트를 삽입하고 계정을 등록 할 수있는 것처럼 보인다.firebase에 등록을 제한하는 방법이 있습니까
답변
Firebase Simple Login은 편의상 Firebase Custom Login 위에 구축 된 추상화입니다. 전자 메일/암호 인증을 사용할 때 전자 메일과 암호 간의 매핑을 만들고 보안 규칙에 사용할 자동으로 인증 토큰을 생성한다는 점에 유의해야합니다.
구체적인 경우 모든 "admin"사용자가 이미 생성 된 경우 보안 규칙을 통해 원하는 동작을 얻을 수 있습니다. 예를 들어 Firebase 데이터 트리에 대한 읽기/쓰기 권한을 해당 목록에있는 인증 된 사용자에게만 허용하려면 "admins"목록에 해당 사용자가 있어야하는 최상위 읽기/쓰기 보안 규칙을 작성하십시오.
{
".read" : "auth != null && root.child('admins').hasChild(auth.uid)",
".write" : "auth != null && root.child('admins').hasChild(auth.uid)"
}
위의 규칙은 사용자가 (auth != null
을 통해) 인증되고 인증 된 사용자의 ID가 관리자 목록에 있어야합니다 (root.child('admins').hasChild(auth.uid)
).
마지막 단계는 해당 사용자를 admins
하위 트리에 작성하여 실제로 관리자로 지정하는 것입니다. 의 당신이 사용자 1, 4 있다고 가정 해 봅시다, 그리고 7, 관리자을 다음 반영하기 위해 데이터 트리를 업데이트 :이 결과로
{
...
"admins": {
"1": true,
"4": true,
"7": true
}
}
, 다른 사용자가 새 이메일/비밀번호 매핑을 생성 할 수있는 경우에도 Firebase Simple Login을 사용하면 이러한 매핑은 보안 규칙을 사용하여 제한되므로 응용 프로그램에 아무런 영향을 미치지 않습니다.
좋은 답변입니다. 도와 줘서 고마워! – binaryorganic
나는 Bolt에 "root.child ('admins'). hasChild (auth.uid)"라고 쓰려고합니다. "root.admins.uid! = null"로 가정 하겠지만 "root.child ('admins')로 변형됩니다. child ('uid') .val()! = null"그런 다음 실행합니다. 작동하지 않음 = ( – Anders
root.admins [auth.uid]! = null – mckoss
- 1. NSNotification을 제한하는 방법이 있습니까?
- 2. Prestashop : 인보이스 주소를 하나만 제한하는 방법이 있습니까?
- 3. xdebug가 생성하는 트레이스의 깊이를 제한하는 방법이 있습니까?
- 4. 형식 매개 변수를 SqlDbType으로 제한하는 방법이 있습니까?
- 5. PHP 폼의 제출 횟수를 제한하는 방법이 있습니까?
- 6. mysql에서 더 낮은 범위를 제한하는 방법이 있습니까?
- 7. 드래그 할 수있는 영역을 제한하는 방법이 있습니까?
- 8. UITextfield의 문자 수를 5로 제한하는 방법이 있습니까?
- 9. firebase에있는 아이들의 수를 제한하는 방법이 있습니까?
- 10. jaxb 클래스에서 문자열의 길이를 제한하는 방법이 있습니까?
- 11. 실행중인 R 프로세스의 수를 제한하는 방법이 있습니까
- 12. IIS에서 특정 사용자에게 통화를 제한하는 방법이 있습니까?
- 13. iOS6에서 MKMapView Zoomlevel을 제한하는 방법이 있습니까
- 14. 문자열을 XSD에서만 ASCII로 제한하는 방법이 있습니까?
- 15. 웹보기에서 URL 수를 제한하는 방법이 있습니까?
- 16. Android : 바코드 높이와 너비를 제한하는 방법이 있습니까
- 17. 프로세스의 출력 파일 수를 제한하는 방법이 있습니까?
- 18. Serilog는 logEvent의 전체 크기를 제한하는 방법이 있습니까?
- 19. UITextView에서 텍스트 너비를 제한하는 방법이 있습니까?
- 20. AppVeyor의 테스트 작업자 수를 제한하는 방법이 있습니까?
- 21. Castle Windsor : 해결 전화없이 등록을 확인하는 방법이 있습니까?
- 22. 이 유창한 등록을 Windsor에서 표현하는 더 좋은 방법이 있습니까?
- 23. 수동으로 Firebase에 데이터 삽입
- 24. ASP.NET 3.5 프로세스의 최대 메모리 크기를 제한하는 방법이 있습니까?
- 25. JVM에서만 특정 %의 CPU로 GC를 제한하는 방법이 있습니까?
- 26. 익명 함수 매개 변수의 범위를 제한하는 방법이 있습니까?
- 27. 특정 함수에 의해 호출되는 함수를 제한하는 방법이 있습니까?
- 28. Powershell의 다중 텍스트 상자에서 최대 행을 제한하는 방법이 있습니까?
- 29. html 요소에 대한 CSS 클래스를 제한하는 방법이 있습니까?
- 30. Oracle에서 사용자가 사용하는 리소스를 제한하거나 제한하는 방법이 있습니까?
[답변과 답변] (http://stackoverflow.com/questions/17719703/how-do-i-restrict-signup-to-a-product-in-firebase). 즉, 사용자 정의 로그인을 사용하거나 권한이없는 계정에 대한 읽기/쓰기를 방지하십시오. – Kato