저는 Laravel에 API를 구축 중이며 HTTP 기본 인증을 사용하려고합니다. 이메일/비밀번호 조합이 [email protected]:testpass
인 사용자를 생성했습니다. 이것이이다 그러나 때문에, 나는이 경로에 auth.basic
경로 필터를 부착하면 https://[email protected]:[email protected]/users/2
Laravel HTTP 기본 인증이 작동하지 않습니다.
, 나는 성공적으로 인증하고 Auth
클래스를 통해 인증 된 사용자의 정보를 액세스 할 수 있습니다 : I 인증이 필요합니다 다음 URL에서 엔드 포인트에 접근하고있어 무엇 Auth::onceBasic()
의 결과 것은 여기에 항상 내가 머무는을 보내고있다하더라도 사용자 이름/암호 조합 불구하고, 승인되지 않은 반환에 상관없이
// Our own auth filter to use onceBasic and return a consistent API response
Route::filter('basic.once', function() {
$result = Auth::onceBasic();
if ($result->getStatusCode() === 401) {
// Unauthorized, return our own response
return Response::json([
'message' => 'Bad credentials'
], Config::get('status.error.unauthorized'));
}
return $result;
});
: API 나는 비 저장 HTTP 기본 인증을 사용하려면, 그래서 난 내 자신의 필터를 썼다 같은. 심지어 내 필터에서 Auth::onceBasic()
을 Auth::basic()
으로 변경하더라도 인증되지 않은 상태로 반환됩니다.
내 필터가 Laravel과 함께 제공되는 auth.basic
필터와 기본적으로 동일하므로 일관성있는 API 출력을 생성하는 데 더 많은 코드가 있지만 디버깅을 시작할 위치조차 알지 못합니다.
사용자 모델을 게시 할 수 있습니까? 또한 db 해시에 암호가 있습니까? – lukasgeiter
해결 했습니까? .httaccess를 변경하려고 했습니까? – chemitaxis