|
@@ -5,12 +5,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.nosum.common.base.domain.Result;
|
|
import com.nosum.common.base.domain.Result;
|
|
import com.nosum.common.base.domain.vo.UserSessionVO;
|
|
import com.nosum.common.base.domain.vo.UserSessionVO;
|
|
import com.nosum.common.constant.Constants;
|
|
import com.nosum.common.constant.Constants;
|
|
-import com.nosum.common.constant.GithubOauth;
|
|
|
|
import com.nosum.common.enums.ErrorEnum;
|
|
import com.nosum.common.enums.ErrorEnum;
|
|
import com.nosum.common.util.ExceptionUtil;
|
|
import com.nosum.common.util.ExceptionUtil;
|
|
import com.nosum.common.util.JwtUtil;
|
|
import com.nosum.common.util.JwtUtil;
|
|
import com.nosum.common.util.SessionUtil;
|
|
import com.nosum.common.util.SessionUtil;
|
|
-import com.nosum.common.util.ToolUtil;
|
|
|
|
import com.nosum.deliver.auth.dao.AuthTokenDao;
|
|
import com.nosum.deliver.auth.dao.AuthTokenDao;
|
|
import com.nosum.deliver.auth.dao.AuthUserDao;
|
|
import com.nosum.deliver.auth.dao.AuthUserDao;
|
|
import com.nosum.deliver.auth.domain.po.AuthToken;
|
|
import com.nosum.deliver.auth.domain.po.AuthToken;
|
|
@@ -19,7 +17,6 @@ import com.nosum.deliver.auth.domain.vo.AuthUserVO;
|
|
import com.nosum.deliver.auth.service.OauthService;
|
|
import com.nosum.deliver.auth.service.OauthService;
|
|
import com.nosum.system.enums.RoleEnum;
|
|
import com.nosum.system.enums.RoleEnum;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
-import org.apache.commons.lang3.RandomStringUtils;
|
|
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.apache.commons.lang3.StringUtils;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -28,7 +25,6 @@ import java.time.LocalDateTime;
|
|
import java.time.ZoneOffset;
|
|
import java.time.ZoneOffset;
|
|
import java.util.Collections;
|
|
import java.util.Collections;
|
|
import java.util.Date;
|
|
import java.util.Date;
|
|
-import java.util.Optional;
|
|
|
|
|
|
|
|
@Service
|
|
@Service
|
|
@Slf4j
|
|
@Slf4j
|
|
@@ -41,41 +37,6 @@ public class OauthServiceImpl implements OauthService {
|
|
private AuthTokenDao authTokenDao;
|
|
private AuthTokenDao authTokenDao;
|
|
|
|
|
|
@Override
|
|
@Override
|
|
- public Result oauthLoginByGithub() {
|
|
|
|
- return Result.createWithModel(GithubOauth.getAuthUrl());
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public Result saveUserByGithub(AuthUserVO authUserVO) {
|
|
|
|
- log.debug("saveUserByGithub {}", authUserVO);
|
|
|
|
- if (authUserVO == null || StringUtils.isBlank(authUserVO.getSocialId())) {
|
|
|
|
- ExceptionUtil.rollback(ErrorEnum.PARAM_ERROR);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- AuthUser authUser = authUserDao.selectOne(new LambdaQueryWrapper<AuthUser>().eq(AuthUser::getSocialId, authUserVO.getSocialId()));
|
|
|
|
- if (authUser == null) {
|
|
|
|
- authUser = new AuthUser();
|
|
|
|
- authUser.setSocialId(authUserVO.getSocialId());
|
|
|
|
- authUser.setAvatar(authUserVO.getAvatar());
|
|
|
|
- authUser.setName(authUserVO.getName());
|
|
|
|
- authUser.setRoleId(RoleEnum.USER.getRoleId());
|
|
|
|
- authUser.setPassword(SecureUtil.hmacMd5(RandomStringUtils.random(32)).digestHex(authUserVO.getSocialId()));
|
|
|
|
- authUser.setCreateTime(LocalDateTime.now());
|
|
|
|
- authUserDao.insert(authUser);
|
|
|
|
- } else {
|
|
|
|
- if (Constants.ONE == ToolUtil.getInteger(authUser.getStatus())) {
|
|
|
|
- ExceptionUtil.rollback(ErrorEnum.LOGIN_DISABLE);
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- authUserVO.setCreateTime(LocalDateTime.now());
|
|
|
|
- String token = JwtUtil.getToken(new AuthUserVO().setPassword(authUser.getPassword()).setName(authUser.getName()).setId(authUser.getId()));
|
|
|
|
-
|
|
|
|
- authUserVO.setToken(token);
|
|
|
|
- authTokenDao.insert(new AuthToken().setUserId(authUser.getId()).setToken(token).setExpireTime(new Date(Constants.EXPIRE_TIME + System.currentTimeMillis()).toInstant().atOffset(ZoneOffset.of("+8")).toLocalDateTime()));
|
|
|
|
- return Result.createWithModel(authUserVO);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
public Result login(AuthUserVO authUserVO) {
|
|
public Result login(AuthUserVO authUserVO) {
|
|
log.debug("login {}", authUserVO);
|
|
log.debug("login {}", authUserVO);
|
|
if (authUserVO == null || StringUtils.isBlank(authUserVO.getEmail()) || StringUtils.isBlank(authUserVO.getPassword())) {
|
|
if (authUserVO == null || StringUtils.isBlank(authUserVO.getEmail()) || StringUtils.isBlank(authUserVO.getPassword())) {
|
|
@@ -112,17 +73,6 @@ public class OauthServiceImpl implements OauthService {
|
|
return Result.createWithSuccessMessage();
|
|
return Result.createWithSuccessMessage();
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
- @Override
|
|
|
|
- public String callback(String code, String state) {
|
|
|
|
- AuthUserVO authUserVO = GithubOauth.getUserInfo(code);
|
|
|
|
- Optional<AuthUserVO> optional = Optional.ofNullable(authUserVO);
|
|
|
|
- if (optional.isPresent()) {
|
|
|
|
- return GithubOauth.getHtml(authUserVO);
|
|
|
|
- }
|
|
|
|
- return GithubOauth.getErrorHtml();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
@Override
|
|
@Override
|
|
public Result registerAdmin(AuthUserVO authUserVO) {
|
|
public Result registerAdmin(AuthUserVO authUserVO) {
|
|
AuthUser authUser = authUserDao.selectOne(new LambdaQueryWrapper<AuthUser>().eq(AuthUser::getRoleId, RoleEnum.ADMIN.getRoleId()));
|
|
AuthUser authUser = authUserDao.selectOne(new LambdaQueryWrapper<AuthUser>().eq(AuthUser::getRoleId, RoleEnum.ADMIN.getRoleId()));
|