programing

(Firebase에서) Google-services.json을 저장소에 추가해야 합니까?

iphone6s 2023. 6. 11. 10:26
반응형

(Firebase에서) Google-services.json을 저장소에 추가해야 합니까?

저는 방금 파이어베이스에 가입했고 새로운 프로젝트를 만들었습니다.Firebase에서 앱 도메인과 SHA1 디버그 키를 요청했습니다.이 세부 정보를 입력하면 앱 모듈의 루트에 추가할 수 있는 Google-services.json 파일이 생성됩니다.

제 질문은 이 .json 파일을 공개(오픈 소스) 레포에 추가할 것인가 하는 것입니다.API 키처럼 비밀로 해야 하는 것입니까?

Firebase 문서의 파일은 다음과 같습니다.

Firebase는 단일 구성 파일을 통해 모든 API 설정 및 자격 증명을 관리합니다.
파일 이름이 지정됩니다.google-services.jsonAndroid 및GoogleService-Info.plistiOS에서.

에 추가하는 것이 타당한 것 같습니다..gitignore공개 보고서에 포함시키지 않는 것이 좋습니다.
이것은 무엇을 포함하는지에 대한 더 자세한 내용과 함께 26호에서 논의되었습니다.

예를 들어, 와 같은 프로젝트는 그것을 가지고 있습니다.
비록, stepheaw에서 언급했듯이, 이 스레드는 다음을 언급합니다.

라이브러리 또는 오픈 소스 샘플의 경우 사용자가 자신의 백엔드를 가리키기 위해 자신의 파일을 삽입하기 때문에 JSON 파일을 포함하지 않습니다.
그렇기 때문에 GitHub의 대부분의 Firebase 저장소에서 JSON 파일을 볼 수 없습니다.

"데이터베이스 URL, Android API 키 및 저장소 버킷"이 비밀이 아닌 경우, 파일을 저장소에 추가하는 것을 고려할 수 있습니다.
"Google-services.json은 해커로부터 안전합니까?"에서 언급했듯이, 그러나 이것은 그렇게 간단하지 않습니다.

바우어릭댓글에서 다음과 같이 묻습니다.

그 게시물에서 그는 다음과 같이 말합니다.

JSON 파일에 서버 API 키와 같은 매우 중요한 정보가 없습니다.

그런데 그.google-services.json라는 항목이 있습니다.api_key.
그것은 "와 다른 api 키입니까?server api key"?

Willie Chalmers III는 "Google-services.json은 해커로부터 안전한가?"를 가리키며 다음과 같이 덧붙였습니다.

네, 그 API 키는 절대 공개해서는 안 되는 서버 API 키가 아니기 때문에 당신이 사용해도 괜찮습니다.google-services.json다른 사용자가 볼 수 있습니다.

어쨌든 클라이언트 API 키가 Google 클라우드 콘솔에서 사용되는 방법을 제한해야 합니다.


Puzz가 코멘트에서 언급한 바와 같이, "Firebase apiKey를 대중에게 노출하는 것이 안전합니까?"를 참조하십시오.

대답에서 프랭크 반 퍼플렌은 다음과 같이 언급합니다.

업데이트(2021년 5월):Firebase App Check라는 새로운 기능 덕분에 이제 Firebase 프로젝트의 백엔드 서비스에 대한 액세스를 특정 프로젝트에 등록된 iOS, Android 및 웹 앱에서만 제한할 수 있습니다.

이 논의를 통해 공개 보고서에 추가할 수 있는 것으로 보입니다.어차피 내용물은 APK에 들어가므로 추출하기가 쉬울 것입니다.

파일의 내용은 Firebase 문서에 공개되어 있습니다.

The content of the Firebase config file or object is considered 
public, including the app's platform-specific ID (Apple bundle ID or
Android package name) and the Firebase project-specific values, like
the API Key, project ID, Realtime Database URL, and Cloud Storage 
bucket name. Given this, use Firebase Security Rules to protect your
data and files in Realtime Database, Cloud Firestore, and Cloud Storage.

공식 문서에는 파일에 비밀 키가 포함되어 있지 않다고 나와 있습니다.

https://firebase.google.com/docs/android/setup#add-config-file 을 확인하십시오.

여기에 이미지 설명 입력

답변 @야론 마지막 코멘트. 제한된 지식과 화기 기지 사용을 기반으로 합니다.

Firebase 프로젝트 콘솔(Google-services.json을 다운로드하는 곳)에서 API 키를 가져옵니다.앱 ID를 입력하고 SHA 인증서를 제공합니다.따라서 요청이 작동하려면 동일한 앱 ID와 인증서를 가진 앱에서 요청해야 합니다.

코드베이스에 숨길 2엔드 키가 없습니다.백엔드가 확인됩니다.

언급URL : https://stackoverflow.com/questions/37358340/should-i-add-the-google-services-json-from-firebase-to-my-repository

반응형