2
php league oauth2サーバーのセキュリティが強化された後、Laravelパスポート認証が失敗します。 https://oauth2.thephpleague.com/v5-security-improvements/Laravel Passport認証が失敗しました
が自分のドキュメントによると、それは必見です詳細については、このページを参照してください -
例外は
あなたはこのライブラリのセキュリティ を改善するために、今後の暗号化キーを設定する必要がありますと言います暗号化キーを設定します。
// Setup the authorization server $server = new AuthorizationServer( $clientRepository, $accessTokenRepository, $scopeRepository, $privateKeyPath, $publicKeyPath ); $server->setEncryptionKey('lxZFUEsBCJ2Yb14IF2ygAHI5N4+ZAUXXaSeeJm6+twsUmIen');
すなわちが、Laravelパスポート現在のリリースでは、この修正プログラムが含まれていません。私は
に手動setEncryptionKeyを()を添加したものを
/vendor/laravel/passport/src/PassportServiceProvider.php
はpublic function makeAuthorizationServer() { $server = new AuthorizationServer( $this->app->make(Bridge\ClientRepository::class), $this->app->make(Bridge\AccessTokenRepository::class), $this->app->make(Bridge\ScopeRepository::class), 'file://'.Passport::keyPath('oauth-private.key'), 'file://'.Passport::keyPath('oauth-public.key') ); $server->setEncryptionKey('lxZFUEsBCJ2Yb14IF2ygAHI5N4+ZAUXXaSeeJm6+twsUmIen'); return $server; }
これは私のための作品です。しかし、技術的に私はこのファイルを編集することはできません。これに適した修正はありますか?
私の問題を解決し...これを試してみてはご回答いただきありがとうございます。これは許可を与えています。 makeAuthorizationServer()のsetEncryptionKey()メソッドが欠落しています。パスポートのメンテナーは、バージョンv1.0.18タグで修正されていると言います。まだパスポートv3では利用できません。 – Umanda
あなたの情報:https://github.com/laravel/passport/issues/437 – Umanda