From 422e7ef9d95dcb8a6f6c21e9616db410ea35d619 Mon Sep 17 00:00:00 2001 From: xuyang <748613696@qq.com> Date: Tue, 15 Aug 2023 19:12:18 +0800 Subject: [PATCH] =?UTF-8?q?App=E7=94=A8=E6=88=B7=E6=B3=A8=E5=86=8C?= =?UTF-8?q?=E5=AE=8C=E8=87=AA=E5=8A=A8=E7=99=BB=E5=BD=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../njcn/auth/config/WebSecurityConfig.java | 2 +- .../njcn/auth/controller/AuthController.java | 23 +++++++++++ .../java/com/njcn/common/utils/PubUtils.java | 2 +- pqs-gateway/src/main/resources/bootstrap.yml | 2 +- .../controller/app/AppUserController.java | 7 ++-- .../user/service/impl/AppUserServiceImpl.java | 41 +++++++------------ 6 files changed, 44 insertions(+), 33 deletions(-) diff --git a/pqs-auth/src/main/java/com/njcn/auth/config/WebSecurityConfig.java b/pqs-auth/src/main/java/com/njcn/auth/config/WebSecurityConfig.java index b04da8287..99ac7e10e 100644 --- a/pqs-auth/src/main/java/com/njcn/auth/config/WebSecurityConfig.java +++ b/pqs-auth/src/main/java/com/njcn/auth/config/WebSecurityConfig.java @@ -37,7 +37,7 @@ public class WebSecurityConfig extends WebSecurityConfigurerAdapter { protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() - .antMatchers("/oauth/getPublicKey","/oauth/logout","/auth/getImgCode","/judgeToken/guangZhou").permitAll() + .antMatchers("/oauth/getPublicKey","/oauth/logout","/auth/getImgCode","/judgeToken/guangZhou","/oauth/autoLogin").permitAll() // @link https://gitee.com/xiaoym/knife4j/issues/I1Q5X6 (接口文档knife4j需要放行的规则) .antMatchers("/webjars/**","/doc.html","/swagger-resources/**","/v2/api-docs").permitAll() .anyRequest().authenticated() diff --git a/pqs-auth/src/main/java/com/njcn/auth/controller/AuthController.java b/pqs-auth/src/main/java/com/njcn/auth/controller/AuthController.java index e49cd2e5d..4a962c7f3 100644 --- a/pqs-auth/src/main/java/com/njcn/auth/controller/AuthController.java +++ b/pqs-auth/src/main/java/com/njcn/auth/controller/AuthController.java @@ -17,6 +17,7 @@ import com.njcn.redis.utils.RedisUtil; import com.njcn.user.api.UserFeignClient; import com.njcn.web.controller.BaseController; import com.njcn.web.utils.RequestUtil; +import com.njcn.web.utils.RestTemplateUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -28,8 +29,10 @@ import org.springframework.security.oauth2.common.OAuth2AccessToken; import org.springframework.security.oauth2.provider.endpoint.TokenEndpoint; import org.springframework.web.HttpRequestMethodNotSupportedException; import org.springframework.web.bind.annotation.*; +import org.springframework.web.util.UriComponentsBuilder; import springfox.documentation.annotations.ApiIgnore; +import java.net.URI; import java.security.KeyPair; import java.security.Principal; import java.security.interfaces.RSAPublicKey; @@ -148,5 +151,25 @@ public class AuthController extends BaseController { return new JWKSet(key).toJSONObject(); } + /** + * 自动登录 + */ + @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.AUTHENTICATE) + @ApiOperation("自动登录") + @PostMapping("/autoLogin") + @ApiImplicitParam(name = "phone", value = "手机号", required = true, paramType = "query") + @ApiIgnore + public HttpResult autoLogin(@RequestParam String phone) { + String methodDescribe = getMethodDescribe("autoLogin"); + String userUrl = "http://127.0.0.1:10214/oauth/token"; + UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(userUrl) + .queryParam("grant_type", "sms_code") + .queryParam("client_id", "njcnapp") + .queryParam("client_secret", "njcnpqs") + .queryParam("phone", phone) + .queryParam("smsCode", "123456789"); + URI uri = builder.build().encode().toUri(); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, Objects.requireNonNull(RestTemplateUtil.post(uri, HttpResult.class).getBody()).getData(), methodDescribe); + } } diff --git a/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java b/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java index 79fd769d3..6f9468864 100644 --- a/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java +++ b/pqs-common/common-core/src/main/java/com/njcn/common/utils/PubUtils.java @@ -462,7 +462,7 @@ public class PubUtils { * 生成随机推荐码 */ public static String getCode(Integer number){ - final String BASIC = "123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZZ"; + final String BASIC = "123456789AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz"; char[] basicArray = BASIC.toCharArray(); Random random = new Random(); char[] result = new char[number]; diff --git a/pqs-gateway/src/main/resources/bootstrap.yml b/pqs-gateway/src/main/resources/bootstrap.yml index 0ca119d3d..0fb98cb58 100644 --- a/pqs-gateway/src/main/resources/bootstrap.yml +++ b/pqs-gateway/src/main/resources/bootstrap.yml @@ -186,9 +186,9 @@ whitelist: - /user-boot/user/updateFirstPassword - /user-boot/appUser/authCode - /user-boot/appUser/register - - /user-boot/appUser/autoLogin - /pqs-auth/oauth/logout - /pqs-auth/oauth/token + - /pqs-auth/oauth/autoLogin - /pqs-auth/auth/getImgCode - /pqs-auth/oauth/getPublicKey - /pqs-auth/judgeToken/guangZhou diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/app/AppUserController.java b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/app/AppUserController.java index 86448ece4..4a1504ae6 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/controller/app/AppUserController.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/controller/app/AppUserController.java @@ -81,14 +81,15 @@ public class AppUserController extends BaseController { * app用户注册完自动登录 */ @OperateInfo(info = LogEnum.SYSTEM_COMMON, operateType = OperateType.ADD) - @PostMapping("autoLogin") + @PostMapping("appAutoLogin") @ApiOperation("app用户注册完自动登录") @ApiImplicitParams({ @ApiImplicitParam(name = "phone", value = "手机号", required = true, paramType = "query"), @ApiImplicitParam(name = "devCode", value = "设备码", required = true, paramType = "query") }) - public HttpResult autoLogin(@Param("phone") String phone,@Param("devCode") String devCode) { - String methodDescribe = getMethodDescribe("autoLogin"); + @Deprecated + public HttpResult appAutoLogin(@Param("phone") String phone,@Param("devCode") String devCode) { + String methodDescribe = getMethodDescribe("appAutoLogin"); Object object = appUserService.autoLogin(phone,devCode); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, object, methodDescribe); } diff --git a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/AppUserServiceImpl.java b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/AppUserServiceImpl.java index a435d6f80..2b70fe61a 100644 --- a/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/AppUserServiceImpl.java +++ b/pqs-user/user-boot/src/main/java/com/njcn/user/service/impl/AppUserServiceImpl.java @@ -9,12 +9,10 @@ import com.aliyuncs.exceptions.ClientException; import com.aliyuncs.http.MethodType; import com.aliyuncs.profile.DefaultProfile; import com.aliyuncs.profile.IClientProfile; -import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.njcn.common.pojo.constant.PatternRegex; import com.njcn.common.pojo.exception.BusinessException; -import com.njcn.common.pojo.response.HttpResult; import com.njcn.common.utils.PubUtils; import com.njcn.common.utils.sm.Sm4Utils; import com.njcn.redis.pojo.enums.RedisKeyEnum; @@ -31,21 +29,20 @@ import com.njcn.user.pojo.po.UserSet; import com.njcn.user.pojo.po.app.AppInfoSet; import com.njcn.user.pojo.po.app.AppSendMsg; import com.njcn.user.service.*; -import com.njcn.web.utils.RestTemplateUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; -import org.springframework.web.util.UriComponentsBuilder; -import java.net.URI; import java.time.LocalDateTime; import java.util.Collections; import java.util.Objects; import java.util.Random; +//import com.njcn.auth.api.AuthFeignClient; + /** * 类的介绍: * @@ -71,6 +68,8 @@ public class AppUserServiceImpl extends ServiceImpl impleme private final IUserRoleService userRoleService; +// private final AuthFeignClient authFeignClient; + @Override @Transactional(rollbackFor = Exception.class) public void setMessage(String phone, String devCode, String type) { @@ -211,11 +210,16 @@ public class AppUserServiceImpl extends ServiceImpl impleme @Override public Object autoLogin(String phone, String devCode) { //获取登录信息 - Object object = autoLogin(phone); - if (Objects.isNull(object)){ - throw new BusinessException(UserResponseEnum.LOGIN_ERROR); - } - return object; +// Object object = authFeignClient.autoLogin(phone).getData(); +// if (Objects.isNull(object)){ +// throw new BusinessException(UserResponseEnum.LOGIN_ERROR); +// } +// //修改设备码 +// User user = this.lambdaQuery().eq(User::getPhone,phone).one(); +// user.setDevCode(devCode); +// this.updateById(user); +// return object; + return null; } @Override @@ -422,21 +426,4 @@ public class AppUserServiceImpl extends ServiceImpl impleme return user; } - /** - * 用户注册完成后自动登录 - * @param phone 手机号码 - * @return - */ - public Object autoLogin(String phone) { - String userUrl = "http://127.0.0.1:10214/oauth/token"; - UriComponentsBuilder builder = UriComponentsBuilder.fromHttpUrl(userUrl) - .queryParam("grant_type", "sms_code") - .queryParam("client_id", "njcnapp") - .queryParam("client_secret", "njcnpqs") - .queryParam("phone", phone) - .queryParam("smsCode", "123456789"); - URI uri = builder.build().encode().toUri(); - return Objects.requireNonNull(RestTemplateUtil.post(uri, HttpResult.class).getBody()).getData(); - } - }