feat: 匿名認証時にログインユーザーを取得できない場合エラーではなくnullを返す関数を追加

This commit is contained in:
usbharu 2024-02-01 15:52:38 +09:00
parent 9a12c10f3a
commit a089ab7a04
2 changed files with 11 additions and 0 deletions

View File

@ -2,4 +2,6 @@ package dev.usbharu.hideout.core.infrastructure.springframework.security
interface LoginUserContextHolder {
fun getLoginUserId(): Long
fun getLoginUserIdOrNull(): Long?
}

View File

@ -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()
}
}