package com.malk.apigw.caller; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; import java.util.Date; import java.util.List; /** * 调用方档案(宜搭权限表 → 内存) */ @Data @Builder @AllArgsConstructor @NoArgsConstructor public class CallerProfile { /** 调用方唯一 ID(如 caller-YDCBC-001) */ private String callerId; /** HMAC 签名密钥(内存保留,日志脱敏) */ private String callerSecret; /** 可读名称(审计用) */ private String callerName; /** 允许调用的 action 白名单(vendor.action 精确匹配),如 ["dingtalk.user.get", "aliwork.form.save"] */ private List allowedActions; /** 每秒限流阈值 */ private int rateLimit; /** 密钥过期时间 */ private Date expireAt; /** 是否启用 */ private boolean enabled; }