Quantcast
Channel: Recent Questions - Stack Overflow
Viewing all articles
Browse latest Browse all 12171

Error: Cannot invoke "jakarta.servlet.http.HttpSession.getAttribute(String)" because "session" is null

$
0
0

I have a Spring Boot application where I'm using HttpSession to store jwt tokens after login. In my AuthController, after successful login, I create a session and store the token in it. However, when I try to access the session in a subsequent request, specifically in the /decode endpoint, the session is null. (To display the logged user's name and email, I want to decode the token and get name and email from that.)

AuthController Code:

  @PostMapping("/login")    public ResponseEntity<UserDto> login(@RequestBody CredentialsDto credentialsDto, HttpServletRequest request) {        UserDto userDto = userService.login(credentialsDto);        if (userDto == null) {            return ResponseEntity.status(HttpStatus.UNAUTHORIZED).body(null);        }        else {            HttpSession session = request.getSession(true);            session.setAttribute("token", userAuthenticationProvider.createToken(userDto));            return ResponseEntity.ok(userDto);        }    }@GetMapping("/decode")    public ResponseEntity<?> decodeToken(HttpServletRequest request) {        try {            HttpSession session = request.getSession(false);            if(session != null)            {                UserDto userDto = userAuthenticationProvider.decodeToken((String)session.getAttribute("token"));                return ResponseEntity.ok(userDto);            }            else {                System.out.println("Session is null");                return ResponseEntity.ok(null);            }        } catch (JWTDecodeException e) {            return ResponseEntity.status(HttpStatus.BAD_REQUEST).body("Error in decoding token");        }    }

What could be causing the session to be null in subsequent requests, and how can I resolve this issue?

Thank you for your help.


Viewing all articles
Browse latest Browse all 12171

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>