diff --git a/lidee-admin/src/main/resources/application-local.yaml b/lidee-admin/src/main/resources/application-local.yaml index 4fc534c..3da250c 100644 --- a/lidee-admin/src/main/resources/application-local.yaml +++ b/lidee-admin/src/main/resources/application-local.yaml @@ -9,15 +9,23 @@ spring: datasource: master: # MYSQL数据库 主库,业务库 + url: jdbc:mysql://127.0.0.1:3306/gr_report?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true&rewriteBatchedStatements=true # MySQL Connector/J 8.X 连接的示例 username: root + password: root lideeyunji: # 从库,框架库 + url: jdbc:mysql://127.0.0.1:3306/gr_report?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 username: root + password: root slave: # 日志库单独 lazy: true # 开启懒加载,保证启动速度 + url: jdbc:mysql://127.0.0.1:3306/gr_report?useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true&nullCatalogMeansCurrent=true # MySQL Connector/J 8.X 连接的示例 username: root + password: root redis: + host: 127.0.0.1 # 地址 port: 6379 # 端口 database: 2 # 数据库索引 + password: lidee@123 # 密码,建议生产环境开启 --- #################### 地代码平台相关配置 #################### diff --git a/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/controller/vo/oauth2/client/OAuth2ClientRespVO.java b/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/controller/vo/oauth2/client/OAuth2ClientRespVO.java index dad4264..3da6be8 100644 --- a/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/controller/vo/oauth2/client/OAuth2ClientRespVO.java +++ b/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/controller/vo/oauth2/client/OAuth2ClientRespVO.java @@ -22,7 +22,10 @@ public class OAuth2ClientRespVO { @Schema(description = "应用名", requiredMode = Schema.RequiredMode.REQUIRED, example = "土豆") private String name; - @Schema(description = "应用图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.lidee.cn/xx.png") + @Schema(description = "应用分类", requiredMode = Schema.RequiredMode.REQUIRED, example = "category1") + private String category; + + @Schema(description = "应用图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.png") private String logo; @Schema(description = "应用描述", example = "我是一个应用") @@ -37,8 +40,11 @@ public class OAuth2ClientRespVO { @Schema(description = "刷新令牌的有效期", requiredMode = Schema.RequiredMode.REQUIRED, example = "8640000") private Integer refreshTokenValiditySeconds; - @Schema(description = "可重定向的 URI 地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.lidee.cn") - private List redirectUris; +// @Schema(description = "可重定向的 URI 地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn") +// private List redirectUris; + + @Schema(description = "可重定向的 URI 地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn") + private String redirectUris; @Schema(description = "授权类型,参见 OAuth2GrantTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "password") private List authorizedGrantTypes; @@ -55,6 +61,9 @@ public class OAuth2ClientRespVO { @Schema(description = "资源", example = "1024") private List resourceIds; + @Schema(description = "回调URI地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn") + private String callbackUris; + @Schema(description = "附加信息", example = "{yunai: true}") private String additionalInformation; diff --git a/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/controller/vo/oauth2/client/OAuth2ClientSaveReqVO.java b/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/controller/vo/oauth2/client/OAuth2ClientSaveReqVO.java index 11f0295..b4a5662 100644 --- a/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/controller/vo/oauth2/client/OAuth2ClientSaveReqVO.java +++ b/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/controller/vo/oauth2/client/OAuth2ClientSaveReqVO.java @@ -30,7 +30,11 @@ public class OAuth2ClientSaveReqVO { @NotNull(message = "应用名不能为空") private String name; - @Schema(description = "应用图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.lidee.cn/xx.png") + @Schema(description = "应用分类", requiredMode = Schema.RequiredMode.REQUIRED, example = "category1") + @NotNull(message = "应用分类不能为空") + private String category; + + @Schema(description = "应用图标", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn/xx.png") @NotNull(message = "应用图标不能为空") @URL(message = "应用图标的地址不正确") private String logo; @@ -46,14 +50,17 @@ public class OAuth2ClientSaveReqVO { @NotNull(message = "访问令牌的有效期不能为空") private Integer accessTokenValiditySeconds; - @Schema(description = "刷新令牌的有效期", requiredMode = Schema.RequiredMode.REQUIRED, example = "8640000") @NotNull(message = "刷新令牌的有效期不能为空") private Integer refreshTokenValiditySeconds; - @Schema(description = "可重定向的 URI 地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.lidee.cn") - @NotNull(message = "可重定向的 URI 地址不能为空") - private List<@NotEmpty(message = "重定向的 URI 不能为空") @URL(message = "重定向的 URI 格式不正确") String> redirectUris; +// @Schema(description = "可重定向的 URI 地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn") +// @NotNull(message = "可重定向的 URI 地址不能为空") +// private List<@NotEmpty(message = "重定向的 URI 不能为空") @URL(message = "重定向的 URI 格式不正确") String> redirectUris; + + + @Schema(description = "可重定向的 URI 地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn") + private String redirectUris; @Schema(description = "授权类型,参见 OAuth2GrantTypeEnum 枚举", requiredMode = Schema.RequiredMode.REQUIRED, example = "password") @NotNull(message = "授权类型不能为空") @@ -74,6 +81,9 @@ public class OAuth2ClientSaveReqVO { @Schema(description = "附加信息", example = "{yunai: true}") private String additionalInformation; + @Schema(description = "回调URI地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn") + private String callbackUris; + @AssertTrue(message = "附加信息必须是 JSON 格式") public boolean isAdditionalInformationJson() { return StrUtil.isEmpty(additionalInformation) || JsonUtils.isJson(additionalInformation); diff --git a/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/entity/OAuth2ClientDO.java b/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/entity/OAuth2ClientDO.java index 91f20fa..ce0d638 100644 --- a/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/entity/OAuth2ClientDO.java +++ b/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/entity/OAuth2ClientDO.java @@ -43,6 +43,11 @@ public class OAuth2ClientDO extends BaseDO { * 应用名 */ private String name; + /** + * 应用分类 + */ + private String category; + /** * 应用图标 */ @@ -65,11 +70,14 @@ public class OAuth2ClientDO extends BaseDO { * 刷新令牌的有效期 */ private Integer refreshTokenValiditySeconds; - /** - * 可重定向的 URI 地址 - */ - @TableField(typeHandler = JacksonTypeHandler.class) - private List redirectUris; +// /** +// * 可重定向的 URI 地址 +// */ +// @TableField(typeHandler = JacksonTypeHandler.class) +// private List redirectUris; + + private String redirectUris; + /** * 授权类型(模式) * @@ -99,6 +107,12 @@ public class OAuth2ClientDO extends BaseDO { */ @TableField(typeHandler = JacksonTypeHandler.class) private List resourceIds; + + /** + * 回调URI地址 + */ + private String callbackUris; + /** * 附加信息,JSON 格式 */ diff --git a/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/service/impl/OAuth2ClientServiceImpl.java b/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/service/impl/OAuth2ClientServiceImpl.java index 2ff716a..7135cfe 100644 --- a/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/service/impl/OAuth2ClientServiceImpl.java +++ b/lidee-service/lidee-service-system-biz/src/main/java/com/lideeyunji/service/system/service/impl/OAuth2ClientServiceImpl.java @@ -136,7 +136,10 @@ public class OAuth2ClientServiceImpl implements IOAuth2ClientService { throw exception(OAUTH2_CLIENT_SCOPE_OVER); } // 校验回调地址 - if (StrUtil.isNotEmpty(redirectUri) && !StrUtils.startWithAny(redirectUri, client.getRedirectUris())) { +// if (StrUtil.isNotEmpty(redirectUri) && !StrUtils.startWithAny(redirectUri, client.getRedirectUris())) { +// throw exception(OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH, redirectUri); +// } + if (StrUtil.isNotEmpty(redirectUri) && ObjectUtil.notEqual(client.getRedirectUris(), redirectUri)) { throw exception(OAUTH2_CLIENT_REDIRECT_URI_NOT_MATCH, redirectUri); } return client;