2017-04-10 6 views
9

현재 2 개의 프로젝트를 사용 중입니다. 1 프런트 엔드 (API와 통신하기위한 라우트 백엔드 포함) 및 다른 라우트 프로젝트 (API).laravel Passport를 사용하여 API에서 사용자를 로그 아웃하는 방법

이제 Laravel Passport를 사용하여 사용자를 인증하고 모든 API 호출이 인증 된 호출인지 확인합니다. 내 사용자가 로그 아웃 할 때

는 지금, 나는

(... 분명 세션, 쿠키,) (무기명 토큰) 내 API에 POST 요청을 보내고 API에서 그를 로그온을 시도

그런 다음 클라이언트에서 토큰을 더 이상 알 수 없도록 세션을 새로 고칩니다. 이제 로그인 페이지로 돌아 가면 자동으로 내 사용자를 로그인합니다. (또는 내 사용자가 아직 로그인 한 상태입니다.)

Laravel 패스포트로 사용자를 올바르게 로그 아웃하는 방법을 설명 할 수 있습니까?

미리 감사드립니다.

+0

에 게시 호출하여 로그 아웃 할 수 있습니까? –

답변

7

당신은 그 모델을 만들 OauthAccessToken

  1. 실행과 같은 명령 php artisan make:model OauthAccessToken를 새로운 모델을 만들어 당신이 할 수있는 데이터베이스 테이블 oauth_access_tokens 에서 토큰을 삭제해야합니다.

  2. 다음 User.php 추가에서 User 모델과 새로운 창조 OauthAccessToken 모델 사이의 관계를 만듭니다 UserController.php에서

    public function AauthAcessToken(){ 
        return $this->hasMany('\App\OauthAccessToken'); 
    } 
    
  3. 생성, 로그 아웃을위한 새로운 기능 :

    public function logoutApi() 
    { 
        if (Auth::check()) { 
         Auth::user()->AauthAcessToken()->delete(); 
        } 
    } 
    
  4. api.php 라우터에서 새로운 경로를 만듭니다.

    Route::post('logout','[email protected]'); 
    
  5. 지금 당신은 당신이 로그 아웃 후 HTTP 헤더에있는 토큰을 볼 수있는 URL /api/logout
+0

새로 고침 토큰에 대해 수행 할 작업은 무엇입니까? – QuietSeditionist