应用表单增加回调url和应用分类字段,重定向url改为单个字符串
This commit is contained in:
@@ -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<String> redirectUris;
|
||||
// @Schema(description = "可重定向的 URI 地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
|
||||
// private List<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")
|
||||
private List<String> authorizedGrantTypes;
|
||||
@@ -55,6 +61,9 @@ public class OAuth2ClientRespVO {
|
||||
@Schema(description = "资源", example = "1024")
|
||||
private List<String> resourceIds;
|
||||
|
||||
@Schema(description = "回调URI地址", requiredMode = Schema.RequiredMode.REQUIRED, example = "https://www.iocoder.cn")
|
||||
private String callbackUris;
|
||||
|
||||
@Schema(description = "附加信息", example = "{yunai: true}")
|
||||
private String additionalInformation;
|
||||
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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<String> redirectUris;
|
||||
// /**
|
||||
// * 可重定向的 URI 地址
|
||||
// */
|
||||
// @TableField(typeHandler = JacksonTypeHandler.class)
|
||||
// private List<String> redirectUris;
|
||||
|
||||
private String redirectUris;
|
||||
|
||||
/**
|
||||
* 授权类型(模式)
|
||||
*
|
||||
@@ -99,6 +107,12 @@ public class OAuth2ClientDO extends BaseDO {
|
||||
*/
|
||||
@TableField(typeHandler = JacksonTypeHandler.class)
|
||||
private List<String> resourceIds;
|
||||
|
||||
/**
|
||||
* 回调URI地址
|
||||
*/
|
||||
private String callbackUris;
|
||||
|
||||
/**
|
||||
* 附加信息,JSON 格式
|
||||
*/
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user