proxy server 등의 방법 API key 숨기기

안녕하세요. 가입하고 처음으로 질문을 올려봅니다

최근에 인터뷰에서 firebase api key를 노출시킨 부분에 대해서 털렸습니다. 몇달 전 재미삼아 한 프로젝트라 가물가물 했는데 어떤 방식으로 API key를 client side에 노출시키지 않을 건가라는 질문이었습니다. 본인은 깃트랙스(?)를 이용해 했다는데 저는 처음 들어본 부분이어서 아직 찾진 못했습니다. 예전에 다른 개발자에게 듣기론 proxy server를 통해 api key를 전송시킨 후 앱에 접속하면 간단히(?) 노출을 막을 수 있다고 들었는데요.

혹시 proxy server를 통해 API 키나 private variables 를 만들어보신 분이 계신가요?

또는 본인만의 방법이 있으신 분이 계신가요?

1개의 좋아요

firebase apikey 가 노출되는것은 문제되지 않는다고 하네요.

https://groups.google.com/forum/#!msg/firebase-talk/-u2wBWSETds/MWP5BWtnFwAJ

그리고 백엔드와 통신할시 평문 apikey 를 클라이언트에서 저장하고 백앤드와 서로 주고 받는 것은 보안상 이슈가 존재하므로

@n0roo 말씀한데로 jsonwebtoken 등을 사용하는것이 안전할것 같습니다.

1개의 좋아요

보통은 key 보다는 권한 관계를 잘못 사용해서 벌어지는 문제라고 생각합니다.
인증 없이 key만으로 원하지 않는 crud가 가능한 상태에 문제가 있는거지요.

1개의 좋아요

답변 감사드립니다. 음… 레벨이 아직 일천하여 좋은 말씀을 제가 습득을 다 못하네요 ㅠㅜ
혹시 좋은 글이나 예제 알고 계신게 있나요? ㅎㅎ

파이어베이스 쪽에서는 그렇게 말하더라구요
ㅠㅜ 문제는 어쨋든 아예 노출을 안하는 방향은 무엇인가가 문제여서 고민 중입니다
웹토큰도 하나의 방법으로 알고 있습니다 ㅎㅎ