Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用Axios 401的Laravel Passport使用自己的API未经验证_Php_Laravel_Axios_Laravel Passport - Fatal编程技术网

Php 使用Axios 401的Laravel Passport使用自己的API未经验证

Php 使用Axios 401的Laravel Passport使用自己的API未经验证,php,laravel,axios,laravel-passport,Php,Laravel,Axios,Laravel Passport,我似乎不能用Axios使用我自己的LaravelAPI,我已经尝试了几乎所有我遇到的解决方案 谁能帮帮我吗 我已适当地: 安装 注册护照服务提供商 迁移和生成的passport密钥 在我的用户模型中添加了HasApiTokenstrait 将Passport::routes()添加到AuthServiceProvider.php中 更改我的config\auth.php 将\Laravel\Passport\Http\Middleware\CreateFreshApiToken::class添加

我似乎不能用Axios使用我自己的LaravelAPI,我已经尝试了几乎所有我遇到的解决方案 谁能帮帮我吗

我已适当地:

  • 安装
  • 注册护照服务提供商
  • 迁移和生成的passport密钥
  • 在我的用户模型中添加了HasApiTokenstrait
  • Passport::routes()
    添加到
    AuthServiceProvider.php
  • 更改我的
    config\auth.php
  • \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class
    添加到最后一位的“我的web中间件”组中。根据laravel使用javascript使用自己的api的文档
  • 我已经用Axios inside vue组件在web浏览器中进行了测试,正常的web登录。通过postman:api登录,使用返回的令牌使api调用在我的开发机器上工作。但在我的生产服务器(共享主机)上,它使用web登录和vue组件中的Axios在web浏览器中不断返回“Unauthorized”,而postman中的API调用在登录后也返回“Unauthorized”,我在进行postman调用时使用了一个令牌

    我也检查了发送的请求头:

  • x-csrf-token
  • x-xsrf-token
  • 并且也包含在cookie头中

  • 在共享主机上运行laravel时,请确保以下事项

  • 使用公用文件夹检查根URL设置是否正确,或者您已将公用文件夹的文件移动到根目录中
  • 最重要的是检查您是否拥有.env文件&所有文件和文件夹都具有适当的权限
  • 另外,检查所有正确加载了正确PHP版本的PHP模块(laravel需求)
  • 如果上述步骤是正确的,那么问题可能是您的共享服务器使用了fcgi而不是普通的PHP模块。因此,HTTP_授权在那里失败。您可以在RewriteCond%{HTTP:Authorization}^(.+)$RewriteRule.*-[E=HTTP\u Authorization:%{HTTP:Authorization}]上将以下代码添加到.htaccess文件
    RewriteEngine中,这应该执行HTTP\u授权并解决问题

  • 我希望这些可以解决您的问题。

    请确保在共享主机上运行laravel时做到以下几点

  • 使用公用文件夹检查根URL设置是否正确,或者您已将公用文件夹的文件移动到根目录中
  • 最重要的是检查您是否拥有.env文件&所有文件和文件夹都具有适当的权限
  • 另外,检查所有正确加载了正确PHP版本的PHP模块(laravel需求)
  • 如果上述步骤是正确的,那么问题可能是您的共享服务器使用了fcgi而不是普通的PHP模块。因此,HTTP_授权在那里失败。您可以在RewriteCond%{HTTP:Authorization}^(.+)$RewriteRule.*-[E=HTTP\u Authorization:%{HTTP:Authorization}]上将以下代码添加到.htaccess文件
    RewriteEngine中,这应该执行HTTP\u授权并解决问题

  • 我希望这些可以解决您的问题。

    好的,那么问题可能是您的共享服务器使用的是fcgi,而不是普通的PHP模块。因此,HTTP_授权在那里失败。您可以在RewriteCond%{HTTP:Authorization}^(.+)$RewriteRule.*-[E=HTTP\u Authorization:%{HTTP:Authorization}]
    上将以下代码添加到.htaccess文件
    RewriteEngine中,该文件应该执行HTTP\u授权并解决问题。很高兴它帮助了您……请正确标记,以便人们可以从中获得帮助。快乐编码更改
    重写引擎、重写条件、重写规则
    不起作用。请帮帮我你出了什么差错?在此处发布您的.htaccess内容。另外,请确保您已经检查了此答案中描述的所有步骤。
    好的,那么问题可能是您的共享服务器使用的是fcgi,而不是常规的PHP模块。因此,HTTP_授权在那里失败。您可以在RewriteCond%{HTTP:Authorization}^(.+)$RewriteRule.*-[E=HTTP\u Authorization:%{HTTP:Authorization}]
    上将以下代码添加到.htaccess文件
    RewriteEngine中,该文件应该执行HTTP\u授权并解决问题。很高兴它帮助了您……请正确标记,以便人们可以从中获得帮助。快乐编码更改
    重写引擎、重写条件、重写规则
    不起作用。请帮帮我你出了什么差错?在此处发布您的.htaccess内容。此外,请确保您已检查了此答案中描述的所有步骤。