【问题标题】:Getting "401" Unauthorized error in Laravel 7在 Laravel 7 中出现“401”未经授权的错误
【发布时间】:2020-06-19 06:25:58
【问题描述】:

任何带有 auth:airlock 中间件的请求都没有经过身份验证!我收到 401 错误..

我正在按照文档进行操作,首先是对 airlock/csrf-cookie 的获取请求,然后是其他请求..

域和子域都可以!也没有cors错误..

我的 cors.php 文件:

return [

    'paths' => ['api/*', '/login', '/logout', 'airlock/csrf-cookie'],

    'allowed_methods' => ['*'],

    'allowed_origins' => ['*'],

    'allowed_origins_patterns' => [],

    'allowed_headers' => ['*'],

    'exposed_headers' => false,

    'max_age' => false,

    'supports_credentials' => true,

];

示例 api 请求:

Route::middleware('auth:airlock')->get('/demoitems', 'Api\ItemsController@index');

在 axios 的客户端,我正在设置:

withCredentials: true

登录请求后,cookie 和 laravel 会话正确存储在应用程序 Chrome 的 Cookies 部分中!

但是任何使用气闸中间件的请求都被标记为未授权..

这里是airlock.php

return [

    'stateful' => explode(',', env('AIRLOCK_STATEFUL_DOMAINS', 'localhost')),

    'expiration' => null,

    'middleware' => [
    'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class,
    ],

];

域被添加到 .ENV 文件的 AIRLOCK_STATEFUL_DOMAIN 中。

API中的认证驱动是“token”..

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    我也是同样的问题。我将 Http 放在我的域中。

    AIRLOCK_STATEFUL_DOMAINS=domain.com
    

    不要使用 Http 或 https。这解决了我的问题。

    【讨论】:

      猜你喜欢
      • 2016-01-30
      • 2019-01-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-09-24
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多