【问题标题】:How does Laravel API and Passport work together?Laravel API 和 Passport 如何协同工作?
【发布时间】:2018-08-25 23:05:30
【问题描述】:

所以我目前正在开发一个网络应用程序,它将使用 laravel api 供未来的移动使用和 laravel 护照。我的护照设置在我使用邮递员登录、注册和删除帐户的地方,通常的功能。 laravel API 也可以独立工作,可以从我的路由发出请求。

使用 Passport,我登录,它会返回一个令牌,如果我是正确的,它就是将用于 API 的令牌。现在在创建 api 后,它将接受表单/参数到我的应用程序的主要功能,我如何将我从 Passport 收到的令牌与 API 一起使用?

在对 API 的请求中,我是否需要询问用户的令牌,如果需要,如何检查它是否是可以从我的应用程序中使用的令牌。这是我无法理解的连接它们的中间部分,因为我可以让护照自己工作,而 laravel api 本身就是我只是从邮递员发送帖子/获取并获取我的 json 响应,这些响应稍后将用于我的 js 前端.

【问题讨论】:

  • 检查我下面的答案。

标签: php laravel web laravel-passport


【解决方案1】:

config/auth.php 中将api -> driver 替换为password,因此您可以使用相同的Auth::user() 方法通过密码API 令牌登录。不要忘记将令牌作为 Authorization 标头从前端通过密钥 Bearer 传递。

【讨论】:

    【解决方案2】:
    1. 您只需要安装护照,然后您将获得客户端密钥。

    2. 然后您需要使用护照默认路由调用 API,例如 http://192.000.0.000:8000/oauth/token,并带有一些参数,例如:

    client_id = 1,
    client_secret = xxxxxxxxxxxxxxxx,
    grant_type = client_credentials
    username = hanna.stracke@example.org
    password = secret
    scope = *
    
    1. 然后点击 URL,您将获得“access_token”。使用 access_token 您将登录用户。

    谢谢,

    【讨论】:

    • api 路由组中的每个路由是否都带有中间件:IE Route::group(['prefix' => 'api', 'middleware' => 'auth:api'], function() { });需要在数据库中有一个表,其中包含 api_token 作为字段?说我有我的用户字段,有令牌,它通过并允许我使用组中的路线。现在我添加了另一个使用不同控制器的“任务”路由,该任务表是否也需要在表字段中有 api_token ?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-09
    • 2019-04-21
    • 2014-08-05
    • 2020-01-14
    • 2012-12-21
    • 2013-01-19
    相关资源
    最近更新 更多