Firebase 용 클라우드 기능을 통해 특정 위치에 데이터를 쓸 수있게하는 규칙을 통해 데이터베이스를 보호하려면 어떻게해야합니까? 이전에는 admin 클라이언트 databaseAuthVariableOverride
에 uid를 추가하고 해당 uid를 사용하는 옵션이있었습니다. 규칙 섹션에서,하지만 지금 우리가 admin.initializeApp(functions.config().firebase);
를 통해 초기화 그래서 추가적인 PARAMS을 추가하는 방법에 대해 확실하지거야.Firebase 용 클라우드 기능에만 쓰기 액세스 허용
편집 은이 대신에 인증서를 사용하여 시작하는 것이 좋습니다? 즉 admin.initializeApp(functions.config().firebase)
이 끝난 이상 가지고 functions.config()
실제로에서 데이터를 가져 오는 곳이 단지 노드 모듈을지지 않습니다 어떤 이익을
admin.initializeApp({
credential: admin.credential.cert("/path-to-cert"),
databaseURL: "database-url",
databaseAuthVariableOverride: { uid: "some-id" }
});
?
IIRC, Object.assign'에 대한 인수의 순서()'이 중요합니다. 드물게'functions.config(). firebase'는'databaseAuthVariableOverride' 속성을 포함하고 있습니다.이 속성은 위에서 지정한 것보다 우선합니다. 'Object.assign ({}, functions.config(). firebase, {/ * 재정의 값 * /}) '을 사용하여 설정 한 것이 무엇이든 최종 값으로 유지되도록하는 것이 좋습니다. – samthecodingman
대신 사용자 지정 서비스 작업자 인증서로 관리자를 시작하는 것이 좋습니까? – Ilja
@Ilja - 할 수는 있지만,'functions.config(). firebase'에 제공된 자격증 명을 사용하는 것 이상의 이점은 없습니다. 또한 일반적으로 나쁜 습관 인 자체 서비스 계정 키 파일을 관리해야합니다. @samthecodingman - 팁 주셔서 감사합니다. 코드 샘플을 업데이트했습니다. – jwngr