From 861f2f1184e860fdd164481167f941c11accfedd Mon Sep 17 00:00:00 2001 From: Janis Date: Tue, 20 Jan 2026 21:12:13 +0100 Subject: [PATCH] feat: Add error logging for user info retrieval in OpenIDConnectService --- .../app/services/OpenIDConnectService.scala | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/knockoutwhistweb/app/services/OpenIDConnectService.scala b/knockoutwhistweb/app/services/OpenIDConnectService.scala index ca65b00..fac2c90 100644 --- a/knockoutwhistweb/app/services/OpenIDConnectService.scala +++ b/knockoutwhistweb/app/services/OpenIDConnectService.scala @@ -2,7 +2,7 @@ package services import com.typesafe.config.Config import play.api.libs.ws.WSClient -import play.api.Configuration +import play.api.{Configuration, Logger} import play.api.libs.json.* import java.net.URI @@ -11,7 +11,6 @@ import scala.concurrent.{ExecutionContext, Future} import com.nimbusds.oauth2.sdk.* import com.nimbusds.oauth2.sdk.id.* import com.nimbusds.openid.connect.sdk.* - import play.api.libs.ws.DefaultBodyWritables.* case class OpenIDUserInfo( @@ -50,6 +49,8 @@ case class TokenResponse( @Singleton class OpenIDConnectService@Inject(ws: WSClient, config: Configuration)(implicit ec: ExecutionContext) { + private val logger = Logger(this.getClass) + private val providers = Map( "discord" -> OpenIDProvider( name = "Discord", @@ -143,10 +144,15 @@ class OpenIDConnectService@Inject(ws: WSClient, config: Configuration)(implicit providerName = provider.name )) } else { + logger.error(s"Failed to retrieve user info from ${provider.userInfoEndpoint}, status code ${response.status}") None } } - .recover { case _ => None } + .recover { case e => { + logger.error(s"Failed to retrieve user info from ${provider.userInfoEndpoint}", e) + None + } + } case None => Future.successful(None) } }