2014-03-07 1 views
0

나는 사용자가 액세스하려면 로그인해야하는 사이트가 있습니다. 다른 서버에 저장된 데이터를 가져 오기위한 웹 서비스 호출이 있습니다.Javascript로 HTTP 인증을 건너 뛰시겠습니까?

하지만 서버에 액세스하려면 사용자는 로그인 팝업을 통해 다시 로그인해야합니다. 이를 피하기 위해 사용자/암호는 전달하지만 URL은 전달하지 않습니다.

Javascript에서이 작업을 수행 할 수 있습니까? 헤더에 사용자/비밀번호를 추가하거나 이와 비슷한 것을 사용할 수 있습니까?

+0

JavaScript를 사용하여 통신하는 서버 측 언어로 프록시를 작성해야합니다. 그렇지 않으면 사용 된 암호가 소스 코드에 표시됩니다. – str

답변

1

XMLHttpRequest 개체의 W3C 사양을 살펴보십시오. 5 매개 변수 버전의 '열기'방법을 사용하면 사용자 이름과 암호를 지정할 수 있습니다.

염두에 두어야 편집 :이 암호가 공개적으로 액세스 할 수 있도록합니다.

+0

대부분의 JS 라이브러리는 OP가 이미 하나를 사용하고있는 경우를 대비하여 로그인 정보를 지정하는 편리한 방법을 제공합니다. –

+1

하지만 암호를 공개적으로 액세스 할 수 있습니다. – str

+0

HTTPS 요청을 사용합니다. – JGeo

1

이 유형의 권한 부여는 일반적으로 요청 헤더를 통해 수행됩니다. 웹 페이지와 상호 작용하는 일반 사용자의 경우 로그인 자격 증명은 요청의 쿠키를 사용하여 기억할 수 있습니다. API 액세스의 경우,이를 수행하는 표준 f}은 요청의 POST 본문에 포함 된 bearer tokens입니다. 참조 : OAuth2.

인증 API 액세스 (사용자 제외)의 경우 인증은 일반적으로 API 키를 통해 수행됩니다.

중요 각주 : 모든 인증을 수행 할 때마다 요청이 암호화되는지 확인해야합니다 (쿠키를 설정할 때 인증에 사용되는 쿠키가 "안전"으로 표시되어 있음).