댓글을 추가했지만 명성으로 허용되지 않습니다.
저는 오래 전에이 문제를 가지고 있었으며 PHP/Apache 구성과 관련이 있다고 생각합니다. Authorization 헤더는 특정 PHP/Apache 구성에서 응용 프로그램에 도달하기 전에 제거됩니다. 해결 방법은 .htaccess (또는 가상 서버)에 다시 쓰기를 추가하는 것이 었습니다.
나는 나의 해상도의 세부 사항을 기억 해달라고하지만, 당신의 .htaccess이 추가 도움이 될 수 있습니다 :
RewriteEngine On RewriteCond %{HTTP:Authorization} ^(.*) RewriteRule .* - [e=HTTP_AUTHORIZATION:%1]
내가 다른 응용 프로그램 (심포니 프레임 워크)가
는이 대신 사용
RewriteEngine On
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
을
기본 승인을 시도 했습니까 - 작동하는지 확인 했습니까? 이 같은 헤더를 만듭니다
$username = 'username';
$password = 'password';
$auth = base64_encode($username.':'.$password);
$auth_header = 'Basic '.$auth;
위의 코드를 사용하는 경우, $의 auth_header는 "기본 dXNlcm5hbWU6cGFzc3dvcmQ ="
되며 전체 헤더 '인증 : 기본 dXNlcm5hbWU6cGFzc3dvcmQ ='될 것
당신이 당신의 헤더에, PHP에서 사용할 수 있음을 보내는 경우 :
var_dump('username is: '.$_SERVER['PHP_AUTH_USER'] . ' and password is: ' . $_SERVER['PHP_AUTH_PW']);
올바른 방향이 수도 적어도 지점 당신.
내가보기에 또 다른 것은 위의 테스트 코드가 응답 헤더를 설정하는 것처럼 보이지만 요청 헤더를 var_dumping하는 것입니까? 나는 당신의 테스트가 당신이 덤프하려고 시도하고있는 실제 요청을 보내는 별도의 파일/어플리케이션/브라우저를 필요로한다고 가정하고있다.
기본 승인을 사용하는 경우 브라우저는 OPTIONS 비행 요청을 보낼 수 있으며 그 다음 요청이 전송되기 전에 서버 측에서 처리해야 할 수도 있습니다.
@deepwinter [들어오는 PHP 요청에서 맞춤 인증 헤더 가져 오기] (http://stackoverflow.com/questions/2902621/fetching-custom-authorization-header-from-incoming-php-request/16311684)에서이 대답을 확인하십시오. # 16311684) – chirag
@chirag 답장을 보내 주셔서 감사합니다.하지만 그 방법을 사용해 보았습니다. 결과가 없습니다 – Amiyar
누구든지 제발 도와 드릴까요? – Amiyar