gpt4 book ai didi

laravel - 如何使用 Laravel Passport 从 API 注销用户

转载 作者:行者123 更新时间:2023-12-03 08:11:53 25 4
gpt4 key购买 nike

我目前正在使用 2 个项目。 1 个前端(使用 Laravel 后端与 API 通信)和另一个 Laravel 项目(API)。

现在我使用 Laravel Passport 来验证用户并确保每个 API 调用都是经过授权的调用。

现在,当我想注销我的用户时,我向我的 API(带有 Bearer token )发送一个 post 请求并尝试将他从 API 注销(并清除 session 、cookies...)

然后在客户端上,我还刷新了 session ,因此不再知道 token 。现在,当我返回登录页面时,它会自动登录我的用户。 (或者我的用户还没有登录)。

有人可以解释我如何正确注销使用 Laravel 护照的用户吗?

提前致谢。

最佳答案

您需要从数据库表中删除 token oauth_access_tokens你可以通过创建一个像 OauthAccessToken 这样的新模型来做到这一点。

  • 运行命令 php artisan make:model OauthAccessToken创建模型。
  • 然后创建 User 之间的关系模型和新创建的 OauthAccessToken型号,在 User.php添加 :
    public function AauthAcessToken(){
    return $this->hasMany('\App\OauthAccessToken');
    }
  • 在 UserController.php 中,创建一个新的注销函数:
    public function logoutApi()
    {
    if (Auth::check()) {
    Auth::user()->AauthAcessToken()->delete();
    }
    }
  • 在 api.php 路由器中,创建新路由:
     Route::post('logout','UserController@logoutApi');
  • 现在您可以通过调用发布到 URL /api/logout 来注销。
  • 关于laravel - 如何使用 Laravel Passport 从 API 注销用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43318310/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com