【问题标题】:What's a Laravel/Passport client user_id for?Laravel/Passport 客户端 user_id 有什么用?
【发布时间】:2019-04-25 14:59:36
【问题描述】:

在为 Laravel/Passport 创建新的“客户端”时,我对 user_id 的角色有点困惑。

我正在使用授权代码工作流程,其中第 3 方应用程序将在用户授权后访问我的应用程序中的数据。

据我了解,这个第 3 方应用程序是“客户端”,没有理由与特定用户关联,因为可能有多个不同的用户使用它。我错过了什么吗?

【问题讨论】:

  • 客户端归授权它的用户所有,因此他们可以进行de授权等操作。
  • 好的,在用户可以实际授权/取消授权客户端的情况下,这是出于“客户端管理”的目的。如果我要直接在数据库中管理客户端(这听起来不太干净但好吧..),那么 user_id 就无关紧要了吧?
  • 当然,如果你想这样使用它。您可以保留该列并使其可以为空,这样您就可以同时支持这两个用例。

标签: laravel laravel-passport


【解决方案1】:

在授权流程的情况下您是对的,您不会使用它,并且可能应该为 null,因为授权流程代表用户授予客户端使用其数据的权限,现在请记住有密码授予流程,此流程可能仅用于一个客户端(您在 passport:install 命令中默认使用的客户端),或者您可以定义一个更复杂的结构,其中用户由客户端表示,因此您需要与此用户一样多的客户端很少见,因为这意味着每个用户都代表一个应用,但取决于应用或服务的类型,可能需要这种方式。

还有客户端管理场景。如前所述,在某些用例中,用户可能是该客户端的“管理员”,因此可以更新值或撤销访问权限等。

https://github.com/laravel/passport/issues/600.

【讨论】:

    猜你喜欢
    • 2019-07-21
    • 1970-01-01
    • 2019-05-07
    • 2019-04-17
    • 2023-04-03
    • 2018-12-11
    • 2021-12-21
    • 2019-12-27
    • 2017-09-28
    相关资源
    最近更新 更多