|
@@ -22,6 +22,7 @@ import org.springframework.http.HttpStatus;
|
|
|
import org.springframework.http.MediaType;
|
|
|
import org.springframework.http.ResponseEntity;
|
|
|
import org.springframework.security.oauth2.common.OAuth2AccessToken;
|
|
|
+import org.springframework.security.oauth2.provider.OAuth2Authentication;
|
|
|
import org.springframework.security.oauth2.provider.token.ResourceServerTokenServices;
|
|
|
import org.springframework.security.oauth2.provider.token.TokenStore;
|
|
|
import org.springframework.util.LinkedMultiValueMap;
|
|
@@ -42,7 +43,6 @@ import com.ym.mec.common.entity.ImResult;
|
|
|
import com.ym.mec.common.entity.ImUserModel;
|
|
|
import com.ym.mec.common.security.AuthUser;
|
|
|
import com.ym.mec.common.security.SecurityConstants;
|
|
|
-import com.ym.mec.common.security.SecurityUtils;
|
|
|
import com.ym.mec.im.ImFeignService;
|
|
|
|
|
|
@RestController
|
|
@@ -81,8 +81,10 @@ public class TokenController extends BaseController {
|
|
|
}
|
|
|
|
|
|
@GetMapping("/queryUserInfo")
|
|
|
- public SysUser queryUserInfo() {
|
|
|
- AuthUser authUser = SecurityUtils.getUser();
|
|
|
+ public SysUser queryUserInfo(HttpServletRequest request) {
|
|
|
+
|
|
|
+ AuthUser authUser = getAuthUser(request);
|
|
|
+
|
|
|
if(authUser != null){
|
|
|
SysUser sysUser = userService.get(authUser.getUserId());
|
|
|
if(StringUtils.isEmpty(sysUser.getImToken())){
|
|
@@ -98,8 +100,10 @@ public class TokenController extends BaseController {
|
|
|
|
|
|
@ApiOperation(value = "获取用户信息")
|
|
|
@GetMapping("/api/queryUserInfo")
|
|
|
- public Object apiQueryUserInfo() {
|
|
|
- AuthUser authUser = SecurityUtils.getUser();
|
|
|
+ public Object apiQueryUserInfo(HttpServletRequest request) {
|
|
|
+
|
|
|
+ AuthUser authUser = getAuthUser(request);
|
|
|
+
|
|
|
if(authUser != null){
|
|
|
return succeed(userService.queryUserInfo(authUser.getUserId()));
|
|
|
}
|
|
@@ -203,5 +207,22 @@ public class TokenController extends BaseController {
|
|
|
|
|
|
return succeed();
|
|
|
}
|
|
|
+
|
|
|
+ private AuthUser getAuthUser(HttpServletRequest request){
|
|
|
+ String authHeader = request.getHeader(HttpHeaders.AUTHORIZATION);
|
|
|
+ if (StringUtils.isBlank(authHeader)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ String token = authHeader.toLowerCase().replace(OAuth2AccessToken.BEARER_TYPE.toLowerCase(), StringUtils.EMPTY).trim();
|
|
|
+
|
|
|
+ OAuth2AccessToken oAuth2AccessToken = tokenStore.readAccessToken(token);
|
|
|
+ if (null != oAuth2AccessToken) {
|
|
|
+ OAuth2Authentication auth2Authentication = tokenStore.readAuthentication(token);
|
|
|
+ return (AuthUser) auth2Authentication.getUserAuthentication().getPrincipal();
|
|
|
+ }
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
|
|
|
}
|