更新了以下軟件包後,我收到一個錯誤消息: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