@@ -22,18 +22,15 @@ public JwtAuthManager(MemberRepository memberRepository) {
2222 this .memberRepository = memberRepository ;
2323 }
2424
25- public String createToken (String email ) {
26- Member member = memberRepository .findByEmail (email )
25+ public String createToken (String email , String password ) {
26+ Member member = memberRepository .findByEmailAndPassword (email , password )
2727 .orElseThrow (() -> new AuthorizationException ("유효한 이메일이 아닙니다." ));
2828
29- String role = member .getRole ();
30- String name = member .getName ();
3129 Long memberId = member .getId ();
30+ String role = member .getRole ();
3231
33- Claims claims = Jwts .claims ().setSubject (email );
32+ Claims claims = Jwts .claims ().setSubject (String . valueOf ( memberId ) );
3433 claims .put ("role" , role );
35- claims .put ("name" , name );
36- claims .put ("memberId" , memberId );
3734
3835 Date now = new Date ();
3936 Date validity = new Date (now .getTime () + validityInMilliseconds );
@@ -47,48 +44,27 @@ public String createToken(String email) {
4744 }
4845
4946 public Long getId (String token ) {
50- Object memberId = Jwts .parser ()
47+ JwtParser parser = Jwts .parserBuilder ()
5148 .setSigningKey (secretKey )
52- .parseClaimsJws (token )
53- .getBody ()
54- .get ("memberId" );
55-
56- if (memberId instanceof Double ) {
57- return ((Double ) memberId ).longValue ();
58- } else if (memberId instanceof Long ) {
59- return (Long ) memberId ;
60- } else {
61- throw new IllegalArgumentException ("유효한 memberId 형식이 아닙니다." );
62- }
63- }
49+ .build ();
6450
65- public String getName (String token ) {
66- return (String ) Jwts .parser ()
67- .setSigningKey (secretKey )
68- .parseClaimsJws (token )
69- .getBody ()
70- .get ("name" );
71- }
72-
73- public String getEmail (String token ) {
74- return (String ) Jwts .parser ()
75- .setSigningKey (secretKey )
76- .parseClaimsJws (token )
77- .getBody ()
78- .get ("email" );
51+ Claims claims = parser .parseClaimsJws (token ).getBody ();
52+ return Long .parseLong (claims .getSubject ());
7953 }
8054
8155 public String getRole (String token ) {
82- return ( String ) Jwts .parser ()
56+ JwtParser parser = Jwts .parserBuilder ()
8357 .setSigningKey (secretKey )
84- .parseClaimsJws (token )
85- .getBody ()
86- .get ("role" );
58+ .build ();
59+
60+ Claims claims = parser .parseClaimsJws (token ).getBody ();
61+ return claims .get ("role" , String .class );
8762 }
8863
8964 public void validateToken (String token ) {
9065 try {
9166 Jws <Claims > claims = Jwts .parser ().setSigningKey (secretKey ).parseClaimsJws (token );
67+
9268 if (claims .getBody ().getExpiration ().before (new Date ())) {
9369
9470 throw new IllegalArgumentException ("토큰이 만료되었습니다." );
@@ -97,4 +73,22 @@ public void validateToken(String token) {
9773 throw new IllegalArgumentException ("유효하지 않은 토큰입니다." , e );
9874 }
9975 }
76+
77+ // public String getName(String token) {
78+ // JwtParser parser = Jwts.parserBuilder()
79+ // .setSigningKey(secretKey)
80+ // .build();
81+ //
82+ // Claims claims = parser.parseClaimsJws(token).getBody();
83+ // return claims.get("name", String.class);
84+ // }
85+ //
86+ // public String getEmail(String token) {
87+ // JwtParser parser = Jwts.parserBuilder()
88+ // .setSigningKey(secretKey)
89+ // .build();
90+ //
91+ // Claims claims = parser.parseClaimsJws(token).getBody();
92+ // return claims.get("email", String.class);
93+ // }
10094}
0 commit comments