2010-07-30 3 views
3

요청을 보내기 전에 jQuery Ajax 호출을 수행하고 호출을 인증하려면 어떻게해야합니까?jquery 인증

로그인하지 않았습니다. 인증해야합니다. 보안은 누군가 인증을 받아야 액세스 할 수있는 문제는 아닙니다. 단지 기본 http 인증을 사용하면 API를 볼 수 있습니다. http://lighthouseapp.com/api/the-basics

+1

웹 사이트/API는 어떤 종류의 인증을 사용합니까? – tvanfosson

+0

"보안에 문제가 없다"는 것과 "인증 만하면됩니다"가 같은 문장에서 의미가 있음을 알 수 없습니다. 인증이 필요한 경우 신원 확인이 진행 중입니다. 한 사람이 다른 사람으로 가장 할 수 없다면 보안이 중요합니다. – Pointy

답변

0

사용하는 인증 종류를 지정하지 않았으므로 사용자 이름과 비밀번호를 게시하는 일종의 로그인 페이지/작업이 있다는 것을 큰 가정으로 알릴 것입니다. to를 매개 변수 이름으로 사용합니다. 사이트 간 요청 위조를 방지하기 위해 숨겨진 필드와 같은 다른 필드가있는 경우이를 포함시켜야합니다. 나는 또한 당신이 이미 인증되지 않았다는 것을 당신이 알고 있다고 가정 할 것입니다. 이것을 발견 할 수있는 방법이 있지만 그것을 다루지는 않을 것입니다. 또한 별도의 인증 유형이 필요한 일부 API가 아니라 웹 사이트의 작업에 게시한다고 가정합니다.

당신이 할 첫 번째 일은 올바른 사용자 이름/암호 조합으로 로그인 작업에 대한 POST (가정)입니다. 당신이 이걸 어떻게 얻는지는 당신에게 달린 것입니다. 이렇게하면 웹 사이트에서 사용자를 인증하고 브라우저에 적절한 인증 쿠키를 제공하여 향후 요청시 보낼 수 있습니다.

인증 실패를 감지하고 처리해야합니다. 로그인 액션이 AJAX (HTTP_X_REQUESTED_WITH 헤더를 사용하는 것이 좋은 방법입니다)를 통해 호출 될 수 있다는 것을 이해하면 상태 설정과 함께 JSON을 반환 할 수 있습니다. 그렇지 않으면 반환 된 HTML을 긁어내어 알아 내야합니다.

일단 인증 쿠키가 있으면 특별한 처리없이 실제 AJAX 요청을 할 수 있어야합니다.

1

웹 사이트 사용자가 이미 인증 된 경우 대부분의 경우 아무 것도하지 않아도됩니다. 인증 쿠키는 AJAX 호출과 함께 전송됩니다. 그렇지 않으면 HTTP Basic 인증을 시도 할 수 있습니다.

1

사용자 상호 작용없이 인증을 수행하도록 javascript를 얻으 려한다면하지 마십시오.

인증 로직을 클라이언트가 사용할 수있는 코드로 하드 ​​코딩하면 API 보안이 심각하게 손상 될 수 있습니다. 자바 스크립트에 사용자 이름/암호를 넣으려면 왜 암호를 사용합니까?

API에 액세스 할 수 있고 인증을 다시 할 수있는 경우 인증을 위해 토큰 시스템을 사용할 수 있습니다. 그냥 내 $ .02