From 108816cf6e7c2e211a487b4f14d6250a5bea732b Mon Sep 17 00:00:00 2001 From: yuxc <653031404@qq.com> Date: 星期四, 14 九月 2023 18:28:59 +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 | 61 +++++++++++++++++++++++++++++- 1 files changed, 58 insertions(+), 3 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..9d619a3 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,56 @@ @Service public class PasswordFreeLoginServiceImpl implements IPasswordFreeLoginService { + // 閫氳繃鏈嶅姟娉ㄥ唽涓績鑾峰彇缃戝叧鐨勭鍙e彿 + @Autowired + private DiscoveryClient discoveryClient; /** - * 鍏嶅瘑鐧诲綍鏂规硶 - * @param account 璐﹀彿 + * 鑾峰彇缃戝叧绔彛 + * @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 username 璐﹀彿 * @return */ @Override - public boolean passwordFreeLogin(String account) { + public boolean passwordFreeLogin(String username) { + // 鍏嶅瘑鐧诲綍鎺ュ彛鍦板潃 + String loginUrl = "http://localhost:"+this.getGatewayPort()+"/ubcs-auth/oauth/password-free-login"; + // 璁剧疆璇锋眰澶� + HttpHeaders headers = new HttpHeaders(); + headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED); + headers.set("Authorization", "Basic c3dvcmQ6c3dvcmRfc2VjcmV0"); + headers.set("Tenant-Id", "000000"); + //璁剧疆璇锋眰浣撳弬鏁� + MultiValueMap<String,String> parameters = new LinkedMultiValueMap<String,String>(); + parameters.add("username",username); + parameters.add("grant_type", "captcha"); + parameters.add("scope", "all"); + parameters.add("type", "account"); + + // 鍙戦�丳OST璇锋眰 + String responseBody = HttpUtils.post(loginUrl, parameters,headers); + 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