Skip to content

Commit 0991b95

Browse files
committed
refactor/OPS-338 : Dev 토큰 발급 컨트롤러 추가
1 parent d13cbcb commit 0991b95

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package org.tuna.zoopzoop.backend.domain.auth.dev.controller;
2+
3+
import lombok.RequiredArgsConstructor;
4+
import org.springframework.context.annotation.Profile;
5+
import org.springframework.http.HttpStatus;
6+
import org.springframework.web.bind.annotation.*;
7+
import org.springframework.web.server.ResponseStatusException;
8+
import org.tuna.zoopzoop.backend.domain.member.entity.Member;
9+
import org.tuna.zoopzoop.backend.domain.member.enums.Provider;
10+
import org.tuna.zoopzoop.backend.domain.member.repository.MemberRepository;
11+
import org.tuna.zoopzoop.backend.global.security.jwt.JwtUtil;
12+
13+
import java.util.Map;
14+
15+
@Profile({"local","dev","staging","test"})
16+
@RestController
17+
@RequestMapping("/dev")
18+
@RequiredArgsConstructor
19+
public class DevController {
20+
21+
private final MemberRepository memberRepository;
22+
private final JwtUtil jwtUtil;
23+
24+
@GetMapping("/token")
25+
public Map<String, String> issueToken(
26+
@RequestParam Provider provider,
27+
@RequestParam String key
28+
) {
29+
Member m = memberRepository.findByProviderAndProviderKey(provider, key)
30+
.orElseThrow(() -> new ResponseStatusException(HttpStatus.NOT_FOUND, "member not found"));
31+
32+
String accessToken = jwtUtil.generateToken(m);
33+
return Map.of("accessToken", accessToken);
34+
}
35+
}

src/main/java/org/tuna/zoopzoop/backend/global/security/SecurityConfig.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,8 @@ public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Excepti
4343
"/webjars/**",
4444
"/api/v1/**", // API 테스트용으로 모두 허용. 차후 필수로 변경 필요.
4545
"/test/**", // 테스트용으로 모두 허용. 차후 삭제 필요.
46-
"/actuator/health" // health 체크용
46+
"/actuator/health", // health 체크용
47+
"/dev/**" // ← 추가: dev 토큰 발급은 누구나 접근
4748
).permitAll()
4849
.anyRequest().authenticated()
4950
)

0 commit comments

Comments
 (0)