From a089ab7a0474647eff1bd98c14af44e32be713e3 Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Thu, 1 Feb 2024 15:52:38 +0900 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8C=BF=E5=90=8D=E8=AA=8D=E8=A8=BC?= =?UTF-8?q?=E6=99=82=E3=81=AB=E3=83=AD=E3=82=B0=E3=82=A4=E3=83=B3=E3=83=A6?= =?UTF-8?q?=E3=83=BC=E3=82=B6=E3=83=BC=E3=82=92=E5=8F=96=E5=BE=97=E3=81=A7?= =?UTF-8?q?=E3=81=8D=E3=81=AA=E3=81=84=E5=A0=B4=E5=90=88=E3=82=A8=E3=83=A9?= =?UTF-8?q?=E3=83=BC=E3=81=A7=E3=81=AF=E3=81=AA=E3=81=8Fnull=E3=82=92?= =?UTF-8?q?=E8=BF=94=E3=81=99=E9=96=A2=E6=95=B0=E3=82=92=E8=BF=BD=E5=8A=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../springframework/security/LoginUserContextHolder.kt | 2 ++ .../security/OAuth2JwtLoginUserContextHolder.kt | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/security/LoginUserContextHolder.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/security/LoginUserContextHolder.kt index e86dc2b0..1090757e 100644 --- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/security/LoginUserContextHolder.kt +++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/security/LoginUserContextHolder.kt @@ -2,4 +2,6 @@ package dev.usbharu.hideout.core.infrastructure.springframework.security interface LoginUserContextHolder { fun getLoginUserId(): Long + + fun getLoginUserIdOrNull(): Long? } diff --git a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/security/OAuth2JwtLoginUserContextHolder.kt b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/security/OAuth2JwtLoginUserContextHolder.kt index 0369fda6..2c77a9f9 100644 --- a/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/security/OAuth2JwtLoginUserContextHolder.kt +++ b/src/main/kotlin/dev/usbharu/hideout/core/infrastructure/springframework/security/OAuth2JwtLoginUserContextHolder.kt @@ -11,4 +11,13 @@ class OAuth2JwtLoginUserContextHolder : LoginUserContextHolder { return principal.getClaim<String>("uid").toLong() } + + override fun getLoginUserIdOrNull(): Long? { + val principal = SecurityContextHolder.getContext()?.authentication?.principal + if (principal !is Jwt) { + return null + } + + return principal.getClaim<String>("uid").toLongOrNull() + } }