♻️ CAS协议完善

pull/11/MERGE
smallbun 2023-02-08 15:59:58 +08:00
parent 7e1b737473
commit 0654158dfd
3 changed files with 37 additions and 28 deletions

View File

@ -44,30 +44,25 @@ public interface AppCasStandardConfigConverter {
default AppCasStandardConfigGetResult entityConverterToCasConfigResult(AppCasConfigPO po) { default AppCasStandardConfigGetResult entityConverterToCasConfigResult(AppCasConfigPO po) {
AppCasStandardConfigGetResult result = new AppCasStandardConfigGetResult(); AppCasStandardConfigGetResult result = new AppCasStandardConfigGetResult();
result.setAuthorizationType(po.getAuthorizationType()); result.setAuthorizationType(po.getAuthorizationType());
result.setAppId(String.valueOf(po.getAppId()));
result.setInitLoginType(po.getInitLoginType()); result.setInitLoginType(po.getInitLoginType());
result.setInitLoginUrl(po.getInitLoginUrl()); result.setInitLoginUrl(po.getInitLoginUrl());
result.setClientServiceUrl(po.getClientServiceUrl()); result.setClientServiceUrl(po.getClientServiceUrl());
result.setUserIdentityType(po.getUserIdentityType()); result.setUserIdentityType(po.getUserIdentityType());
result.setServiceTicketExpireTime(po.getServiceTicketExpireTime());
//封装端点信息 //封装端点信息
//@formatter:off
AppCasProtocolEndpoint protocolEndpoint = new AppCasProtocolEndpoint(); AppCasProtocolEndpoint protocolEndpoint = new AppCasProtocolEndpoint();
String baseUrl = ServerContextHelp.getPortalPublicBaseUrl(); String baseUrl = ServerContextHelp.getPortalPublicBaseUrl();
protocolEndpoint protocolEndpoint.setCasServerUrlPrefix(baseUrl+ProtocolConstants.CasEndpointConstants.CAS_AUTHORIZE_BASE_PATH.replace(APP_CODE_VARIABLE, po.getAppCode()));
.setCasSsoEndpoint(baseUrl + ProtocolConstants.CasEndpointConstants.CAS_LOGIN_PATH protocolEndpoint.setCasSsoEndpoint(baseUrl + ProtocolConstants.CasEndpointConstants.CAS_LOGIN_PATH.replace(APP_CODE_VARIABLE, po.getAppCode()));
.replace(APP_CODE_VARIABLE, po.getAppCode())); protocolEndpoint.setCasSloEndpoint(baseUrl + ProtocolConstants.CasEndpointConstants.CAS_LOGOUT_PATH.replace(APP_CODE_VARIABLE, po.getAppCode()));
protocolEndpoint protocolEndpoint.setCasValidateEndpoint(baseUrl + ProtocolConstants.CasEndpointConstants.CAS_VALIDATE_V1_PATH.replace(APP_CODE_VARIABLE, po.getAppCode()));
.setCasSloEndpoint(baseUrl + ProtocolConstants.CasEndpointConstants.CAS_LOGOUT_PATH protocolEndpoint.setCasValidateV2Endpoint(baseUrl + ProtocolConstants.CasEndpointConstants.CAS_VALIDATE_V2_PATH.replace(APP_CODE_VARIABLE, po.getAppCode()));
.replace(APP_CODE_VARIABLE, po.getAppCode())); protocolEndpoint.setCasValidateV3Endpoint(baseUrl + ProtocolConstants.CasEndpointConstants.CAS_VALIDATE_V3_PATH.replace(APP_CODE_VARIABLE, po.getAppCode()));
protocolEndpoint.setCasValidateEndpoint(
baseUrl + ProtocolConstants.CasEndpointConstants.CAS_VALIDATE_V1_PATH
.replace(APP_CODE_VARIABLE, po.getAppCode()));
protocolEndpoint.setCasValidateV2Endpoint(
baseUrl + ProtocolConstants.CasEndpointConstants.CAS_VALIDATE_V2_PATH
.replace(APP_CODE_VARIABLE, po.getAppCode()));
protocolEndpoint.setCasValidateV3Endpoint(
baseUrl + ProtocolConstants.CasEndpointConstants.CAS_VALIDATE_V3_PATH
.replace(APP_CODE_VARIABLE, po.getAppCode()));
result.setProtocolEndpoint(protocolEndpoint); result.setProtocolEndpoint(protocolEndpoint);
//@formatter:on
return result; return result;
} }
} }

View File

@ -21,6 +21,7 @@ import cn.topiam.employee.common.enums.app.AuthorizationType;
import cn.topiam.employee.common.enums.app.CasUserIdentityType; import cn.topiam.employee.common.enums.app.CasUserIdentityType;
import cn.topiam.employee.common.enums.app.InitLoginType; import cn.topiam.employee.common.enums.app.InitLoginType;
import io.swagger.v3.oas.annotations.Parameter;
import lombok.Data; import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@ -34,23 +35,29 @@ import io.swagger.v3.oas.annotations.media.Schema;
public class AppCasStandardConfigGetResult { public class AppCasStandardConfigGetResult {
/** /**
* ID * id
*/ */
@Schema(description = "授权类型") @Schema(description = "应用id")
private AuthorizationType authorizationType; private String appId;
/** /**
* SSO * SSO
*/ */
@Schema(description = "SSO 发起登录类型") @Parameter(description = "SSO 发起方")
private InitLoginType initLoginType; private InitLoginType initLoginType;
/** /**
* SSO URL * SSO
*/ */
@Schema(description = "SSO 发起登录URL") @Parameter(description = "SSO 登录链接")
private String initLoginUrl; private String initLoginUrl;
/**
*
*/
@Parameter(description = "SSO 授权范围")
private AuthorizationType authorizationType;
/** /**
* URL * URL
*/ */
@ -63,6 +70,10 @@ public class AppCasStandardConfigGetResult {
@Schema(name = "用户身份类型标识") @Schema(name = "用户身份类型标识")
private CasUserIdentityType userIdentityType; private CasUserIdentityType userIdentityType;
/**
* serviceTicket
*/
private Integer serviceTicketExpireTime;
/** /**
* CAS * CAS
*/ */

View File

@ -17,16 +17,16 @@
*/ */
package cn.topiam.employee.common.repository.app.impl.mapper; package cn.topiam.employee.common.repository.app.impl.mapper;
import cn.topiam.employee.common.entity.app.po.AppCasConfigPO;
import cn.topiam.employee.common.enums.app.AuthorizationType;
import cn.topiam.employee.common.enums.app.CasUserIdentityType;
import cn.topiam.employee.common.enums.app.InitLoginType;
import org.springframework.jdbc.core.RowMapper;
import java.sql.ResultSet; import java.sql.ResultSet;
import java.sql.SQLException; import java.sql.SQLException;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import org.springframework.jdbc.core.RowMapper;
import cn.topiam.employee.common.entity.app.po.AppCasConfigPO;
import cn.topiam.employee.common.enums.app.CasUserIdentityType;
import cn.topiam.employee.common.enums.app.InitLoginType;
/** /**
* AppCasConfigPOPOMapper * AppCasConfigPOPOMapper
* *
@ -45,6 +45,8 @@ public class AppCasConfigPoMapper implements RowMapper<AppCasConfigPO> {
configPo.setClientSecret(rs.getString("client_secret")); configPo.setClientSecret(rs.getString("client_secret"));
configPo.setInitLoginType(InitLoginType.getType(rs.getString("init_login_type"))); configPo.setInitLoginType(InitLoginType.getType(rs.getString("init_login_type")));
configPo.setInitLoginUrl(rs.getString("init_login_url")); configPo.setInitLoginUrl(rs.getString("init_login_url"));
configPo
.setAuthorizationType(AuthorizationType.getType(rs.getString("authorization_type")));
configPo.setAppTemplate(rs.getString("template_")); configPo.setAppTemplate(rs.getString("template_"));
configPo.setCreateBy(rs.getString("create_by")); configPo.setCreateBy(rs.getString("create_by"));
configPo.setCreateTime(rs.getObject("create_time", LocalDateTime.class)); configPo.setCreateTime(rs.getObject("create_time", LocalDateTime.class));
@ -52,6 +54,7 @@ public class AppCasConfigPoMapper implements RowMapper<AppCasConfigPO> {
configPo.setCreateTime(rs.getObject("update_time", LocalDateTime.class)); configPo.setCreateTime(rs.getObject("update_time", LocalDateTime.class));
configPo.setRemark(rs.getString("remark_")); configPo.setRemark(rs.getString("remark_"));
configPo.setClientServiceUrl(rs.getString("client_service_url")); configPo.setClientServiceUrl(rs.getString("client_service_url"));
configPo.setServiceTicketExpireTime(rs.getInt("service_ticket_expire_time"));
configPo configPo
.setUserIdentityType(CasUserIdentityType.getType(rs.getString("user_identity_type"))); .setUserIdentityType(CasUserIdentityType.getType(rs.getString("user_identity_type")));
return configPo; return configPo;