【问题标题】:How to resolve unauthenticated issue in Postman GET Request如何解决 Postman GET 请求中未经身份验证的问题
【发布时间】:2021-07-03 14:16:42
【问题描述】:

我将 Laravel-8 用于 rest api。路线如下图:

localhost:8888/myapp/server/api/v1/admin/role

这是一个 GET 请求。

当我在 POSTMAN 上发送它时,我收到了这个错误:

401未经授权

{ “消息”:“未经身份验证。” }

在我的路线中,我有:

'中间件' => ['auth:api']]

原因是我不知道如何添加登录详细信息。邮箱:akwetey@gmail.com,密码:mypass

我如何做到这一点?

谢谢

【问题讨论】:

  • 在表单中输入登录详细信息。或 json 格式。
  • @HassaanAli - 我看不到。请指导。谢谢
  • 请提供您的代码的更多详细信息和邮递员请求的屏幕截图...给出答案会更有帮助...
  • laravel 在您尝试进行身份验证时提供令牌。使用post 完成,数据以raw (json/text) 格式发送。
  • 你最好看看这个...positronx.io/…

标签: laravel api postman


【解决方案1】:

此人会很好地引导您完成整个过程,应该会帮助您进行设置。 https://coding-lesson.com/api-authentication-with-laravel-passport/

基本上你需要:

  1. 获取您的登录 api,可能类似于:localhost:8888/myapp/server/api/v1/login
  2. 创建登录 API 的 POST 请求,选择“正文”选项卡并为您的电子邮件和密码定义键值
  3. 然后运行请求并从结果中复制 AccessToken 值
  4. 现在使用上面的 API,选择 Authorization 选项卡,选择 Bearer Token 作为 Type 并在 Token 字段中粘贴 AccessToken 值
  5. 您还应该转到 Headers 表并定义 Accept 和 Content-Type 键,两者的值都为:application/json

当然,在你做对了之后,你会想要改变所有这些以使用变量,这样你就不必在所有新的 API 调用中不断重复这一点。

【讨论】:

    【解决方案2】:

    我假设您知道PostGet 之间的区别。 Laravel 的工作方式与普通的 PHP 有点不同,让我告诉你怎么做。

    1. 为了访问受保护的路由,您必须首先从login 路由访问令牌。通过在 中发送所需的数据。

    2. 完成后,它将返回可用于访问adminauth 中间件下受保护路由的令牌。

    在您的情况下,您正在访问localhost:8888/myapp/server/api/v1/admin/role,这是admin 中间件下的受保护路由。您必须先访问token,然后发送带有get 请求的token 以获取所需的数据。

    【讨论】:

      【解决方案3】:

      要在受保护的路由后面获取数据,您需要提供一个令牌来验证发出调用的用户是否经过身份验证。

      然后你必须在邮递员的授权部分提供令牌。

      【讨论】:

        猜你喜欢
        • 2019-01-26
        • 2017-02-05
        • 2022-08-04
        • 1970-01-01
        • 2021-07-05
        • 2022-01-19
        相关资源
        最近更新 更多