2014-11-23 2 views
0

개인 비공개 API가 있습니다. 각 고객 웹 사이트는 현재 SSL을 통한 서버 측 인증을 수행하여 우리와 함께 주문을 시작합니다. 각 클라이언트는 고유 한 클라이언트 ID를 가지므로 어떤 클라이언트가 요청을하는지 식별하고 시스템에없는 클라이언트 ID를 거부 할 수 있습니다. javascript를 사용하여 고객 웹 사이트의 프런트 엔드에서이를 안전하게 수행 할 수있는 방법이 있습니까? 어떤 개발자라도 소스 코드를보고 다른 사이트의 요청을 스푸핑하는 방법을 알아낼 수 있기 때문에 클라이언트 ID에 클라이언트 ID를 넣을 수 없습니다. 나는 리퍼러 헤더를 확인하는 것이 신뢰할 만하지 않다고 생각한다. 이와 같은 상황에 가장 적합한 방법을 알고 싶습니다.글꼴 특정 웹 사이트에서만 보안 인증을 허용합니다.

답변

0

질문을 올바르게 이해할 수 있는지 확실하지 않지만 일반적으로 사용자를 인증 할 때 발급되는 보안 토큰에서 클라이언트 ID를 클레임으로 인코딩해야합니다. 보안 토큰이 발급자에 의해 서명되므로 각 요청에서 토큰을받을 때 토큰이 수정되지 않았는지 확인할 수 있습니다.

확실하게 토큰이 도용되지 않도록 https 프로토콜을 사용해야합니다. 자세한 내용은 here을 참조하십시오.

+0

이것은 서버 측에서하는 것처럼 들립니다. 프런트 엔드 솔루션을 찾고 있습니다. 안전하게 작동하고 이미 잘 작동하는 인코딩 된 서버 측 솔루션이 있지만 제 3 자와보다 쉽게 ​​통합 할 수있는 제품을 출시하려고 노력하고 있으며 서버 측 통신의 필요성을 없애려하고 있습니다. – deecodameeko

+0

실제로 서버 통신이 필요한 사용자를 인증 할 때이 작업을 수행해야합니다. 브라우저에서 변경하기 쉽기 때문에 클라이언트가이를 수행 할 수 없다고 신뢰할 수 없습니다. – MvdD

+0

또한 사용자 인증을 시도하는 것이 아니라 내 API와 통화 할 수있는 웹 사이트 만 식별하려고합니다. – deecodameeko

관련 문제