Firestore 보안 규칙을 디버깅하는 유용한 커스텀 함수
debug
에 기록하는 함수 firestore-debug.log
를 제공합니다(Firestore Emulator를 사용하는 경우에만, 프로덕션에서는 작동하지 않음). 그러나 컨텍스트에 대한 정보 없이 값만 인쇄합니다. 보안 규칙이 예상대로 작동하지 않는 경우 모든 의심스러운 표현을 debug
로 래핑한 다음 각 로그 전체와 debug
에 대한 충분 호출 사이의 대응 관계를 파악하는 데 어려움을 겪을 수 있습니다.요청이 거부된 이유를 설명하는 사용자 정의 메시지를 기록하는 기능이 있다면 어떨까요? 처럼:
allow get: if
// logs "not admin" if the user's role is not admin
assert(request.auth.role == "admin", "not admin") &&
// logs "email is not verified" if email_verified is false
assert(request.auth.email_verified, "email is not verified");
실제로 이
assert
기능을 구현할 수 있습니다! 정의는 다음과 같습니다.function assert(condition, message) {
return condition || debug(message) && false;
}
condition
가 참이면 condition
만 반환합니다. 그렇지 않으면 message
를 firestore-debug.log
에 기록하고 false
를 반환합니다.이 기능이 보안 규칙을 디버깅하는 데 도움이 되기를 바랍니다.
Reference
이 문제에 관하여(Firestore 보안 규칙을 디버깅하는 유용한 커스텀 함수), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/pizzacat83/a-useful-custom-function-to-debug-firestore-security-rules-2p9g텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)