2012-06-13 1 views
3

내 회사는 다른 웹 사이트에 서비스를 제공합니다. 나는 구현중인 서비스에 질의를 보내고 응답을 받고 그 결과를 페이지에 렌더링하는 사이트 (예 : 위젯)에 퍼지는 간단한 코드 스 니펫을 제공 할 수 있기를 원합니다. 그들의 노력을 최소화하고 가능한 한 가장 작은 스 니펫 만주고 싶습니다. 이것은 또한 모든 클라이언트 측에서 계속 유지하고자하는 이유입니다.내 고객이 삽입 할 클라이언트 측 코드 스 니펫을 구현하는 안전한 방법이 있습니까

문제는 실제로 사이트에서 코드를 복사 한 다른 사람이 아니라 내 고객이 전화를 걸 었는지 확인하고 싶습니다. 웹 클라이언트 oauth2 흐름을 조사했지만 클라이언트를 인증 할 수없는 것으로 보입니다. 콜백 URL을 클라이언트가 내 서비스에 등록한 URL과 비교하여 클라이언트의 유효성을 검사하는 방법이 있다고합니다.

내 질문 :

  1. 는 더 나은 방법이 있습니까?
  2. 클라이언트의 유효성을 검사하기 위해 설명한 방법을 포함하여 oauth2 클라이언트 측 접근 방식이 충분히 안전합니까?
  3. 제안 된 구현 방법을 찾으려면 무엇에주의해야합니까?
+0

기본적으로 코드 스 니펫은 다양한 위치 (임의의 웹 사이트 방문자)의 수많은 클라이언트에서 실행되지만 각 코드가 특정 ID (고객)의 컨텍스트에서 실행되는지 확인하고자합니다. 스푸핑 할 수 없습니까? 불가능하지는 않지만 근본적으로 어려운 소리처럼 들립니다. +1하지만 응답을 기다리고 있습니다 ... – deceze

답변

0

OAuth-2.0에 정의 된대로 클라이언트 자격 증명 부여 인증을 사용할 수 있습니다. 이렇게하면 각 개별 클라이언트에 별도의 클라이언트 토큰 및 클라이언트 암호를 할당하고 토큰을 보내 액세스 토큰을 얻고 액세스 토큰을 사용하여 데이터를 요청할 수 있습니다.

또는 OAuth를 모두 건너 뛰고 SOAP WS-Security 인증서를 사용하여 각 클라이언트에 할당 된 웹 서비스를 인증 할 수 있습니다.

+0

답변 해 주셔서 감사합니다. 사실 oauth 2를 들여다 보았다. 문제는 클라이언트가 클라이언트 비밀 번호와 클라이언트 토큰 (전체 oauth2 플로우)을 처리하기 위해 서버 측 코드를 구현해야한다는 것이다. 나는 그들이 나를 피할 수있는 방법이 있기를 바랐다. – davidrac