30 lines
1.1 KiB
Java
30 lines
1.1 KiB
Java
package com.baiyue.auth.dto;
|
|
|
|
import io.swagger.v3.oas.annotations.media.Schema;
|
|
import jakarta.validation.constraints.NotNull;
|
|
|
|
/** 海外 PDA 已验签身份的实时会话校验契约;绝不接收 raw JWT 或用户凭据。 */
|
|
public final class OverseasSessionValidationDtos {
|
|
private OverseasSessionValidationDtos() { }
|
|
|
|
@Schema(name = "OverseasSessionValidationRequest",
|
|
description = "Claims extracted only after overseas Gateway verifies the JWT signature")
|
|
public record Request(
|
|
@NotNull Long userId,
|
|
@NotNull Integer tokenVersion,
|
|
Long overseasWarehouseId) { }
|
|
|
|
@Schema(name = "OverseasSessionValidationResponse")
|
|
public record Response(boolean valid, FailureReason failureReason) {
|
|
public static Response accepted() { return new Response(true, null); }
|
|
public static Response rejected(FailureReason reason) { return new Response(false, reason); }
|
|
}
|
|
|
|
public enum FailureReason {
|
|
ACCOUNT_INVALID,
|
|
TOKEN_VERSION_MISMATCH,
|
|
WAREHOUSE_UNBOUND,
|
|
WAREHOUSE_MISMATCH
|
|
}
|
|
}
|