瀏覽代碼

扫码登陆

zouxuan 1 年之前
父節點
當前提交
4a9f86934c

+ 7 - 0
mec-auth/mec-auth-api/src/main/java/com/ym/mec/auth/api/client/SysUserFeignService.java

@@ -1,6 +1,7 @@
 package com.ym.mec.auth.api.client;
 package com.ym.mec.auth.api.client;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Map;
 
 
 import com.ym.mec.auth.api.dto.SysUserQueryInfo;
 import com.ym.mec.auth.api.dto.SysUserQueryInfo;
 import io.swagger.annotations.ApiOperation;
 import io.swagger.annotations.ApiOperation;
@@ -52,4 +53,10 @@ public interface SysUserFeignService {
 
 
 	@PostMapping(value = "user/list")
 	@PostMapping(value = "user/list")
 	HttpResponseResult<List<SysUser>> page(@RequestBody SysUserQueryInfo queryInfo);
 	HttpResponseResult<List<SysUser>> page(@RequestBody SysUserQueryInfo queryInfo);
+
+	@PostMapping(value = "usernameLogin")
+	HttpResponseResult<Map<String,Object>> usernameLogin(@RequestParam("username")String username,
+														 @RequestParam("password")String password,
+														 @RequestParam("clientId")String clientId,
+														 @RequestParam("clientSecret")String clientSecret);
 }
 }

+ 6 - 0
mec-auth/mec-auth-server/pom.xml

@@ -19,6 +19,12 @@
 	</properties>
 	</properties>
 
 
 	<dependencies>
 	<dependencies>
+
+		<dependency>
+			<groupId>com.dayaedu.cbs.openfeign</groupId>
+			<artifactId>dayaedu-openfeign-api</artifactId>
+			<version>1.0.0</version>
+		</dependency>
 		<dependency>
 		<dependency>
 			<groupId>org.springframework.cloud</groupId>
 			<groupId>org.springframework.cloud</groupId>
 			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
 			<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>

+ 48 - 0
mec-auth/mec-auth-server/src/main/java/com/ym/mec/auth/service/impl/CbsQrCodeScanServiceImpl.java

@@ -0,0 +1,48 @@
+package com.ym.mec.auth.service.impl;
+
+import com.dayaedu.cbs.openfeign.service.CbsQrCodeScanService;
+import com.dayaedu.cbs.openfeign.wrapper.qrcode.CbsQrCodeScanWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.ym.mec.auth.api.client.SysUserFeignService;
+import com.ym.mec.auth.core.service.CustomTokenServices;
+import com.ym.mec.common.exception.BizException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.http.HttpStatus;
+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.store.redis.RedisTokenStore;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+
+@Service
+public class CbsQrCodeScanServiceImpl implements CbsQrCodeScanService {
+
+    @Resource
+    private CustomTokenServices customTokenServices;
+    @Resource
+    private SysUserFeignService sysUserFeignService;
+    @Resource
+    private RedisTokenStore redisTokenStore;
+    @Resource
+    private ObjectMapper objectMapper;
+
+    @Override
+    public CbsQrCodeScanWrapper.UserInfo userInfo(CbsQrCodeScanWrapper.QrCodeScanUserInfoReq req) {
+        CbsQrCodeScanWrapper.UserInfo userInfo = new CbsQrCodeScanWrapper.UserInfo();
+        userInfo.setUsername(customTokenServices.loadAuthentication(req.getToken()).getName());
+        return userInfo;
+    }
+
+    @Override
+    public CbsQrCodeScanWrapper.QrCodeScanToken login(CbsQrCodeScanWrapper.QrCodeScanReq req) {
+        OAuth2AccessToken oAuth2AccessToken = redisTokenStore.readAccessToken(req.getPassword());
+        if (oAuth2AccessToken != null) {
+            OAuth2Authentication authentication = redisTokenStore.readAuthentication(req.getPassword());
+            HashMap<String,String> hashMap = objectMapper.convertValue(authentication.getDetails(), HashMap.class);
+        }
+        return null;
+    }
+}