Add refresh token support with /api/auth/refresh endpoint
- RefreshToken entity added with 1-token-per-user logic. - JWT can be renewed without full login using refresh token.
This commit is contained in:
@@ -0,0 +1,33 @@
|
||||
package com.skycrate.backend.skycrateBackend.entity;
|
||||
|
||||
import jakarta.persistence.*;
|
||||
import java.time.Instant;
|
||||
|
||||
@Entity
|
||||
public class RefreshToken {
|
||||
@Id
|
||||
@GeneratedValue(strategy = GenerationType.IDENTITY)
|
||||
private Long id;
|
||||
|
||||
@Column(nullable = false, unique = true)
|
||||
private String token;
|
||||
|
||||
@OneToOne
|
||||
@JoinColumn(name = "user_id", referencedColumnName = "id")
|
||||
private User user;
|
||||
|
||||
private Instant expiryDate;
|
||||
|
||||
// Getters and setters
|
||||
|
||||
public Long getId() { return id; }
|
||||
|
||||
public String getToken() { return token; }
|
||||
public void setToken(String token) { this.token = token; }
|
||||
|
||||
public User getUser() { return user; }
|
||||
public void setUser(User user) { this.user = user; }
|
||||
|
||||
public Instant getExpiryDate() { return expiryDate; }
|
||||
public void setExpiryDate(Instant expiryDate) { this.expiryDate = expiryDate; }
|
||||
}
|
||||
Reference in New Issue
Block a user