2011-04-07 4 views
4

Google API 용 자바 스크립트 SDK를 구축 중입니다. 현재 API에는 (2 다리가있는) OAuth 인증이 필요합니다. 분명히 키와 비밀은 일반 사이트 (JS 코드)에 있으므로 JS SDK에는 적합하지 않습니다.자바 스크립트 SDK를 통한 API 인증

페이스 북은 자신의 JS SDK를 초기화 할 때 응용 프로그램 ID 만 필요하므로 비슷한 (또는 비슷한 단순성)을 구현하고 싶습니다. 개발자가 키를 요청하면 앱의 도메인이 필요합니다. 제출 된 도메인의 IP 주소를 감지하려고합니다 (예 : myclientapp.com의 IP 주소는 192.168.0.0입니다). 그런 다음 원격 호스트 IP 주소가 일치하는지 확인하여 JavaScript 요청을 인증합니다.

이렇게하는 것이 가장 쉽고/쉬운 방법입니까?

업데이트 : Rup으로 지적했듯이 원격 IP는 클라이언트이므로 앱 URL의 IP와 일치하지 않습니다. 그게 다야. 다시 말해서 다른 누군가가 (elses 앱이 되려고) 스푸핑 할 수없는 내 API 용 JavaScript sdk에서 인증 양식을 시행 할 수있는 솔루션을 찾고 있습니다.

감사합니다,

개빈

+0

요청한 IP는 도메인을 제공하는 컴퓨터가 아닌 최종 사용자가됩니다. 사용하실 수 없습니다. 죄송합니다. 아니면 API 키 요청입니까? 나는 그들이 서버에서 왔을 지 의심 스럽다. – Rup

+0

사실, 댐. 내가 쓸 수있는 것에 대한 제안은? 그렇지 않으면 누군가가 누구의 앱인 것처럼 가장 할 수 있기 때문입니다. – Gcoop

답변

1

대신 사용자를 인증합니다.

은 (주장하지만, 신뢰할 수없는) 앱 ID는 도메인에게 JSONP, 당신의 init()에 전달 된 적이 중 하나

  • 반환 사용자가 로그인되어있는 경우와 API 요청을 만들기위한 유효한 코드 * 이미 앱을 승인했습니다.
  • 사용자 로그인 (필요한 경우)을하고 응용 프로그램을 인증하려면 창을 팝업 (또는 리디렉션 또는 기타)하십시오.

인증 중에 사용자 경험을 제어 할 수 있으며 앱 ID에 대한 사람의 인증을받을 수 있습니다 (주장 된 로고, 이름 등을 표시).

여기에는 심지어 사용자의 개념이 포함되어 있다고 가정합니다.

* 모든 브라우저가 아약스 요청에 대한 응답으로 쿠키를 허용하지는 않습니다. 모든 브라우저는 으로을 전송합니다.

+0

내가 필요한 것의 종류. 기본적으로 jsonp는 도메인에서 auth 인 앱 ID 만 가질 때 사용합니다. 그런 다음 사용자가 인증되거나 api가 (2-legged) oauth로 서버를 통해 액세스되면 표준 JSON을 허용합니다. – Gcoop

관련 문제