11package com .example .demo .global .kakao .controller ;
22
3+ import com .example .common .error .code .UserErrorCode ;
4+ import com .example .common .error .exception .UserException ;
35import com .example .demo .domain .user .entity .Users ;
46import com .example .demo .domain .user .repository .UsersRepository ;
57import com .example .demo .domain .user .service .NicknameGenerator ;
810import com .example .demo .global .kakao .dto .KakaoLoginRequest ;
911import com .example .demo .global .kakao .dto .KakaoLoginResponse ;
1012import com .example .demo .global .kakao .service .AuthService ;
13+ import com .example .demo .global .security .filter .CustomUserDetails ;
1114import io .swagger .v3 .oas .annotations .Operation ;
1215import io .swagger .v3 .oas .annotations .media .Content ;
1316import io .swagger .v3 .oas .annotations .media .Schema ;
1619import jakarta .validation .Valid ;
1720import lombok .RequiredArgsConstructor ;
1821import org .springframework .http .ResponseEntity ;
22+ import org .springframework .security .access .prepost .PreAuthorize ;
23+ import org .springframework .security .core .annotation .AuthenticationPrincipal ;
1924import org .springframework .web .bind .annotation .*;
2025
2126@ RestController
@@ -43,18 +48,16 @@ public ResponseEntity<KakaoLoginResponse> kakaoLogin(
4348 return ResponseEntity .ok ().body (out );
4449 }
4550
46- @ Operation (summary = "์ํผ ๋ก๊ทธ์ธ (์์ ๊ฐ๋ฐ์ฉ) " , description = "์ํผ ๊ณ์ ์ฉ Access ํ ํฐ ๋ฐ๊ธ (test, test2, test3...) " )
51+ @ Operation (summary = "๊ด๋ฆฌ์ ๋ก๊ทธ์ธ " , description = "๊ด๋ฆฌ์ ๊ณ์ ์ฉ Access ํ ํฐ ๋ฐ๊ธ" )
4752 @ ApiResponse (responseCode = "200" , description = "์ํผ ํ ํฐ ๋ฐ๊ธ ์ฑ๊ณต" )
48- @ GetMapping ("/auth/super" )
49- public ResponseEntity <String > superLogin () {
50- String nickname = nicknameGenerator .generateUniqueNickname ();
51- Users user = new Users ();
52- user .setUsername (nickname );
53- user .setRole (JwtRoleType .SUPER );
54- user .setProfileUrl ("NULL" );
55- Users savedUser = usersRepository .save (user );
56- String superToken = jwtAccessIssuer .issueSuperToken (savedUser .getId ());
53+ @ PreAuthorize ("hasRole('SUPER')" )
54+ @ GetMapping ("/auth/admin" )
55+ public ResponseEntity <String > adminLogin () {
56+
57+ Users adminUser = usersRepository .findById ("ADMIN" )
58+ .orElseThrow (()-> new UserException ("๊ด๋ฆฌ์ ๊ณ์ ์ด ์์ต๋๋ค" , UserErrorCode .USER_NOT_FOUND ));
5759
60+ String superToken = jwtAccessIssuer .issueSuperToken (adminUser .getId ());
5861 return ResponseEntity .ok ().body (superToken );
5962 }
6063
@@ -68,7 +71,7 @@ public ResponseEntity<String> anonymousLogin() {
6871 user .setRole (JwtRoleType .ANONYMOUS ); //
6972 user .setProfileUrl ("NULL" );
7073 Users savedUser = usersRepository .save (user );
71- String anonymousToken = jwtAccessIssuer .issueSuperToken (savedUser .getId ());
74+ String anonymousToken = jwtAccessIssuer .issueAnonymousToken (savedUser .getId ());
7275
7376 return ResponseEntity .ok ().body (anonymousToken );
7477 }
0 commit comments