Skip to content

Commit 642d4ad

Browse files
committed
jwt generation and validation working
1 parent bb2eedc commit 642d4ad

File tree

5 files changed

+29
-14
lines changed

5 files changed

+29
-14
lines changed

spring-boot-jwt/pom.xml

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -27,13 +27,9 @@
2727
<url/>
2828
</scm>
2929
<properties>
30-
<java.version>22</java.version>
30+
<java.version>17</java.version>
3131
</properties>
3232
<dependencies>
33-
<dependency>
34-
<groupId>org.springframework.boot</groupId>
35-
<artifactId>spring-boot-starter-security</artifactId>
36-
</dependency>
3733
<dependency>
3834
<groupId>org.springframework.boot</groupId>
3935
<artifactId>spring-boot-starter-web</artifactId>
@@ -48,7 +44,12 @@
4844
<groupId>io.jsonwebtoken</groupId>
4945
<artifactId>jjwt</artifactId>
5046
<version>0.9.1</version>
51-
</dependency>
47+
</dependency>
48+
<dependency>
49+
<groupId>javax.xml.bind</groupId>
50+
<artifactId>jaxb-api</artifactId>
51+
<version>2.3.1</version>
52+
</dependency>
5253
</dependencies>
5354

5455
<build>

spring-boot-jwt/src/main/java/com/akash/springboot/jwt/JwtUtil.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,20 @@
33
import io.jsonwebtoken.Jwts;
44
import io.jsonwebtoken.SignatureAlgorithm;
55
import io.jsonwebtoken.SignatureException;
6+
67
import org.springframework.stereotype.Component;
78

9+
import java.io.UnsupportedEncodingException;
810
import java.util.Date;
911

1012
@Component
1113
public class JwtUtil {
1214

13-
private static final String SECRET_KEY = "your_secret_key";
15+
private static final String SECRET_KEY = "secret_key";
1416

15-
public String generateToken(String username) {
17+
public String generateToken(String username) throws UnsupportedEncodingException {
1618
return Jwts.builder()
19+
.setIssuer("spring-boot-jwt")
1720
.setSubject(username)
1821
.setIssuedAt(new Date())
1922
.setExpiration(new Date(System.currentTimeMillis() + 86400000)) // 1 day expiration

spring-boot-jwt/src/main/java/com/akash/springboot/jwt/UserController.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
import org.springframework.http.ResponseEntity;
66
import org.springframework.web.bind.annotation.*;
77

8+
import java.io.UnsupportedEncodingException;
89
import java.util.HashMap;
910
import java.util.Map;
1011

@@ -17,19 +18,27 @@ public class UserController {
1718
@Autowired
1819
private JwtUtil jwtUtil;
1920

21+
@GetMapping("/")
22+
public String index() {
23+
return "Greetings from Spring Boot!";
24+
}
25+
2026
@PostMapping("/login")
2127
public ResponseEntity<?> login(@RequestBody Map<String, String> user) {
2228
String username = user.get("username");
2329
String password = user.get("password");
2430
users.put(username, password);
2531

26-
// TODO: Generate JWT token
27-
String token = jwtUtil.generateToken(username);
32+
try {
33+
String token = jwtUtil.generateToken(username); Map<String, String> response = new HashMap<>();
34+
response.put("token", token);
35+
System.err.println(token);
36+
return new ResponseEntity<>(response, HttpStatus.OK);
37+
} catch (UnsupportedEncodingException e) {
38+
e.printStackTrace();
39+
}
2840

29-
Map<String, String> response = new HashMap<>();
30-
response.put("token", token);
31-
System.err.println(token);
32-
return new ResponseEntity<>(response, HttpStatus.OK);
41+
return new ResponseEntity<>("Invalid user", HttpStatus.UNAUTHORIZED);
3342
}
3443

3544

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package com.akash.springboot.jwt;
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1+
server. Port=8080
12
spring.application.name=springboot.jwt

0 commit comments

Comments
 (0)