【问题标题】:Use Laravel Passport with Angular 6在 Angular 6 中使用 Laravel Passport
【发布时间】:2020-07-09 21:11:07
【问题描述】:

我有一个使用 Passport 进行身份验证的 Laravel 应用程序。我有多个关于 Passport 身份验证的问题:

  • 为什么即使用户有新的令牌,Passport 也会存储所有令牌(在表 oauth_access_tokens 中),我可以避免这种巨大的存储空间吗?
  • 如何在 Angular 部分使用这个令牌?我可以将其保存在 LocalStorage 或 Cookies 中并重定向用户吗?但是如何验证它是否是一个有效的令牌呢?

谢谢

【问题讨论】:

    标签: angular laravel laravel-passport


    【解决方案1】:

    可以使用随附的其中一种工匠命令删除令牌:

    php artisan passport:purge --expired
    

    所以你可以使用调度程序调用这个工匠命令,比如每天一次。

    请参阅https://laravel.com/docs/7.x/passport#purging-tokens 了解更多信息。

    至于你的第二个问题,有多种方法可以做到这一点。这里解释了一种方法 https://laravel.com/docs/7.x/passport#consuming-your-api-with-javascript ,它解释了如何添加一个中间件,该中间件将一个 laravel_token cookie 附加到每个请求。然后,此 cookie 会从您的 JavaScript 请求中自动发送,并对用户进行身份验证。

    【讨论】:

    • 谢谢,我现在很清楚,只是第一个问题,我希望我能找到一种方法在用户进行新的身份验证或注销后删除令牌,等等在生产中,我不需要每次清除。再次感谢
    • 您可以使用 DB::table('oauth_access_tokens')->where('user_id', $userId)->delete() 手动删除那些,就在请求新的之前。可能有一种方法可以解决这个问题。不过,artisan 命令是一个更简单的解决方案。
    • 是的,这看起来也是个好主意,一旦应用程序投入生产,我会看看哪个更好,谢谢你的帮助:)
    • 请帮助,命令“passport:purge”未定义。
    猜你喜欢
    • 2019-02-04
    • 2020-05-28
    • 2020-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-22
    • 1970-01-01
    • 2017-10-25
    相关资源
    最近更新 更多