【问题标题】:Passport Error "Unauthenticated"护照错误“未经身份验证”
【发布时间】:2018-05-02 21:18:36
【问题描述】:

我正在使用 Laravel 5.5 和最新的护照。

我尝试通过护照保护我的 api,并使用官方 laravel 文档实现它。

首先,我收到一个承载令牌,其中包含对 .../auth/token 的 api 调用。 然后我尝试通过邮递员发出这个获取请求: 头:

X-CSRF-TOKEN: zkmOKxFxGSG75QdZjuhHJkwUJ18FkHWm3OUxzZ8j
X-Requested-With: XMLHttpRequest
Accept: application/json
Authorization: Bearer bearer-token

我总是得到以下答案: 状态:401:未授权

{
    "error": "Unauthenticated."
}

我不知道如何处理。 在我的 .htaccess 中:

<IfModule mod_rewrite.c>
    <IfModule mod_negotiation.c>
        Options -MultiViews
    </IfModule>

    RewriteEngine On

    # Redirect Trailing Slashes If Not A Folder...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)/$ /$1 [L,R=301]

    # Handle Front Controller...
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteRule ^ index.php [L]

    # Handle Authorization Header
    RewriteCond %{HTTP:Authorization} .
    RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
</IfModule>

编辑: 我将 Laravel 升级到 v. 5.5

【问题讨论】:

  • 从哪里得到zkmOKxFxGSG75QdZjuhHJkwUJ18FkHWm3OUxzZ8j?这是你打电话给/auth/token得到的Bearer-Token吗?
  • 我将“”添加到我的网站并复制了它。
  • 如果您在api.php 文件中定义您的路线,那么您根本不需要csrf-token。您只需在 Authorization 标头中发送令牌。用实际令牌替换 bearer-token 吗?
  • 好的。这是一次尝试,我在这里找到了一些答案。今天生成了带有 Bearer Token 的 Authorization-Header。

标签: php laravel laravel-passport


【解决方案1】:

好的,我发现了我的问题。对于令牌生成,我使用了授权类型“密码”。使用 client_credentials 它现在可以工作了。

【讨论】:

    猜你喜欢
    • 2018-11-13
    • 2019-06-14
    • 2017-01-06
    • 2019-02-28
    • 2019-03-08
    • 2017-04-24
    • 1970-01-01
    • 2018-02-25
    • 2018-11-06
    相关资源
    最近更新 更多