2017-03-04 2 views
2

저는 Laravel로 RESTful API를 구축했으며 효과적입니다.추가 보안을 위해 Laravel API와 함께 앱 토큰 사용

사용자가 레코드를 만들거나 업데이트하려고 할 때 인증이 있습니다.

그러나 응용 프로그램 토큰과 함께 하나의 추가 보안 수준을 추가하고 싶습니다.

이 토큰을 .env 파일에 넣었고 나의 API가 어떤 작업을 수행하기 위해 요청에 app_token="uniquestring"이 있는지 확인하고 싶습니다.

기본적으로 사용자가 올바른 api_token을 가지고 있는지 상관하지 않으며, 요청에 application_token이없는 경우 false를 반환하고 싶습니다.

컨트롤러가 몇 개 있지만 하드 코드 할 수 있지만 그룹을 만들고 특정 규칙을 설정하면 도로에서 수행하는 것이 좋습니다. app_token != {my app token} 다음에 Request denied 또는 그 윤곽?

팁을 주시면 감사하겠습니다. 미리 감사드립니다!

답변

1

예, 올바른 접근 방법이 있습니다. Bur는 미들웨어를 만들어 라우트 그룹에 적용합니다.

public function handle($request, Closure $next) 
{ 
    if ($request->header('app_token') && $request->header('app_token') == 'uniquestring') { 
     return $next($request); 
    } 
    return response('Unauthorized.', 401); 
} 

는 미들웨어를 가정하는 것은 kernel.php에 'APPTOKEN'로 별명입니다, 당신의 경로에 미들웨어로 추가

Route::group(['middleware' => ['auth:api', 'apptoken']], function(){ 
    ... 
});