2017-04-10 21 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 からトークンを削除する必要があります。ログアウトのための新しい関数を作成し、UserController.phpで

    public function AauthAcessToken(){ 
        return $this->hasMany('\App\OauthAccessToken'); 
    } 
    
  2. はその後User.phpアドオンで、Userモデルと新しい作成OauthAccessTokenモデルとの関係を作成

    public function logoutApi() 
    { 
        if (Auth::check()) { 
         Auth::user()->AauthAcessToken()->delete(); 
        } 
    } 
    
  3. api.phpのルータでは、新しいルートを作成します。

    Route::post('logout','[email protected]'); 
    
  4. 今あなたがログアウトした後、HTTPヘッダー内の任意のトークンを見ることができるURL /api/logout
+0

リフレッシュトークンについてどうしたらいいですか? – QuietSeditionist

関連する問題