基本实现手机验证码,账号密码登录。腾讯云短信后台显示成功,但是收不到,也没有报错
This commit is contained in:
@@ -2,6 +2,9 @@ package com.onekeycall.videotablet.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 双Token认证令牌对(AccessToken + RefreshToken)
|
||||
* 设计要点:
|
||||
@@ -20,31 +23,33 @@ public class TokenPair {
|
||||
// RefreshToken过期时间戳(毫秒)
|
||||
private long refresh_expires;
|
||||
// 关联设备指纹(防御中间人攻击)[1](@ref)
|
||||
private String deviceId;
|
||||
private String device_id;
|
||||
|
||||
/**
|
||||
* 全参数构造器(安全增强版)
|
||||
* @param access_token JWT格式访问令牌
|
||||
* @param refresh_token JWT格式刷新令牌
|
||||
* @param accessExpireMs AccessToken有效期(毫秒)
|
||||
*
|
||||
* @param access_token JWT格式访问令牌
|
||||
* @param refresh_token JWT格式刷新令牌
|
||||
* @param accessExpireMs AccessToken有效期(毫秒)
|
||||
* @param refreshExpireMs RefreshToken有效期(毫秒)
|
||||
* @param deviceId 客户端设备指纹
|
||||
* @param device_id 客户端设备指纹
|
||||
*/
|
||||
public TokenPair(String access_token, String refresh_token,
|
||||
long accessExpireMs, long refreshExpireMs,
|
||||
String deviceId) {
|
||||
String device_id) {
|
||||
this.access_token = access_token;
|
||||
this.refresh_token = refresh_token;
|
||||
this.access_expires = System.currentTimeMillis() + accessExpireMs;
|
||||
this.refresh_expires = System.currentTimeMillis() + refreshExpireMs;
|
||||
this.deviceId = deviceId;
|
||||
this.device_id = device_id;
|
||||
}
|
||||
|
||||
/**
|
||||
* 快速创建方法(推荐)
|
||||
* @param accessToken 访问令牌
|
||||
*
|
||||
* @param accessToken 访问令牌
|
||||
* @param refreshToken 刷新令牌
|
||||
* @param deviceId 设备指纹
|
||||
* @param deviceId 设备指纹
|
||||
* @return 初始化过期时间的TokenPair
|
||||
*/
|
||||
public static TokenPair create(String accessToken, String refreshToken, String deviceId) {
|
||||
@@ -59,6 +64,7 @@ public class TokenPair {
|
||||
|
||||
/**
|
||||
* 检查AccessToken是否过期
|
||||
*
|
||||
* @return true=已过期,false=有效
|
||||
*/
|
||||
public boolean isAccessExpired() {
|
||||
@@ -67,6 +73,7 @@ public class TokenPair {
|
||||
|
||||
/**
|
||||
* 检查RefreshToken是否过期
|
||||
*
|
||||
* @return true=已过期,false=有效
|
||||
*/
|
||||
public boolean isRefreshExpired() {
|
||||
@@ -75,7 +82,8 @@ public class TokenPair {
|
||||
|
||||
/**
|
||||
* 安全刷新令牌(生成新TokenPair)
|
||||
* @param newAccessToken 新访问令牌
|
||||
*
|
||||
* @param newAccessToken 新访问令牌
|
||||
* @param newRefreshToken 新刷新令牌
|
||||
* @return 更新后的TokenPair(保留原设备ID)
|
||||
*/
|
||||
@@ -85,7 +93,17 @@ public class TokenPair {
|
||||
newRefreshToken,
|
||||
this.access_expires - System.currentTimeMillis(), // 剩余时间延续
|
||||
this.refresh_expires - System.currentTimeMillis(),
|
||||
this.deviceId // 保持设备一致性
|
||||
this.device_id // 保持设备一致性
|
||||
);
|
||||
}
|
||||
|
||||
public Map<String, Object> toMap() {
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
map.put("access_token", access_token);
|
||||
map.put("refresh_token", refresh_token);
|
||||
map.put("access_expires", String.valueOf(access_expires));
|
||||
map.put("refresh_expires", String.valueOf(refresh_expires));
|
||||
map.put("device_id", device_id);
|
||||
return map;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user