2017-12-28 37 views
0

firebase는 firebase 클라우드 메시징을 사용하기 위해 클라이언트 측 sdk와 서버 측 admin sdk를 제공합니다.클라이언트 측에서 firebase 클라우드 메시징은 얼마나 안전합니까?

은 무엇 저를 혼동하는 것은 이것이다 :

우리는 자바 스크립트 파일 또는 스크립트 태그 대중의 클라이언트 측 초기화 코드를 포함한다. 누군가이 초기화 자격 증명을보고 앱에 연결된 기기에 직접 게시물 요청을 보낼 수 없습니까? 사용자가 스팸이나 악의적 인 알림을 계속 보내면 어떻게 될까요? admin sdk에서만 전체 FCM 기능을 사용할 수 있습니까?

내 nodejs 앱에 firebase 호스팅을 사용하고 있는데 FCM을 구현하는 방법에 대해 매우 혼란 스럽습니다.

firebase가 클라우드 메시징 및 알림보다 어떤 종류의 인증 또는 확인을 제공합니까?

내 웹 앱 클라이언트에서 FCM 알림을 얼마나 안전하게 사용하고 있습니까?

+1

FCM으로 메시지를 보내려면 이름에서 알 수 있듯이 공개 키가 아닌 소위 FCM 서버 키를 지정해야합니다. FCM 서버 키는 클라이언트 측 구성 데이터의 일부가 아닙니다. 클라이언트 측 초기화에는 공개 될 구성 데이터가 필요합니다. –

답변

0

레거시 FCM에 사용 된 FCM API 키를 노출시키지 마십시오. 걱정이된다면 프로젝트의 Google 클라우드 관리 콘솔에서 GCM 게시 API를 사용 중지하세요.

이제 새 v1 API는 서버의 서비스 계정 키를 사용하여 발급 된 Oauth 토큰을 사용합니다. 그래서 학대를 막을거야. 공개적으로 액세스 할 수있는 장소에 서비스 계정 키를 두지 마십시오. 프로젝트의 Google 클라우드 관리 콘솔에서이 기능을 활성화해야합니다.

데이터베이스 URL, 스토리지 버킷 정보, 앱 ID 및 db에 대한 apikey는 공개적으로 노출 될 수 있습니다.

예를 들어, 내 웹 프로젝트에서 알림을 보내야하는 버튼 클릭에 실제로 데이터가 FCM 부분을 포함하는 서블릿에 게시됩니다. 이제는 학대를 예방할 것입니다.

+0

웹 프로젝트에서 가능한 경우 실제로 알림을 게시 할 서버 측 코드를 호출하도록합니다. – Kushan