refactor: use canonical role codes for ukey signing
This commit is contained in:
@@ -196,12 +196,12 @@ public class AuthAdminService {
|
||||
) {
|
||||
requireKeyAdminFull(operatorRoleCode, operatorAuthLevel);
|
||||
RoleCode targetRole = resolveRoleCode(targetRoleCode);
|
||||
String legacyRole = toLegacyRole(targetRole);
|
||||
String authKeyPair = lmkService.exportIkPublicKeyHex();
|
||||
|
||||
UKeySignDTO dto = new UKeySignDTO();
|
||||
dto.setPubKey(request.getPubKey());
|
||||
dto.setRole(legacyRole);
|
||||
// 新卡统一使用规范角色编码,不再兼容旧卡角色字符串。
|
||||
dto.setRole(targetRole.getCode());
|
||||
dto.setUid(request.getUid());
|
||||
dto.setRid(request.getRid());
|
||||
dto.setExtra(request.getExtra());
|
||||
@@ -259,7 +259,7 @@ public class AuthAdminService {
|
||||
try {
|
||||
UKeySignDTO dto = new UKeySignDTO();
|
||||
dto.setPubKey(ukeyPubkey);
|
||||
dto.setRole(toLegacyRole(resolveRoleCode(targetRoleCode)));
|
||||
dto.setRole(resolveRoleCode(targetRoleCode).getCode());
|
||||
dto.setUid(uid);
|
||||
dto.setRid(rid);
|
||||
String authKeyPair = lmkService.exportIkPublicKeyHex();
|
||||
@@ -278,13 +278,4 @@ public class AuthAdminService {
|
||||
throw new IllegalStateException("serialize ukey issue payload failed", ex);
|
||||
}
|
||||
}
|
||||
|
||||
private String toLegacyRole(RoleCode roleCode) {
|
||||
return switch (roleCode) {
|
||||
case SUPER_ADMIN -> "superadmin";
|
||||
case KEY_ADMIN -> "keyadmin";
|
||||
case AUDIT_ADMIN -> "auditadmin";
|
||||
case OPS_ADMIN -> "configadmin";
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -378,7 +378,8 @@ public class AuthService {
|
||||
private String buildIssuePayload(String roleCode, UkeyLoginProof proof, String authKeyPair) {
|
||||
UKeySignDTO dto = new UKeySignDTO();
|
||||
dto.setPubKey(proof.getPubKey());
|
||||
dto.setRole(toLegacyRole(RoleCode.valueOf(roleCode)));
|
||||
// 新卡统一使用规范角色编码参与签名和验签。
|
||||
dto.setRole(RoleCode.valueOf(roleCode).getCode());
|
||||
dto.setUid(proof.getUid());
|
||||
dto.setRid(proof.getRid());
|
||||
try {
|
||||
@@ -388,15 +389,6 @@ public class AuthService {
|
||||
}
|
||||
}
|
||||
|
||||
private String toLegacyRole(RoleCode roleCode) {
|
||||
return switch (roleCode) {
|
||||
case SUPER_ADMIN -> "superadmin";
|
||||
case KEY_ADMIN -> "keyadmin";
|
||||
case AUDIT_ADMIN -> "auditadmin";
|
||||
case OPS_ADMIN -> "configadmin";
|
||||
};
|
||||
}
|
||||
|
||||
private AuthSessionEntity buildSession(String roleCode, AuthMethod authMethod, AuthLevel authLevel) {
|
||||
LocalDateTime issuedAt = now();
|
||||
AuthSessionEntity entity = new AuthSessionEntity();
|
||||
|
||||
@@ -18,7 +18,8 @@ public class UKeySignEntity {
|
||||
*/
|
||||
private String authKeyPair;
|
||||
/**
|
||||
* 登录角色名称,如:superadmin、keyadmin、configadmin、auditadmin
|
||||
* 参与签名的角色编码。
|
||||
* 新卡统一使用规范角色编码,如:SUPER_ADMIN、KEY_ADMIN、AUDIT_ADMIN、OPS_ADMIN。
|
||||
*/
|
||||
private String role;
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user