From 4a2835ddadb796c69f180097b95f971dbab4687d Mon Sep 17 00:00:00 2001 From: ludc Date: 星期三, 13 九月 2023 09:09:14 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 51 insertions(+), 1 deletions(-) diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java index ef70cbe..5134140 100644 --- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java +++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java @@ -1,9 +1,24 @@ package com.vci.ubcs.code.service.impl; import com.vci.ubcs.code.service.IPasswordFreeLoginService; +import com.vci.ubcs.code.util.HttpUtils; +import org.apache.commons.collections4.MultiValuedMap; +import org.apache.commons.collections4.multimap.ArrayListValuedHashMap; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.client.ServiceInstance; +import org.springframework.cloud.client.discovery.DiscoveryClient; +import org.springframework.http.HttpEntity; +import org.springframework.http.HttpHeaders; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; import org.springframework.stereotype.Service; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.http.HttpMethod; +import org.springframework.web.client.RestTemplate; import javax.annotation.Resource; +import java.util.List; /** * 鍏嶅瘑鐧诲綍鏈嶅姟 @@ -13,16 +28,51 @@ @Service public class PasswordFreeLoginServiceImpl implements IPasswordFreeLoginService { + // 閫氳繃鏈嶅姟娉ㄥ唽涓績鑾峰彇缃戝叧鐨勭鍙e彿 + @Autowired + private DiscoveryClient discoveryClient; /** - * 鍏嶅瘑鐧诲綍鏂规硶 + * 鑾峰彇缃戝叧绔彛 + * @return + */ + public String getGatewayPort() { + List<ServiceInstance> instances = discoveryClient.getInstances("ubcs-gateway"); + if (!instances.isEmpty()) { + ServiceInstance gatewayInstance = instances.get(0); + return String.valueOf(gatewayInstance.getPort()); + } + return "80"; + } + + /** + * 鍏嶅瘑鐧诲綍 * @param account 璐﹀彿 * @return */ @Override public boolean passwordFreeLogin(String account) { + // 鍏嶅瘑鐧诲綍鎺ュ彛鍦板潃 + String loginUrl = "http://localhost:"+this.getGatewayPort()+"/ubcs-auth/oauth/passwordFreeLogin?username=admin&grant_type=captcha&scope=all&type=account"; + // 璁剧疆璇锋眰澶� + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + //璁剧疆璇锋眰浣撳弬鏁� + MultiValueMap<String,String> bodyParams = new LinkedMultiValueMap<String,String>(); + bodyParams.add("account",account); + + // 鍙戦�丳OST璇锋眰 + String responseBody = HttpUtils.post(loginUrl, bodyParams); + System.out.println(responseBody); + //鎷垮埌鍝嶅簲浣撳皢token瀛樺叆鍒皉edis涓紝浠ccount浣滀负瀛樺偍鐨刱ey + + // 瑙f瀽鍝嶅簲浣撹幏鍙栦护鐗� + // 杩欓噷鍋囪鍝嶅簲浣撴槸JSON鏍煎紡锛屽寘鍚竴涓悕涓�"token"鐨勫瓧娈� + // 鏍规嵁瀹為檯鎯呭喌杩涜瑙f瀽 + // JSONObject json = new JSONObject(responseBody); + // String token = json.getString("token"); return false; } -- Gitblit v1.9.3