問題
- OpenID Providerを設定し、ユーザーでログインしようとすると、ポータルへのコールバックで以下のようなエラーメッセージが表示されることがあります:
内部サーバエラー
要求されたリソースへのアクセス中にエラーが発生しました。 http://localhost:8080/c/portal/login/openidconnect?code=73954f22-c6b0-41f2-8a71-58a46deabbad&state=heERCczIQpGlQdUvcXYTR9WZuOYxfihh4e8jv8uYOTo
- DXPのログには、以下のメッセージのいずれかが表示されます:
2022-08-23 13:58:23.244 ERROR [http-nio-8282-exec-10][StatusDisplayContext:92] Error: The client secret must not be null
2022-08-23 13:32:09.231 ERROR [http-nio-8282-exec-7][StatusDisplayContext:92] Error: {"error":"invalid_client"}
- OpenID Providerはクライアントシークレットを持ちません。
Environment
- Liferay DXP (いずれか)
解決策
- OpenIDの実装では、OpenID Providersの設定で、Client IDとClient Secretの両方を設定する必要があります。
- Identityサービス上でClient Secretを生成し、OpenID Providerの設定にて当該Client Secretを設定してください。
追加情報