mirror of https://github.com/usbharu/Hideout.git
fix: sitekeyとsecretを混同をしていたのを修正
This commit is contained in:
parent
5b322ade29
commit
4218431012
|
@ -12,6 +12,7 @@ hideout:
|
||||||
debug:
|
debug:
|
||||||
trace-query-exception: true
|
trace-query-exception: true
|
||||||
trace-query-call: true
|
trace-query-call: true
|
||||||
|
private: false
|
||||||
|
|
||||||
spring:
|
spring:
|
||||||
flyway:
|
flyway:
|
||||||
|
|
|
@ -12,6 +12,7 @@ hideout:
|
||||||
public-key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1SU1LfVLPHCozMxH2Mo4lgOEePzNm0tRgeLezV6ffAt0gunVTLw7onLRnrq0/IzW7yWR7QkrmBL7jTKEn5u+qKhbwKfBstIs+bMY2Zkp18gnTxKLxoS2tFczGkPLPgizskuemMghRniWaoLcyehkd3qqGElvW/VDL5AaWTg0nLVkjRo9z+40RQzuVaE8AkAFmxZzow3x+VJYKdjykkJ0iT9wCS0DRTXu269V264Vf/3jvredZiKRkgwlL9xNAwxXFg0x/XFw005UWVRIkdgcKWTjpBP2dPwVZ4WWC+9aGVd+Gyn1o0CLelf4rEjGoXbAAEgAqeGUxrcIlbjXfbcmwIDAQAB"
|
public-key: "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu1SU1LfVLPHCozMxH2Mo4lgOEePzNm0tRgeLezV6ffAt0gunVTLw7onLRnrq0/IzW7yWR7QkrmBL7jTKEn5u+qKhbwKfBstIs+bMY2Zkp18gnTxKLxoS2tFczGkPLPgizskuemMghRniWaoLcyehkd3qqGElvW/VDL5AaWTg0nLVkjRo9z+40RQzuVaE8AkAFmxZzow3x+VJYKdjykkJ0iT9wCS0DRTXu269V264Vf/3jvredZiKRkgwlL9xNAwxXFg0x/XFw005UWVRIkdgcKWTjpBP2dPwVZ4WWC+9aGVd+Gyn1o0CLelf4rEjGoXbAAEgAqeGUxrcIlbjXfbcmwIDAQAB"
|
||||||
storage:
|
storage:
|
||||||
type: local
|
type: local
|
||||||
|
private: false
|
||||||
|
|
||||||
spring:
|
spring:
|
||||||
flyway:
|
flyway:
|
||||||
|
|
|
@ -4,5 +4,6 @@ import org.springframework.boot.context.properties.ConfigurationProperties
|
||||||
|
|
||||||
@ConfigurationProperties("hideout.security")
|
@ConfigurationProperties("hideout.security")
|
||||||
data class CaptchaConfig(
|
data class CaptchaConfig(
|
||||||
val reCaptchaSiteKey:String
|
val reCaptchaSiteKey: String?,
|
||||||
|
val reCaptchaSecretKey: String?
|
||||||
)
|
)
|
||||||
|
|
|
@ -4,7 +4,6 @@ import com.fasterxml.jackson.databind.ObjectMapper
|
||||||
import com.fasterxml.jackson.module.kotlin.readValue
|
import com.fasterxml.jackson.module.kotlin.readValue
|
||||||
import dev.usbharu.hideout.application.config.CaptchaConfig
|
import dev.usbharu.hideout.application.config.CaptchaConfig
|
||||||
import dev.usbharu.hideout.core.domain.model.actor.Actor
|
import dev.usbharu.hideout.core.domain.model.actor.Actor
|
||||||
import dev.usbharu.hideout.core.domain.model.userdetails.UserDetail
|
|
||||||
import dev.usbharu.hideout.core.service.user.UserCreateDto
|
import dev.usbharu.hideout.core.service.user.UserCreateDto
|
||||||
import dev.usbharu.hideout.core.service.user.UserService
|
import dev.usbharu.hideout.core.service.user.UserService
|
||||||
import io.ktor.client.*
|
import io.ktor.client.*
|
||||||
|
@ -22,15 +21,15 @@ class AuthApiServiceImpl(
|
||||||
) :
|
) :
|
||||||
AuthApiService {
|
AuthApiService {
|
||||||
override suspend fun registerAccount(registerAccountDto: RegisterAccountDto): Actor {
|
override suspend fun registerAccount(registerAccountDto: RegisterAccountDto): Actor {
|
||||||
|
if (captchaConfig.reCaptchaSecretKey != null && captchaConfig.reCaptchaSiteKey != null) {
|
||||||
val get =
|
val get =
|
||||||
httpClient.get("https://www.google.com/recaptcha/api/siteverify?secret=" + captchaConfig.reCaptchaSiteKey + "&response=" + registerAccountDto.recaptchaResponse)
|
httpClient.get("https://www.google.com/recaptcha/api/siteverify?secret=" + captchaConfig.reCaptchaSecretKey + "&response=" + registerAccountDto.recaptchaResponse)
|
||||||
|
|
||||||
val recaptchaResult = objectMapper.readValue<RecaptchaResult>(get.bodyAsText())
|
val recaptchaResult = objectMapper.readValue<RecaptchaResult>(get.bodyAsText())
|
||||||
|
logger.debug("reCAPTCHA: {}", recaptchaResult)
|
||||||
logger.debug("reCAPTCHA: {}",recaptchaResult)
|
|
||||||
|
|
||||||
require(recaptchaResult.success)
|
require(recaptchaResult.success)
|
||||||
require(!(recaptchaResult.score < 0.5))
|
require(!(recaptchaResult.score < 0.5))
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
val createLocalUser = userService.createLocalUser(
|
val createLocalUser = userService.createLocalUser(
|
||||||
UserCreateDto(
|
UserCreateDto(
|
||||||
|
|
|
@ -28,6 +28,7 @@ import jakarta.validation.Validation
|
||||||
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
import kotlinx.coroutines.ExperimentalCoroutinesApi
|
||||||
import kotlinx.coroutines.test.runTest
|
import kotlinx.coroutines.test.runTest
|
||||||
import org.junit.jupiter.api.Test
|
import org.junit.jupiter.api.Test
|
||||||
|
import org.junit.jupiter.api.assertThrows
|
||||||
import org.mockito.ArgumentMatchers.anyString
|
import org.mockito.ArgumentMatchers.anyString
|
||||||
import org.mockito.kotlin.*
|
import org.mockito.kotlin.*
|
||||||
import utils.TestApplicationConfig.testApplicationConfig
|
import utils.TestApplicationConfig.testApplicationConfig
|
||||||
|
@ -60,7 +61,7 @@ class ActorServiceTest {
|
||||||
actorRepository = actorRepository,
|
actorRepository = actorRepository,
|
||||||
userAuthService = userAuthService,
|
userAuthService = userAuthService,
|
||||||
actorBuilder = actorBuilder,
|
actorBuilder = actorBuilder,
|
||||||
applicationConfig = testApplicationConfig,
|
applicationConfig = testApplicationConfig.copy(private = false),
|
||||||
instanceService = mock(),
|
instanceService = mock(),
|
||||||
userDetailRepository = mock(),
|
userDetailRepository = mock(),
|
||||||
deletedActorRepository = mock(),
|
deletedActorRepository = mock(),
|
||||||
|
@ -87,6 +88,39 @@ class ActorServiceTest {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
fun `createLocalUser applicationconfig privateがtrueのときアカウントを作成できない`() = runTest {
|
||||||
|
|
||||||
|
val actorRepository = mock<ActorRepository> {
|
||||||
|
onBlocking { nextId() } doReturn 110001L
|
||||||
|
}
|
||||||
|
val generateKeyPair = KeyPairGenerator.getInstance("RSA").generateKeyPair()
|
||||||
|
val userAuthService = mock<UserAuthService> {
|
||||||
|
onBlocking { hash(anyString()) } doReturn "hashedPassword"
|
||||||
|
onBlocking { generateKeyPair() } doReturn generateKeyPair
|
||||||
|
}
|
||||||
|
val userService =
|
||||||
|
UserServiceImpl(
|
||||||
|
actorRepository = actorRepository,
|
||||||
|
userAuthService = userAuthService,
|
||||||
|
actorBuilder = actorBuilder,
|
||||||
|
applicationConfig = testApplicationConfig.copy(private = true),
|
||||||
|
instanceService = mock(),
|
||||||
|
userDetailRepository = mock(),
|
||||||
|
deletedActorRepository = mock(),
|
||||||
|
reactionRepository = mock(),
|
||||||
|
relationshipRepository = mock(),
|
||||||
|
postService = mock(),
|
||||||
|
apSendDeleteService = mock(),
|
||||||
|
postRepository = mock()
|
||||||
|
)
|
||||||
|
|
||||||
|
assertThrows<IllegalStateException> {
|
||||||
|
userService.createLocalUser(UserCreateDto("test", "testUser", "XXXXXXXXXXXXX", "test"))
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
fun `createRemoteUser リモートユーザーを作成できる`() = runTest {
|
fun `createRemoteUser リモートユーザーを作成できる`() = runTest {
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue