0

저는 Firebase 보안과 웹 개발에 익숙 합니다만, Rails 앱의 서버 측에서 JWT를 생성하고 있습니다. 그러나, 중포 기지로 통과, 그것이 내가이 자바 스크립트 코드 뷰에서 (DB에 사용자의 테이블에 저장되어있는) 토큰을 통과해야 보인다인증 토큰을 공개적으로 볼 수 있습니까?

var ref = new Firebase('https://mysite.firebaseio.com/'); 
ref.auth('<%= @user.auth_token %>'); 

당신이 가정하는 방법이다 인증 토큰을 처리할까요? 필자는 인증 토큰이 페이지 소스의 사용자에게 표시 될 수 있으므로이 점을 무시한다고 생각했습니다.

+0

필자는 Firebase 데이터를 안전하게 유지하는 방법과, 내 앱 중 하나에서 구현 한대로 Access 토큰을 처리하는 방법에 대해 아래에서 설명했습니다. 더 많은 포인터를 제공하십시오. – akhilesh1988

답변

0

auth tokenFirebase REST APIshere에서 볼 수 있습니다.

쿼리 매개 변수 auth 값도 사용할 수 있습니다. 누군가 wireshark를 사용하는 것처럼 http 패킷을 어느정도 추적하면이 값을 사용할 수 있습니다. JWTauth 토큰은 단지 문자열입니다.

그러나 JWTsToken Generation Libraries을 사용하여 특정 만료 시간으로 생성 할 수 있으며 기본적으로 만료 시간은 24 시간입니다. 그들이 발행하고 클라이언트가 자동으로 해당 시간에 인증되지 않은 것입니다 후

참조

는 기본적으로 인증 토큰은 24 시간 만료됩니다. Firebase 대시 보드의 로그인 & 인증 탭에서 세션 길이 설정을 변경하거나 특정 만료 날짜를 제공하여 토큰을 만들 때 개별적으로 세션 길이 설정을 변경할 수 있습니다. 자세한 내용은 사용중인 특정 토큰 생성기 라이브러리에 대한 문서를 참조하십시오.

또한 firebase는 firebase의 데이터에 액세스하기 위해 Definite Rules을 지정하는 방법을 제공합니다. See Here

또한 데이터 일관성을 유지하기 위해 Data Validation을 제공합니다. See Here

2

중포 기지의 인증 토큰은 정체성에 사용하지만 인증입니다. 후자는 사용자의 Firebase Security Rules에 의해 관리되며 데이터의 현재 (및 미래의 경우 쓰기) 상태를 인증 토큰에 제공된 ID와 함께 사용하여 주어진 읽기 또는 쓰기 작업이 허용되는지 여부를 결정합니다.

결과적으로 사용자는 자신의 인증 토큰을 보거나 액세스 할 수 있지만 다른 사용자의 인증 토큰을 보거나 액세스 할 수 없어야합니다. 이렇게하면 다른 사용자 (잠재적으로 악의적 인 사용자)가 해당 인증 토큰에 해당하는 사용자.