更新了以下软件包后,我收到一个错误消息:oauth-public.key文件couldn'不被发现。Laravel chmod(/var/dev/project/storage/oauth-public.key):操作失败:不允许操作
包装操作:1安装,2次更新,0清除
更新laravel /框架(v5.4.27 => v5.4.28):下载(100%)
安装化解/ PHP-加密( V2.1.0):下载(100%)
更新联赛/的oauth2服务器(5.1.3 => 5.1.4):下载(100%)
首先我删除两个oauth-文件在项目/存储中,然后执行此c ommand:php artisan护照:安装以生成新的oauth-文件。
现在我在尝试访问api路径时出现以下错误。
(1/1)ErrorException CHMOD(/var/dev/project/storage/oauth-public.key):操作失败:不允许操作
堆栈跟踪
在CryptKey.php(线51)
在HandleExceptions->的HandleError(2,“CHMOD(/var/dev/project/storage/oauth-public.key):化经营n失败:操作不允许','/var/dev/project/vendor/league/oauth2-server/src/CryptKey.php',51,array('keyPath'=>'file:/// var/dev /项目/存储/ oauth-public.key','passPhrase'=> null,'keyPathPerms'=>'644'))
at chmod('file:/// var/dev/project/storage/oauth -public.key”,384)在CryptKey.php (线51)
在CryptKey-> __construct( '文件:///var/dev/project/storage/oauth-public.key') 在ResourceServer.php(line 50)
文件权限
-rw-r--r-- user:user oauth-private.key
-rw-r--r-- user:user oauth-public.key
更新1
我发现的OAuth Libaray推出的安全补丁。 Oauth V5 Security Improvements
版本5.1.4与其他5.1.x版本是向后兼容的版本。
你会在你的服务器发现记录如下消息:
您必须设置加密密钥向前发展,以改善该库的安全 - 看到这个页面了解更多信息https://oauth2.thephpleague.com/v5-security-improvements/
要剿此注意,一旦你实例化了一个\ League \ OAuth2 \ Server \ AuthorizationServer实例,你应该调用传入至少32字节随机数据的setEncryptionKey()方法。
您可以使用base64_encode(random_bytes(32))来生成此代码。或者,如果您使用的Laravel等框架已经生成加密密钥,则可以通过该框架(Laravel使用env('APP_KEY'))。
问题是Laravel Passport的维护人员必须解决这个问题。
更新2
之后我删除了文件夹的供应商并执行作曲家安装我再次得到还是同样的错误。
我也是。我也有这个错误 – ariezona