Laravel Passport授权失败

时间:2017-07-18 04:13:25

标签: php laravel-5 oauth-2.0 laravel-passport

在php league oauth2服务器的安全性改进之后,Laravel护照授权失败。

例外说

  

您必须设置加密密钥以提高安全性   此库的内容 - 有关详细信息,请参阅此页面   https://oauth2.thephpleague.com/v5-security-improvements/

根据他们的文档,必须设置加密密钥。

new FileInputStream(new File("Data3.txt"))

但是Laravel护照当前版本不包含此修复程序。

我所做的是手动将setEncryptionKey()添加到

  

/vendor/laravel/passport/src/PassportServiceProvider.php

// Setup the authorization server
$server = new AuthorizationServer(
    $clientRepository,
    $accessTokenRepository,
    $scopeRepository,
    $privateKeyPath,
    $publicKeyPath
);
$server->setEncryptionKey('lxZFUEsBCJ2Yb14IF2ygAHI5N4+ZAUXXaSeeJm6+twsUmIen');

这对我有用。但从技术上讲,我无法编辑此文件。对此有什么合适的解决方法吗?

2 个答案:

答案 0 :(得分:1)

试试这个......

sudo chown www-data:www-data storage/oauth-*.key
sudo chmod 600 storage/oauth-*.key

它解决了我的问题

答案 1 :(得分:0)

确保您已将laravel护照更新为

"laravel/passport": "^7.0",

有关安全更新的更多详细信息,请参见https://laravel.com/docs/5.6/upgrade