Browse Source

Add credentials expired exception

pull/14074/head
Andrii Landiak 12 months ago
parent
commit
b747908015
  1. 3
      application/src/main/java/org/thingsboard/server/exception/ThingsboardErrorResponseHandler.java
  2. 5
      application/src/main/java/org/thingsboard/server/service/security/exception/JwtExpiredTokenException.java

3
application/src/main/java/org/thingsboard/server/exception/ThingsboardErrorResponseHandler.java

@ -32,6 +32,7 @@ import org.springframework.http.ResponseEntity;
import org.springframework.lang.Nullable; import org.springframework.lang.Nullable;
import org.springframework.security.access.AccessDeniedException; import org.springframework.security.access.AccessDeniedException;
import org.springframework.security.authentication.BadCredentialsException; import org.springframework.security.authentication.BadCredentialsException;
import org.springframework.security.authentication.CredentialsExpiredException;
import org.springframework.security.authentication.DisabledException; import org.springframework.security.authentication.DisabledException;
import org.springframework.security.authentication.LockedException; import org.springframework.security.authentication.LockedException;
import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.AuthenticationException;
@ -242,6 +243,8 @@ public class ThingsboardErrorResponseHandler extends ResponseEntityExceptionHand
JacksonUtil.writeValue(response.getWriter(), ThingsboardCredentialsExpiredResponse.of(expiredException.getMessage(), resetToken)); JacksonUtil.writeValue(response.getWriter(), ThingsboardCredentialsExpiredResponse.of(expiredException.getMessage(), resetToken));
} else if (authenticationException instanceof UserPasswordNotValidException expiredException) { } else if (authenticationException instanceof UserPasswordNotValidException expiredException) {
JacksonUtil.writeValue(response.getWriter(), ThingsboardCredentialsViolationResponse.of(expiredException.getMessage())); JacksonUtil.writeValue(response.getWriter(), ThingsboardCredentialsViolationResponse.of(expiredException.getMessage()));
} else if (authenticationException instanceof CredentialsExpiredException credentialsExpiredException) {
JacksonUtil.writeValue(response.getWriter(), ThingsboardCredentialsViolationResponse.of(credentialsExpiredException.getMessage(), ThingsboardErrorCode.AUTHENTICATION, HttpStatus.UNAUTHORIZED));
} else { } else {
JacksonUtil.writeValue(response.getWriter(), ThingsboardErrorResponse.of("Authentication failed", ThingsboardErrorCode.AUTHENTICATION, HttpStatus.UNAUTHORIZED)); JacksonUtil.writeValue(response.getWriter(), ThingsboardErrorResponse.of("Authentication failed", ThingsboardErrorCode.AUTHENTICATION, HttpStatus.UNAUTHORIZED));
} }

5
application/src/main/java/org/thingsboard/server/service/security/exception/JwtExpiredTokenException.java

@ -17,7 +17,11 @@ package org.thingsboard.server.service.security.exception;
import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.AuthenticationException;
import java.io.Serial;
public class JwtExpiredTokenException extends AuthenticationException { public class JwtExpiredTokenException extends AuthenticationException {
@Serial
private static final long serialVersionUID = -5959543783324224864L; private static final long serialVersionUID = -5959543783324224864L;
private String token; private String token;
@ -34,4 +38,5 @@ public class JwtExpiredTokenException extends AuthenticationException {
public String token() { public String token() {
return this.token; return this.token;
} }
} }

Loading…
Cancel
Save