App用户注册完自动登录
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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<Object> 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);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -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];
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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<Object> autoLogin(@Param("phone") String phone,@Param("devCode") String devCode) {
|
||||
String methodDescribe = getMethodDescribe("autoLogin");
|
||||
@Deprecated
|
||||
public HttpResult<Object> 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);
|
||||
}
|
||||
|
||||
@@ -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<AppUserMapper, User> 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<AppUserMapper, User> 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<AppUserMapper, User> 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();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user