2012-05-15 4 views
7

블로거/웹 사이트 소유자가 설치할 자바 스크립트 플러그인을 작성 중입니다. 내 원격 API와 통신합니다.자바 스크립트 위젯과 함께 사용하기위한 API 보안하기

서비스에 계정을 등록한 사용자가 소유 한 도메인 만 API의 리소스에 액세스 할 수 있도록 API를 보호하는 방법을 알고 싶습니다. 나는 OAuth2에 대해 읽었으며 기본 사항을 이해하고 있지만 플러그인은 서버에서 서버로가 아니라 브라우저 내에서 실행되기 때문에 이것이 얼마나 안전 할 수 있는지 잘 모르겠습니다.

mixpanel, google analytics, olark와 같은 수많은 서비스는 동일한 개념 (즉, 웹 사이트 소유자가 사이트에 JS 줄을 설치 함)을 사용하므로 해결 된 문제 여야합니다.

+0

정확히 방지하려고합니까? – SLaks

+0

사람들이 액세스하지 않아야하는 데이터에 액세스하지 못하도록하려는 경우 (예 : 내가 소유하거나 통제하지 않는 사이트의 Google Analytics 데이터에 액세스하고 있습니다. Google은이 방법을 사용하지만 방법은 무엇입니까? OAuth를 사용하고 있습니까? – cjroebuck

+0

아니오; Google은 그렇게하지 않습니다. Google 애널리틱스 스크립트는 모든 데이터에 대한 액세스 권한을 부여하지 않습니다. – SLaks

답변

3

다른 사람들이 서버에 직접 포함시키지 않으려면 window.location 수표를 스크립트에 삽입 할 수 있습니다.

그러나 사람들이 스크립트를 로컬로 다운로드하지 못하도록하고 보호를 제거한 다음 스스로 호스팅하는 것을 막을 수는 없습니다.

모든 서버 측 요청에서 API 키를 요구할 수 있지만 적군은 합법적 인 사이트에서 API 키를 쉽게 훔칠 수 있습니다.

+0

내 API와의 통신 없이도 스크립트는 거의 쓸모가 없을 것입니다. 미안하지만 내 질문에 약간 애매하다. 내가 언급 한 서비스가 구현 방법에 대해 조금 혼란스러워한다. – cjroebuck

+0

귀하가 언급 한 서비스 중 어떤 것도 정보를 반환 할 수 없습니다. – SLaks

+0

SLaks 머리에 그것을 누르십시오. GA 및 Mixpanel 위젯은 데이터 만 전송하며 특정 GA 키를 사용하여 사이트가 해당 데이터에 액세스 할 수 없다는 것만 제외하고 데이터를 기록하지 못합니다 (합법적 인 사용자를 위해 쉽게 필터링 됨). Olark의 경우 데이터가 다시 돌아 오지만 (즉, 운영자가 보낸 메시지) 세션에 따라 다르며 인증되지 않은 사용자별로 동일하게 적용됩니다 (저는 Olark의 엔지니어입니다. 일종의 URL 확인은 SLaks가 언급 한 이유 때문에 결국 쓸모가 없으므로). –

관련 문제