Commit c7a29167480bf2f5c0d5b27600ce12feab9379f7
1 parent
60bb8dd2
完成 system_oauth2_approve 相关的批准逻辑
Showing
34 changed files
with
225 additions
and
43 deletions
yudao-framework/yudao-common/src/main/java/cn/iocoder/yudao/framework/common/util/collection/CollectionUtils.java
| @@ -68,6 +68,13 @@ public class CollectionUtils { | @@ -68,6 +68,13 @@ public class CollectionUtils { | ||
| 68 | return from.stream().map(func).filter(Objects::nonNull).collect(Collectors.toSet()); | 68 | return from.stream().map(func).filter(Objects::nonNull).collect(Collectors.toSet()); |
| 69 | } | 69 | } |
| 70 | 70 | ||
| 71 | + public static <T, U> Set<U> convertSet(Collection<T> from, Function<T, U> func, Predicate<T> filter) { | ||
| 72 | + if (CollUtil.isEmpty(from)) { | ||
| 73 | + return new HashSet<>(); | ||
| 74 | + } | ||
| 75 | + return from.stream().filter(filter).map(func).filter(Objects::nonNull).collect(Collectors.toSet()); | ||
| 76 | + } | ||
| 77 | + | ||
| 71 | public static <T, K> Map<K, T> convertMap(Collection<T> from, Function<T, K> keyFunc) { | 78 | public static <T, K> Map<K, T> convertMap(Collection<T> from, Function<T, K> keyFunc) { |
| 72 | if (CollUtil.isEmpty(from)) { | 79 | if (CollUtil.isEmpty(from)) { |
| 73 | return new HashMap<>(); | 80 | return new HashMap<>(); |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/api/auth/OAuth2TokenApiImpl.java
| @@ -4,7 +4,7 @@ import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenCheckRespDTO | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenCheckRespDTO | ||
| 4 | import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenCreateReqDTO; | 4 | import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenCreateReqDTO; |
| 5 | import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenRespDTO; | 5 | import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenRespDTO; |
| 6 | import cn.iocoder.yudao.module.system.convert.auth.OAuth2TokenConvert; | 6 | import cn.iocoder.yudao.module.system.convert.auth.OAuth2TokenConvert; |
| 7 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 8 | import cn.iocoder.yudao.module.system.service.oauth2.OAuth2TokenService; | 8 | import cn.iocoder.yudao.module.system.service.oauth2.OAuth2TokenService; |
| 9 | import org.springframework.stereotype.Service; | 9 | import org.springframework.stereotype.Service; |
| 10 | 10 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2ClientController.java
| @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2Cl | @@ -7,7 +7,7 @@ import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2Cl | ||
| 7 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientRespVO; | 7 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientRespVO; |
| 8 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; | 8 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; |
| 9 | import cn.iocoder.yudao.module.system.convert.auth.OAuth2ClientConvert; | 9 | import cn.iocoder.yudao.module.system.convert.auth.OAuth2ClientConvert; |
| 10 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2ClientDO; | 10 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO; |
| 11 | import cn.iocoder.yudao.module.system.service.oauth2.OAuth2ClientService; | 11 | import cn.iocoder.yudao.module.system.service.oauth2.OAuth2ClientService; |
| 12 | import io.swagger.annotations.Api; | 12 | import io.swagger.annotations.Api; |
| 13 | import io.swagger.annotations.ApiImplicitParam; | 13 | import io.swagger.annotations.ApiImplicitParam; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2OpenController.java
| @@ -15,8 +15,8 @@ import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.open.OAuth2Open | @@ -15,8 +15,8 @@ import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.open.OAuth2Open | ||
| 15 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.open.user.OAuth2OpenUserInfoRespVO; | 15 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.open.user.OAuth2OpenUserInfoRespVO; |
| 16 | import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; | 16 | import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; |
| 17 | import cn.iocoder.yudao.module.system.convert.oauth2.OAuth2OpenConvert; | 17 | import cn.iocoder.yudao.module.system.convert.oauth2.OAuth2OpenConvert; |
| 18 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | ||
| 19 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2ClientDO; | 18 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 19 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO; | ||
| 20 | import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; | 20 | import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; |
| 21 | import cn.iocoder.yudao.module.system.dal.dataobject.dept.PostDO; | 21 | import cn.iocoder.yudao.module.system.dal.dataobject.dept.PostDO; |
| 22 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; | 22 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/controller/admin/oauth2/OAuth2TokenController.java
| @@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -5,7 +5,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 5 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; | 5 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; |
| 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenRespVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenRespVO; |
| 7 | import cn.iocoder.yudao.module.system.convert.auth.OAuth2TokenConvert; | 7 | import cn.iocoder.yudao.module.system.convert.auth.OAuth2TokenConvert; |
| 8 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 8 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 9 | import cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum; | 9 | import cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum; |
| 10 | import cn.iocoder.yudao.module.system.service.auth.AdminAuthService; | 10 | import cn.iocoder.yudao.module.system.service.auth.AdminAuthService; |
| 11 | import cn.iocoder.yudao.module.system.service.oauth2.OAuth2TokenService; | 11 | import cn.iocoder.yudao.module.system.service.oauth2.OAuth2TokenService; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/auth/AuthConvert.java
| @@ -5,7 +5,7 @@ import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO; | @@ -5,7 +5,7 @@ import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeSendReqDTO; | ||
| 5 | import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO; | 5 | import cn.iocoder.yudao.module.system.api.sms.dto.code.SmsCodeUseReqDTO; |
| 6 | import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO; | 6 | import cn.iocoder.yudao.module.system.api.social.dto.SocialUserBindReqDTO; |
| 7 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.*; | 7 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.*; |
| 8 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 8 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 9 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; | 9 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.MenuDO; |
| 10 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; | 10 | import cn.iocoder.yudao.module.system.dal.dataobject.permission.RoleDO; |
| 11 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; | 11 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/auth/OAuth2ClientConvert.java
| @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientCreateReqVO; | 4 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientCreateReqVO; |
| 5 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientRespVO; | 5 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientRespVO; |
| 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; |
| 7 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2ClientDO; | 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO; |
| 8 | import org.mapstruct.Mapper; | 8 | import org.mapstruct.Mapper; |
| 9 | import org.mapstruct.factory.Mappers; | 9 | import org.mapstruct.factory.Mappers; |
| 10 | 10 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/auth/OAuth2TokenConvert.java
| @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenCheckRespDTO; | 4 | import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenCheckRespDTO; |
| 5 | import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenRespDTO; | 5 | import cn.iocoder.yudao.module.system.api.auth.dto.OAuth2AccessTokenRespDTO; |
| 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenRespVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenRespVO; |
| 7 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 8 | import org.mapstruct.Mapper; | 8 | import org.mapstruct.Mapper; |
| 9 | import org.mapstruct.factory.Mappers; | 9 | import org.mapstruct.factory.Mappers; |
| 10 | 10 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/convert/oauth2/OAuth2OpenConvert.java
| @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.open.OAuth2Open | @@ -6,7 +6,7 @@ import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.open.OAuth2Open | ||
| 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.open.OAuth2OpenCheckTokenRespVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.open.OAuth2OpenCheckTokenRespVO; |
| 7 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.open.user.OAuth2OpenUserInfoRespVO; | 7 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.open.user.OAuth2OpenUserInfoRespVO; |
| 8 | import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; | 8 | import cn.iocoder.yudao.module.system.controller.admin.user.vo.profile.UserProfileUpdateReqVO; |
| 9 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 9 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 10 | import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; | 10 | import cn.iocoder.yudao.module.system.dal.dataobject.dept.DeptDO; |
| 11 | import cn.iocoder.yudao.module.system.dal.dataobject.dept.PostDO; | 11 | import cn.iocoder.yudao.module.system.dal.dataobject.dept.PostDO; |
| 12 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; | 12 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/auth/OAuth2AccessTokenDO.java renamed to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2AccessTokenDO.java
| 1 | -package cn.iocoder.yudao.module.system.dal.dataobject.auth; | 1 | +package cn.iocoder.yudao.module.system.dal.dataobject.oauth2; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 4 | import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; | 4 | import cn.iocoder.yudao.framework.tenant.core.db.TenantBaseDO; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2ApproveDO.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.system.dal.dataobject.oauth2; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | ||
| 4 | +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | ||
| 5 | +import com.baomidou.mybatisplus.annotation.KeySequence; | ||
| 6 | +import com.baomidou.mybatisplus.annotation.TableId; | ||
| 7 | +import com.baomidou.mybatisplus.annotation.TableName; | ||
| 8 | +import lombok.Data; | ||
| 9 | +import lombok.EqualsAndHashCode; | ||
| 10 | + | ||
| 11 | +import java.util.Date; | ||
| 12 | + | ||
| 13 | +/** | ||
| 14 | + * OAuth2 批准 DO | ||
| 15 | + * | ||
| 16 | + * 用户在 authorize.vue 界面时,记录接受的 scope 列表 | ||
| 17 | + * | ||
| 18 | + * @author 芋道源码 | ||
| 19 | + */ | ||
| 20 | +@TableName(value = "system_oauth2_approve", autoResultMap = true) | ||
| 21 | +@KeySequence("system_oauth2_approve_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库,可不写。 | ||
| 22 | +@Data | ||
| 23 | +@EqualsAndHashCode(callSuper = true) | ||
| 24 | +public class OAuth2ApproveDO extends BaseDO { | ||
| 25 | + | ||
| 26 | + /** | ||
| 27 | + * 编号,数据库自增 | ||
| 28 | + */ | ||
| 29 | + @TableId | ||
| 30 | + private Long id; | ||
| 31 | + /** | ||
| 32 | + * 用户编号 | ||
| 33 | + */ | ||
| 34 | + private Long userId; | ||
| 35 | + /** | ||
| 36 | + * 用户类型 | ||
| 37 | + * | ||
| 38 | + * 枚举 {@link UserTypeEnum} | ||
| 39 | + */ | ||
| 40 | + private Integer userType; | ||
| 41 | + /** | ||
| 42 | + * 客户端编号 | ||
| 43 | + * | ||
| 44 | + * 关联 {@link OAuth2ClientDO#getId()} | ||
| 45 | + */ | ||
| 46 | + private String clientId; | ||
| 47 | + /** | ||
| 48 | + * 授权范围 | ||
| 49 | + */ | ||
| 50 | + private String scope; | ||
| 51 | + /** | ||
| 52 | + * 是否接受 | ||
| 53 | + * | ||
| 54 | + * true - 接受 | ||
| 55 | + * false - 拒绝 | ||
| 56 | + */ | ||
| 57 | + private Boolean approved; | ||
| 58 | + /** | ||
| 59 | + * 过期时间 | ||
| 60 | + */ | ||
| 61 | + private Date expiresTime; | ||
| 62 | + | ||
| 63 | +} |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/auth/OAuth2ClientDO.java renamed to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2ClientDO.java
| 1 | -package cn.iocoder.yudao.module.system.dal.dataobject.auth; | 1 | +package cn.iocoder.yudao.module.system.dal.dataobject.oauth2; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.CommonStatusEnum; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/auth/OAuth2CodeDO.java renamed to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2CodeDO.java
| 1 | -package cn.iocoder.yudao.module.system.dal.dataobject.auth; | 1 | +package cn.iocoder.yudao.module.system.dal.dataobject.oauth2; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/auth/OAuth2RefreshTokenDO.java renamed to yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/dataobject/oauth2/OAuth2RefreshTokenDO.java
| 1 | -package cn.iocoder.yudao.module.system.dal.dataobject.auth; | 1 | +package cn.iocoder.yudao.module.system.dal.dataobject.oauth2; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | 3 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; | 4 | import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2AccessTokenMapper.java
| @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; |
| 7 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 8 | import org.apache.ibatis.annotations.Mapper; | 8 | import org.apache.ibatis.annotations.Mapper; |
| 9 | 9 | ||
| 10 | import java.util.Date; | 10 | import java.util.Date; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2ApproveMapper.java
0 → 100644
| 1 | +package cn.iocoder.yudao.module.system.dal.mysql.oauth2; | ||
| 2 | + | ||
| 3 | +import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | ||
| 4 | +import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | ||
| 5 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ApproveDO; | ||
| 6 | +import org.apache.ibatis.annotations.Mapper; | ||
| 7 | + | ||
| 8 | +import java.util.List; | ||
| 9 | + | ||
| 10 | +@Mapper | ||
| 11 | +public interface OAuth2ApproveMapper extends BaseMapperX<OAuth2ApproveDO> { | ||
| 12 | + | ||
| 13 | + default int update(OAuth2ApproveDO updateObj) { | ||
| 14 | + return update(updateObj, new LambdaQueryWrapperX<OAuth2ApproveDO>() | ||
| 15 | + .eq(OAuth2ApproveDO::getUserId, updateObj.getUserId()) | ||
| 16 | + .eq(OAuth2ApproveDO::getUserType, updateObj.getUserType()) | ||
| 17 | + .eq(OAuth2ApproveDO::getClientId, updateObj.getClientId())); | ||
| 18 | + } | ||
| 19 | + | ||
| 20 | + default List<OAuth2ApproveDO> selectListByUserIdAndUserTypeAndClientId(Long userId, Integer userType, String clientId) { | ||
| 21 | + return selectList(new LambdaQueryWrapperX<OAuth2ApproveDO>() | ||
| 22 | + .eq(OAuth2ApproveDO::getUserId, userId) | ||
| 23 | + .eq(OAuth2ApproveDO::getUserType, userType) | ||
| 24 | + .eq(OAuth2ApproveDO::getClientId, clientId)); | ||
| 25 | + } | ||
| 26 | + | ||
| 27 | +} |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2ClientMapper.java
| @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 4 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 5 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; |
| 7 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2ClientDO; | 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO; |
| 8 | import org.apache.ibatis.annotations.Mapper; | 8 | import org.apache.ibatis.annotations.Mapper; |
| 9 | import org.apache.ibatis.annotations.Select; | 9 | import org.apache.ibatis.annotations.Select; |
| 10 | 10 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2CodeMapper.java
| 1 | package cn.iocoder.yudao.module.system.dal.mysql.oauth2; | 1 | package cn.iocoder.yudao.module.system.dal.mysql.oauth2; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 4 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2CodeDO; | 4 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2CodeDO; |
| 5 | import org.apache.ibatis.annotations.Mapper; | 5 | import org.apache.ibatis.annotations.Mapper; |
| 6 | 6 | ||
| 7 | @Mapper | 7 | @Mapper |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/mysql/oauth2/OAuth2RefreshTokenMapper.java
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.dal.mysql.oauth2; | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.dal.mysql.oauth2; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; | 3 | import cn.iocoder.yudao.framework.mybatis.core.mapper.BaseMapperX; |
| 4 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; | 4 | import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX; |
| 5 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2RefreshTokenDO; | 5 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2RefreshTokenDO; |
| 6 | import org.apache.ibatis.annotations.Mapper; | 6 | import org.apache.ibatis.annotations.Mapper; |
| 7 | 7 | ||
| 8 | @Mapper | 8 | @Mapper |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/redis/RedisKeyConstants.java
| 1 | package cn.iocoder.yudao.module.system.dal.redis; | 1 | package cn.iocoder.yudao.module.system.dal.redis; |
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.redis.core.RedisKeyDefine; | 3 | import cn.iocoder.yudao.framework.redis.core.RedisKeyDefine; |
| 4 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 4 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 5 | 5 | ||
| 6 | import java.time.Duration; | 6 | import java.time.Duration; |
| 7 | 7 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/dal/redis/oauth2/OAuth2AccessTokenRedisDAO.java
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.dal.redis.oauth2; | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.dal.redis.oauth2; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; | 3 | import cn.iocoder.yudao.framework.common.util.collection.CollectionUtils; |
| 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; | 4 | import cn.iocoder.yudao.framework.common.util.json.JsonUtils; |
| 5 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 5 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 6 | import org.springframework.data.redis.core.StringRedisTemplate; | 6 | import org.springframework.data.redis.core.StringRedisTemplate; |
| 7 | import org.springframework.stereotype.Repository; | 7 | import org.springframework.stereotype.Repository; |
| 8 | 8 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImpl.java
| @@ -10,7 +10,7 @@ import cn.iocoder.yudao.module.system.api.logger.dto.LoginLogCreateReqDTO; | @@ -10,7 +10,7 @@ import cn.iocoder.yudao.module.system.api.logger.dto.LoginLogCreateReqDTO; | ||
| 10 | import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi; | 10 | import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi; |
| 11 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.*; | 11 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.*; |
| 12 | import cn.iocoder.yudao.module.system.convert.auth.AuthConvert; | 12 | import cn.iocoder.yudao.module.system.convert.auth.AuthConvert; |
| 13 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 13 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 14 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; | 14 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; |
| 15 | import cn.iocoder.yudao.module.system.enums.auth.OAuth2ClientConstants; | 15 | import cn.iocoder.yudao.module.system.enums.auth.OAuth2ClientConstants; |
| 16 | import cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum; | 16 | import cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveService.java
| 1 | package cn.iocoder.yudao.module.system.service.oauth2; | 1 | package cn.iocoder.yudao.module.system.service.oauth2; |
| 2 | 2 | ||
| 3 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ApproveDO; | ||
| 4 | + | ||
| 3 | import java.util.Collection; | 5 | import java.util.Collection; |
| 6 | +import java.util.List; | ||
| 4 | import java.util.Map; | 7 | import java.util.Map; |
| 5 | 8 | ||
| 6 | /** | 9 | /** |
| @@ -20,10 +23,10 @@ public interface OAuth2ApproveService { | @@ -20,10 +23,10 @@ public interface OAuth2ApproveService { | ||
| 20 | * @param userId 用户编号 | 23 | * @param userId 用户编号 |
| 21 | * @param userType 用户类型 | 24 | * @param userType 用户类型 |
| 22 | * @param clientId 客户端编号 | 25 | * @param clientId 客户端编号 |
| 23 | - * @param scopes 授权范围 | 26 | + * @param requestedScopes 授权范围 |
| 24 | * @return 是否授权通过 | 27 | * @return 是否授权通过 |
| 25 | */ | 28 | */ |
| 26 | - boolean checkForPreApproval(Long userId, Integer userType, String clientId, Collection<String> scopes); | 29 | + boolean checkForPreApproval(Long userId, Integer userType, String clientId, Collection<String> requestedScopes); |
| 27 | 30 | ||
| 28 | /** | 31 | /** |
| 29 | * 在用户发起批准时,基于 scopes 的选项,计算最终是否通过 | 32 | * 在用户发起批准时,基于 scopes 的选项,计算最终是否通过 |
| @@ -31,9 +34,19 @@ public interface OAuth2ApproveService { | @@ -31,9 +34,19 @@ public interface OAuth2ApproveService { | ||
| 31 | * @param userId 用户编号 | 34 | * @param userId 用户编号 |
| 32 | * @param userType 用户类型 | 35 | * @param userType 用户类型 |
| 33 | * @param clientId 客户端编号 | 36 | * @param clientId 客户端编号 |
| 34 | - * @param scopes 授权范围 | 37 | + * @param requestedScopes 授权范围 |
| 38 | + * @return 是否授权通过 | ||
| 39 | + */ | ||
| 40 | + boolean updateAfterApproval(Long userId, Integer userType, String clientId, Map<String, Boolean> requestedScopes); | ||
| 41 | + | ||
| 42 | + /** | ||
| 43 | + * 获得用户的批准列表,排除已过期的 | ||
| 44 | + * | ||
| 45 | + * @param userId 用户编号 | ||
| 46 | + * @param userType 用户类型 | ||
| 47 | + * @param clientId 客户端编号 | ||
| 35 | * @return 是否授权通过 | 48 | * @return 是否授权通过 |
| 36 | */ | 49 | */ |
| 37 | - boolean updateAfterApproval(Long userId, Integer userType, String clientId, Map<String, Boolean> scopes); | 50 | + List<OAuth2ApproveDO> getApproveList(Long userId, Integer userType, String clientId); |
| 38 | 51 | ||
| 39 | } | 52 | } |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ApproveServiceImpl.java
| 1 | package cn.iocoder.yudao.module.system.service.oauth2; | 1 | package cn.iocoder.yudao.module.system.service.oauth2; |
| 2 | 2 | ||
| 3 | +import cn.hutool.core.collection.CollUtil; | ||
| 4 | +import cn.hutool.core.lang.Assert; | ||
| 5 | +import cn.iocoder.yudao.framework.common.util.date.DateUtils; | ||
| 6 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ApproveDO; | ||
| 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO; | ||
| 8 | +import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2ApproveMapper; | ||
| 3 | import org.springframework.stereotype.Service; | 9 | import org.springframework.stereotype.Service; |
| 10 | +import org.springframework.validation.annotation.Validated; | ||
| 4 | 11 | ||
| 5 | -import java.util.Collection; | ||
| 6 | -import java.util.Map; | 12 | +import javax.annotation.Resource; |
| 13 | +import java.util.*; | ||
| 14 | + | ||
| 15 | +import static cn.iocoder.yudao.framework.common.util.collection.CollectionUtils.convertSet; | ||
| 7 | 16 | ||
| 8 | /** | 17 | /** |
| 9 | * OAuth2 批准 Service 实现类 | 18 | * OAuth2 批准 Service 实现类 |
| @@ -11,16 +20,79 @@ import java.util.Map; | @@ -11,16 +20,79 @@ import java.util.Map; | ||
| 11 | * @author 芋道源码 | 20 | * @author 芋道源码 |
| 12 | */ | 21 | */ |
| 13 | @Service | 22 | @Service |
| 23 | +@Validated | ||
| 14 | public class OAuth2ApproveServiceImpl implements OAuth2ApproveService { | 24 | public class OAuth2ApproveServiceImpl implements OAuth2ApproveService { |
| 15 | 25 | ||
| 26 | + /** | ||
| 27 | + * 批准的过期时间,默认 30 天 | ||
| 28 | + */ | ||
| 29 | + private static final Integer TIMEOUT = 30 * 24 * 60; // 单位:秒 | ||
| 30 | + | ||
| 31 | + @Resource | ||
| 32 | + private OAuth2ClientService oauth2ClientService; | ||
| 33 | + | ||
| 34 | + @Resource | ||
| 35 | + private OAuth2ApproveMapper oauth2ApproveMapper; | ||
| 36 | + | ||
| 16 | @Override | 37 | @Override |
| 17 | - public boolean checkForPreApproval(Long userId, Integer userType, String clientId, Collection<String> scopes) { | ||
| 18 | - return true; | 38 | + public boolean checkForPreApproval(Long userId, Integer userType, String clientId, Collection<String> requestedScopes) { |
| 39 | + // 第一步,基于 Client 的自动授权计算,如果 scopes 都在自动授权中,则返回 true 通过 | ||
| 40 | + OAuth2ClientDO clientDO = oauth2ClientService.validOAuthClientFromCache(clientId); | ||
| 41 | + Assert.notNull(clientDO, "客户端不能为空"); // 防御性编程 | ||
| 42 | + if (CollUtil.containsAll(clientDO.getAutoApproveScopes(), requestedScopes)) { | ||
| 43 | + // gh-877 - if all scopes are auto approved, approvals still need to be added to the approval store. | ||
| 44 | + Date expireTime = DateUtils.addDate(Calendar.SECOND, TIMEOUT); | ||
| 45 | + for (String scope : requestedScopes) { | ||
| 46 | + saveApprove(userId, userType, clientId, scope, true, expireTime); | ||
| 47 | + } | ||
| 48 | + return true; | ||
| 49 | + } | ||
| 50 | + | ||
| 51 | + // 第二步,算上用户已经批准的授权。如果 scopes 都包含,则返回 true | ||
| 52 | + List<OAuth2ApproveDO> approveDOs = oauth2ApproveMapper.selectListByUserIdAndUserTypeAndClientId( | ||
| 53 | + userId, userType, clientId); | ||
| 54 | + Set<String> scopes = convertSet(approveDOs, OAuth2ApproveDO::getScope, | ||
| 55 | + o -> o.getApproved() && !DateUtils.isExpired(o.getExpiresTime())); // 只保留未过期的 | ||
| 56 | + return CollUtil.containsAll(scopes, requestedScopes); | ||
| 19 | } | 57 | } |
| 20 | 58 | ||
| 21 | @Override | 59 | @Override |
| 22 | - public boolean updateAfterApproval(Long userId, Integer userType, String clientId, Map<String, Boolean> scopes) { | ||
| 23 | - return false; | 60 | + public boolean updateAfterApproval(Long userId, Integer userType, String clientId, Map<String, Boolean> requestedScopes) { |
| 61 | + // 如果 requestedScopes 为空,说明没有要求,则返回 true 通过 | ||
| 62 | + if (CollUtil.isEmpty(requestedScopes)) { | ||
| 63 | + return true; | ||
| 64 | + } | ||
| 65 | + | ||
| 66 | + // 更新批准的信息 | ||
| 67 | + boolean success = false; // 需要至少有一个同意 | ||
| 68 | + Date expireTime = DateUtils.addDate(Calendar.SECOND, TIMEOUT); | ||
| 69 | + for (Map.Entry<String, Boolean> entry :requestedScopes.entrySet()) { | ||
| 70 | + if (entry.getValue()) { | ||
| 71 | + success = true; | ||
| 72 | + } | ||
| 73 | + saveApprove(userId, userType, clientId, entry.getKey(), entry.getValue(), expireTime); | ||
| 74 | + } | ||
| 75 | + return success; | ||
| 76 | + } | ||
| 77 | + | ||
| 78 | + @Override | ||
| 79 | + public List<OAuth2ApproveDO> getApproveList(Long userId, Integer userType, String clientId) { | ||
| 80 | + List<OAuth2ApproveDO> approveDOs = oauth2ApproveMapper.selectListByUserIdAndUserTypeAndClientId( | ||
| 81 | + userId, userType, clientId); | ||
| 82 | + approveDOs.removeIf(o -> DateUtils.isExpired(o.getExpiresTime())); | ||
| 83 | + return approveDOs; | ||
| 84 | + } | ||
| 85 | + | ||
| 86 | + private void saveApprove(Long userId, Integer userType, String clientId, | ||
| 87 | + String scope, Boolean approved, Date expireTime) { | ||
| 88 | + // 先更新 | ||
| 89 | + OAuth2ApproveDO approveDO = new OAuth2ApproveDO().setUserId(userId).setUserType(userType) | ||
| 90 | + .setClientId(clientId).setScope(scope).setApproved(approved).setExpiresTime(expireTime); | ||
| 91 | + if (oauth2ApproveMapper.update(approveDO) == 1) { | ||
| 92 | + return; | ||
| 93 | + } | ||
| 94 | + // 失败,则说明不存在,进行更新 | ||
| 95 | + oauth2ApproveMapper.insert(approveDO); | ||
| 24 | } | 96 | } |
| 25 | 97 | ||
| 26 | } | 98 | } |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ClientService.java
| @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -4,7 +4,7 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 4 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientCreateReqVO; | 4 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientCreateReqVO; |
| 5 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; | 5 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; |
| 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; |
| 7 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2ClientDO; | 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO; |
| 8 | 8 | ||
| 9 | import javax.validation.Valid; | 9 | import javax.validation.Valid; |
| 10 | import java.util.Collection; | 10 | import java.util.Collection; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2ClientServiceImpl.java
| @@ -10,7 +10,7 @@ import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2Cl | @@ -10,7 +10,7 @@ import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2Cl | ||
| 10 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; | 10 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; |
| 11 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; | 11 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; |
| 12 | import cn.iocoder.yudao.module.system.convert.auth.OAuth2ClientConvert; | 12 | import cn.iocoder.yudao.module.system.convert.auth.OAuth2ClientConvert; |
| 13 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2ClientDO; | 13 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO; |
| 14 | import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2ClientMapper; | 14 | import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2ClientMapper; |
| 15 | import cn.iocoder.yudao.module.system.mq.producer.auth.OAuth2ClientProducer; | 15 | import cn.iocoder.yudao.module.system.mq.producer.auth.OAuth2ClientProducer; |
| 16 | import com.google.common.annotations.VisibleForTesting; | 16 | import com.google.common.annotations.VisibleForTesting; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeService.java
| 1 | package cn.iocoder.yudao.module.system.service.oauth2; | 1 | package cn.iocoder.yudao.module.system.service.oauth2; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2CodeDO; | 3 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2CodeDO; |
| 4 | 4 | ||
| 5 | import java.util.List; | 5 | import java.util.List; |
| 6 | 6 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2CodeServiceImpl.java
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.service.oauth2; | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.service.oauth2; | ||
| 2 | 2 | ||
| 3 | import cn.hutool.core.util.IdUtil; | 3 | import cn.hutool.core.util.IdUtil; |
| 4 | import cn.iocoder.yudao.framework.common.util.date.DateUtils; | 4 | import cn.iocoder.yudao.framework.common.util.date.DateUtils; |
| 5 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2CodeDO; | 5 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2CodeDO; |
| 6 | import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2CodeMapper; | 6 | import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2CodeMapper; |
| 7 | import org.springframework.stereotype.Service; | 7 | import org.springframework.stereotype.Service; |
| 8 | import org.springframework.validation.annotation.Validated; | 8 | import org.springframework.validation.annotation.Validated; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2GrantService.java
| 1 | package cn.iocoder.yudao.module.system.service.oauth2; | 1 | package cn.iocoder.yudao.module.system.service.oauth2; |
| 2 | 2 | ||
| 3 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 3 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 4 | 4 | ||
| 5 | import java.util.List; | 5 | import java.util.List; |
| 6 | 6 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2GrantServiceImpl.java
| @@ -4,8 +4,8 @@ import cn.hutool.core.lang.Assert; | @@ -4,8 +4,8 @@ import cn.hutool.core.lang.Assert; | ||
| 4 | import cn.hutool.core.util.ObjectUtil; | 4 | import cn.hutool.core.util.ObjectUtil; |
| 5 | import cn.hutool.core.util.StrUtil; | 5 | import cn.hutool.core.util.StrUtil; |
| 6 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; | 6 | import cn.iocoder.yudao.framework.common.enums.UserTypeEnum; |
| 7 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | ||
| 8 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2CodeDO; | 7 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 8 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2CodeDO; | ||
| 9 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; | 9 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; |
| 10 | import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants; | 10 | import cn.iocoder.yudao.module.system.enums.ErrorCodeConstants; |
| 11 | import cn.iocoder.yudao.module.system.service.auth.AdminAuthService; | 11 | import cn.iocoder.yudao.module.system.service.auth.AdminAuthService; |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenService.java
| @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.service.oauth2; | @@ -2,7 +2,7 @@ package cn.iocoder.yudao.module.system.service.oauth2; | ||
| 2 | 2 | ||
| 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; | 3 | import cn.iocoder.yudao.framework.common.pojo.PageResult; |
| 4 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; | 4 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; |
| 5 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 5 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 6 | 6 | ||
| 7 | import java.util.List; | 7 | import java.util.List; |
| 8 | 8 |
yudao-module-system/yudao-module-system-biz/src/main/java/cn/iocoder/yudao/module/system/service/oauth2/OAuth2TokenServiceImpl.java
| @@ -8,9 +8,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | @@ -8,9 +8,9 @@ import cn.iocoder.yudao.framework.common.pojo.PageResult; | ||
| 8 | import cn.iocoder.yudao.framework.common.util.date.DateUtils; | 8 | import cn.iocoder.yudao.framework.common.util.date.DateUtils; |
| 9 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; | 9 | import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; |
| 10 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; | 10 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.token.OAuth2AccessTokenPageReqVO; |
| 11 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | ||
| 12 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2ClientDO; | ||
| 13 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2RefreshTokenDO; | 11 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 12 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO; | ||
| 13 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2RefreshTokenDO; | ||
| 14 | import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2AccessTokenMapper; | 14 | import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2AccessTokenMapper; |
| 15 | import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2RefreshTokenMapper; | 15 | import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2RefreshTokenMapper; |
| 16 | import cn.iocoder.yudao.module.system.dal.redis.oauth2.OAuth2AccessTokenRedisDAO; | 16 | import cn.iocoder.yudao.module.system.dal.redis.oauth2.OAuth2AccessTokenRedisDAO; |
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/auth/AdminAuthServiceImplTest.java
| @@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.test.core.util.AssertUtils; | @@ -7,7 +7,7 @@ import cn.iocoder.yudao.framework.test.core.util.AssertUtils; | ||
| 7 | import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi; | 7 | import cn.iocoder.yudao.module.system.api.sms.SmsCodeApi; |
| 8 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthLoginReqVO; | 8 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthLoginReqVO; |
| 9 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthLoginRespVO; | 9 | import cn.iocoder.yudao.module.system.controller.admin.auth.vo.AuthLoginRespVO; |
| 10 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2AccessTokenDO; | 10 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2AccessTokenDO; |
| 11 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; | 11 | import cn.iocoder.yudao.module.system.dal.dataobject.user.AdminUserDO; |
| 12 | import cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum; | 12 | import cn.iocoder.yudao.module.system.enums.logger.LoginLogTypeEnum; |
| 13 | import cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum; | 13 | import cn.iocoder.yudao.module.system.enums.logger.LoginResultEnum; |
yudao-module-system/yudao-module-system-biz/src/test/java/cn/iocoder/yudao/module/system/service/auth/OAuth2ClientServiceImplTest.java
| @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | @@ -6,7 +6,7 @@ import cn.iocoder.yudao.framework.test.core.ut.BaseDbUnitTest; | ||
| 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientCreateReqVO; | 6 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientCreateReqVO; |
| 7 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; | 7 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientPageReqVO; |
| 8 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; | 8 | import cn.iocoder.yudao.module.system.controller.admin.oauth2.vo.client.OAuth2ClientUpdateReqVO; |
| 9 | -import cn.iocoder.yudao.module.system.dal.dataobject.auth.OAuth2ClientDO; | 9 | +import cn.iocoder.yudao.module.system.dal.dataobject.oauth2.OAuth2ClientDO; |
| 10 | import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2ClientMapper; | 10 | import cn.iocoder.yudao.module.system.dal.mysql.oauth2.OAuth2ClientMapper; |
| 11 | import cn.iocoder.yudao.module.system.mq.producer.auth.OAuth2ClientProducer; | 11 | import cn.iocoder.yudao.module.system.mq.producer.auth.OAuth2ClientProducer; |
| 12 | import cn.iocoder.yudao.module.system.service.oauth2.OAuth2ClientServiceImpl; | 12 | import cn.iocoder.yudao.module.system.service.oauth2.OAuth2ClientServiceImpl; |