Laravel API未经授权的错误仅在生产时

问题描述

我有一个外部应用程序,用于通过计算机将请求发送到我的Laravel API以进行计算机身份验证。由于某种原因,该系统可以在我的开发环境上运行,但是一旦我进入生产环境,请求就会返回401错误。

外部应用程序带有身份验证令牌,该令牌是在每次请求前从我的Laravel应用程序获取的,因此应正确进行身份验证

作为参考,以下是我使用的.htaccess文件,以防万一。

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

    RewriteEngine On

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

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

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

这是我在外部应用程序中用于从API获取令牌的代码,我知道此代码有效,因为我可以看到后续请求中生成的有效令牌

async function getToken() {
    var data = {
        'grant_type': 'client_credentials','client_id': process.env.CLIENT_ID,'client_secret': process.env.CLIENT_SECRET
    };
    const token = await axios.post(`${process.env.REQUEST_URL}oauth/token`,data)
    .then(function(response) {
        return response.data['access_token'];
    });
    return token;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)