【问题标题】:Laravel 5.7 Passport oauth - Single client for multiple usersLaravel 5.7 Passport oauth - 多个用户的单个客户端
【发布时间】:2019-04-17 13:27:58
【问题描述】:

有没有一种方法可以为所有用户使用同一个 OAuth 客户端,而不是为每个用户使用一个客户端?

【问题讨论】:

  • 到目前为止您尝试过什么?它起作用了还是不起作用?见:stackoverflow.com/help/how-to-ask
  • 我尝试将密码授予客户端用于我的 API。我认为该方法可行,但我仍然需要绕过用户名和密码验证,因为两者都通过前端接口进行验证

标签: laravel oauth laravel-passport


【解决方案1】:

如果您使用密码授予客户端,您可以将用户名和密码传递给客户端,它将仅通过一个客户端验证您的用户。

要保护您的路由,请使用 auth 中间件和 api 保护。

记得将你的apiguard 的驱动设置为passport

https://laravel.com/docs/5.7/passport#password-grant-tokens

使用此链接为您提供帮助。

【讨论】:

  • 我需要完全相同的东西,但要避免用户名和密码请求,因为我通过前面验证这两个。
  • 您是否正在尝试构建基于令牌的 api?
  • 您如何验证用户名和密码?如果您使用 Password Grant 客户端,那么它将为您提供可用于发出请求的访问令牌。
  • 通过前端登录。我需要为所有当前用户使用相同的客户端“ID”和客户端“秘密”。目前,如果我为每个用户使用一个客户端,我的项目运行良好,但我严格需要的是为我的所有用户使用相同的护照客户端。这可能吗?
  • 是的,这就是密码授予客户端的工作原理——这就是为什么您不能使用 CheckClientCredentials 中间件的原因。当您使用此客户端完成前端登录时,您将收到一个包含 access_token 的响应,您可以将其传递给您的 Authorization 标头以访问您的受保护路由
【解决方案2】:

通过前端创建客户端肯定有问题。

我跑了

php artisan migrate:fresh --seed
composer dump-autoload
php artisan config:clear

然后手动创建用户。

下一个

php artisan passport:client

【讨论】:

    猜你喜欢
    • 2017-05-31
    • 2018-11-15
    • 2021-08-15
    • 1970-01-01
    • 2019-07-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多