2013-06-28 3 views
0

REST API를 사용하도록 내 앱만 권한을 부여하는 방법은 무엇입니까?Ajax 통화가 포함 된 비공개 REST API

나는 PHP에서 REST API를 사용하여 데이터베이스에서 사용자를 제거합니다 자바 스크립트

$.ajax({ 
       type: 'DELETE', 
       url : 'removeTest', 
       data: { ... }, 
       beforeSend:function(){ 
        ... 
       }, 
       complete:function(){ 
        ... 
       }, 
       success:function(data, textStatus, jqXHR){ 
        ... 
       } 
      }); 

이 호출이 코드가 있습니다. 문제는 모든 사용자가 POSTMAN (Chrome 플러그인)을 사용하여 사용자를 삭제할 수 있다는 것입니다. 내 앱만 인증하도록 내 REST API를 보호하려면 어떻게해야합니까?

HTTP_REFERER가 충분하지 않은지 확인하십시오. 무엇이 더 좋을까요? 당신의 도움이

답변

0

에 대한

덕분에 당신은 여기에 몇 가지 가능성이있다. 일반적으로 사용자, 앱 또는 둘 모두를 인증 할 수 있습니다. 이는 응용 프로그램 요구 사항에 따라 다릅니다. 이러한 API-키로 당신이 토큰 기반 시스템을 사용할 수있는 응용 프로그램을 인증하기 위해

인증합니다 응용 프로그램

. 이것은 모든 요청이 추가 요청 매개 변수를 사용하여 서명됨을 의미합니다. 예를 들어 S3 서비스에서 the way amazon does this을 살펴보십시오. 애플리케이션이 나머지 API에 액세스 할 수있는 유일한 애플리케이션이면 IP 주소로 액세스를 제한 할 수 있습니다.

클라이언트를 통해 서비스를 사용하는 사용자가 여러 명인 경우 특정 기능에 대한 액세스 권한을 부여해야 할 수도 있습니다. 예 : 모든 사용자가 리소스를 삭제할 수 있습니까? 응답이 아니오 인 경우에, 당신은 를 사용하는 사용자

편안한 API에서 사용자를 인증하는 간단한 방법을

하여 인증을 구현하고 권한을 부여 할 필요가 HTTP 기본 또는 다이제스트 인증. 이 설정에서 사용자 자격 증명은 Authorization 헤더를 통해 username : password 형식의 Base64 인코딩 해시로 서버에 전송됩니다. HTTPS를 사용하는 보안 연결을 통해서만이 작업을 수행해야합니다.

또한 OAuth과 같이 더 복잡하고 정교한 방법을 살펴볼 수도 있습니다.

관련 문제