2011-12-28 3 views
2

내 REST 서비스를 원활하게 작성했으며 json 결과를 반환한다고 가정 해 보겠습니다.API 키를 사용하여 클라이언트 측에서 사용할 내 REST 서비스 보호

또한 내 사용자가 내 서비스와 통신하기위한 API 키를 구현했습니다.

그런 다음 회사 A가 내 서비스를 사용하기 시작했으며 API 키를 제공했습니다.

예를 들어, 다음과 같이 내 서비스 URL이 있다고 가정 할 수 있습니다 :

https://api.myservice.com/data?apikey= {key_comes_here}

큰 문제는 나는 또한 내 자신의 같은 REST 웹을 호출해야 내 자신의 웹 사이트를 것입니다 서비스. 나 자신의 REST 서비스를 호출 할 때 내 웹 사이트에서 API 키를 전달하면 누군가가 Firebug와 같은 것을 사용하지 못하도록 막고, 내 웹 앱에서 사용하는 API 키를 확인하고 동일한 API 키를 사용합니까?

답변

1

Google에서 예를 들어 사용하는 방법. Google지도는 API를 URL에 연결합니다. 따라서 키를 요청할 때 지정된 URL의 응용 프로그램에서만 제공된 키만 사용할 수 있습니다. 이 기능은 서버에서 참조 URL을 얻을 수있는 웹 응용 프로그램에서 특히 유용합니다.

+0

추천자가 스푸핑 될 수 없습니까? http://en.wikipedia.org/wiki/Referrer_spoofing – djna

+0

소리가 아주 좋지만 모바일 장치에서 내 웹 서비스에 대한 액세스 권한을 노출해야하는 경우 어떻게해야합니까? –

+0

@djna 리퍼러는 물론 스푸핑 될 수 있지만 웹 사이트에서 공개 API를 공개하면 사용자는 표준 웹 브라우저를 통해 API에 액세스하게됩니다. 일반 사용자가 리퍼러를 스푸핑해야하는 경우 대부분의 사용자는 웹 사이트를 사용할 수 없습니다. 사용자가 API에 직접 액세스 할 수있는 경우 사이트가 HTTPS로 보호되는 경우에도 항상 API 키를 볼 수 있습니다. 따라서 키를 숨기려면 백엔드 시스템에서 서비스에 액세스해야한다고 생각합니다. 네트워크 스니퍼로부터 백엔드 트래픽을 보호하려면 HTTPS를 사용할 수 있습니다. –

관련 문제