通过护照进行身份验证,该护照在本地但不在服务器中工作

时间:2019-02-11 04:10:55

标签: php laravel .htaccess authentication laravel-passport

因此,基本上,我有一个使用laravel制作的应用程序,它可以正常工作,并且在将其部署到实时服务器后,护照身份验证不起作用。似乎“授权”标头不会发送到服务器,对于该问题,我还更改了“ .htaccess”文件,但没有更改。

这是我的“ .htaccess”文件。

             选项-MultiViews     

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 HeaderRewriteEngine On
RewriteEngine On 
RewriteCond %{HTTP:Authorization} ^(.+)$
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

#Https redirection 
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) MY_SITE/$1 [R=301,L]

1 个答案:

答案 0 :(得分:0)

以下是需要仔细检查的几件事:

  • 启用了mod_rewrite
  • AllowOverride已启用
  • 您的托管服务提供商实际上正在使用Apache
  • 浏览器控制台中没有CORS错误

可能不是 的原因,但是您对Authorization标头的重写条件与框架附带的稍有不同。。这是默认值:

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