From 1c66d394049a07320f108c282b792b80e512778c Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 14 九月 2023 09:04:09 +0800
Subject: [PATCH] 代码提交

---
 /dev/null                                                                                                         |   95 -------------------
 Source/UBCS/ubcs-gateway/src/main/java/com/vci/ubcs/gateway/provider/AuthProvider.java                            |    1 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java         |    1 
 Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/BladeTokenEndPoint.java                            |    3 
 Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/BladeTokenGranter.java                              |    2 
 Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/PwdFreeLoginTokenGranter.java                       |  116 +++++++++++++++++++++++
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java         |    4 
 Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/config/BladeResourceServerConfiguration.java                |    1 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/PasswordFreeLoginServiceImpl.java |   17 ++-
 Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/SocialTokenGranter.java                             |    1 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java    |   10 -
 11 files changed, 141 insertions(+), 110 deletions(-)

diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/config/BladeResourceServerConfiguration.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/config/BladeResourceServerConfiguration.java
index f30b930..5f680cc 100644
--- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/config/BladeResourceServerConfiguration.java
+++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/config/BladeResourceServerConfiguration.java
@@ -38,7 +38,6 @@
 			.antMatchers(
 				"/actuator/**",
 				"/oauth/captcha",
-				"/oauth/passwordFreeLogin",
 				"/oauth/logout",
 				"/oauth/clear-cache",
 				"/oauth/render/**",
diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/BladeTokenEndPoint.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/BladeTokenEndPoint.java
index 6a35d65..40ac34d 100644
--- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/BladeTokenEndPoint.java
+++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/BladeTokenEndPoint.java
@@ -32,7 +32,9 @@
 import org.springblade.core.tool.support.Kv;
 import org.springblade.core.tool.utils.StringUtil;
 import org.springblade.core.tool.utils.WebUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.http.HttpMethod;
+import org.springframework.http.HttpStatus;
 import org.springframework.http.ResponseEntity;
 import org.springframework.security.authentication.InsufficientAuthenticationException;
 import org.springframework.security.core.Authentication;
@@ -59,6 +61,7 @@
 
 import java.security.Principal;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.Map;
 
 import javax.servlet.http.HttpSession;
diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/PwdFreeLoginEndpoint.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/PwdFreeLoginEndpoint.java
deleted file mode 100644
index df1a80c..0000000
--- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/endpoint/PwdFreeLoginEndpoint.java
+++ /dev/null
@@ -1,95 +0,0 @@
-//package com.vci.ubcs.auth.endpoint;
-//
-//import org.springframework.beans.factory.annotation.Autowired;
-//import org.springframework.http.HttpStatus;
-//import org.springframework.http.ResponseEntity;
-//import org.springframework.security.core.Authentication;
-//import org.springframework.security.oauth2.common.OAuth2AccessToken;
-//import org.springframework.security.oauth2.provider.ClientDetailsService;
-//import org.springframework.security.oauth2.provider.OAuth2RequestFactory;
-//import org.springframework.security.oauth2.provider.TokenGranter;
-//import org.springframework.security.oauth2.provider.TokenRequest;
-//import org.springframework.security.oauth2.provider.endpoint.TokenEndpoint;
-//import org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices;
-//import org.springframework.stereotype.Component;
-//import org.springframework.util.LinkedMultiValueMap;
-//import org.springframework.util.MultiValueMap;
-//import org.springframework.web.HttpRequestMethodNotSupportedException;
-//import org.springframework.web.bind.annotation.PostMapping;
-//import org.springframework.web.bind.annotation.RequestMapping;
-//import org.springframework.web.bind.annotation.RequestMethod;
-//import org.springframework.web.bind.annotation.RequestParam;
-//
-//import java.util.Map;
-//
-///**
-// * 鍏嶅瘑鐧诲綍
-// * @author ludc
-// * @date 2023/9/12 18:03
-// */
-//@Component
-//public class PwdFreeLoginEndpoint extends TokenEndpoint {
-//
-//
-//	@Autowired
-//	private AuthorizationServerTokenServices tokenServices;
-//
-//	@Autowired
-//	private ClientDetailsService clientDetailsService;
-//
-//	/*@Autowired
-//	private OAuth2RequestFactory requestFactory;
-//
-//	@Autowired
-//	private TokenGranter tokenGranter;*/
-//
-//	@RequestMapping(value = "/oauth/password-free-login",method = RequestMethod.GET)
-//	public ResponseEntity<OAuth2AccessToken> getPasswordFreeLogin(@RequestParam Map<String, String> parameters) throws HttpRequestMethodNotSupportedException {
-//		return postPasswordFreeLogin(parameters);
-//	}
-//
-//	@RequestMapping(value = "/oauth/password-free-login",method = RequestMethod.POST)
-//	public ResponseEntity<OAuth2AccessToken> postPasswordFreeLogin(@RequestParam Map<String, String> parameters) throws HttpRequestMethodNotSupportedException {
-//		// 鍒ゆ柇鏄惁婊¤冻鍏嶅瘑鐧诲綍鐨勬潯浠�
-//		if (isSkipLogin(parameters)) {
-//			// 鐢熸垚璁块棶浠ょ墝
-//			OAuth2AccessToken accessToken = createAccessToken(parameters);
-//			// 杩斿洖璁块棶浠ょ墝
-//			return ResponseEntity.ok(accessToken);
-//		}
-//
-//		// 涓嶆弧瓒冲厤瀵嗙櫥褰曟潯浠讹紝杩斿洖閿欒淇℃伅
-//		return ResponseEntity.status(HttpStatus.UNAUTHORIZED).build();
-//	}
-//
-//	private boolean isSkipLogin(Map<String, String> parameters) {
-//		// 鏍规嵁鍏蜂綋闇�姹傚垽鏂槸鍚︽弧瓒冲厤瀵嗙櫥褰曠殑鏉′欢
-//		// 渚嬪锛屽垽鏂姹傚弬鏁颁腑鏄惁鍖呭惈鏌愪釜鐗瑰畾鐨勬爣璇嗙
-//		return parameters.containsKey("skipLogin");
-//	}
-//
-//	private OAuth2AccessToken createAccessToken(Map<String, String> parameters) throws HttpRequestMethodNotSupportedException {
-//		// 鏋勯�犺姹傚弬鏁�
-//		MultiValueMap<String, String> params = new LinkedMultiValueMap<>();
-//		for (Map.Entry<String, String> entry : parameters.entrySet()) {
-//			params.add(entry.getKey(), entry.getValue());
-//		}
-//
-//		// 璋冪敤TokenEndpoint鐨刾ostAccessToken鏂规硶鐢熸垚璁块棶浠ょ墝
-//		//return postAccessToken(PrincipalUtils.getPrincipal(), params).getBody();
-//		return null;
-//	}
-//
-//	private ResponseEntity<OAuth2AccessToken> postAccessToken(Authentication authentication, MultiValueMap<String, String> parameters) throws HttpRequestMethodNotSupportedException {
-//		// 鏋勯�犺姹�
-//		// TokenRequest tokenRequest = requestFactory.createTokenRequest(parameters, clientDetailsService.loadClientByClientId("your-client-id"));
-//
-//		// 鐢熸垚璁块棶浠ょ墝
-//		// OAuth2AccessToken accessToken = tokenGranter.grant("password", tokenRequest);
-//
-//		// 杩斿洖璁块棶浠ょ墝
-//		//return ResponseEntity.ok(accessToken);
-//		return null;
-//	}
-
-//}
diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/BladeTokenGranter.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/BladeTokenGranter.java
index 5a6306a..e0b3d30 100644
--- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/BladeTokenGranter.java
+++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/BladeTokenGranter.java
@@ -45,6 +45,8 @@
 		granters.add(new CaptchaTokenGranter(authenticationManager, endpoints.getTokenServices(), endpoints.getClientDetailsService(), endpoints.getOAuth2RequestFactory(), bladeRedis));
 		// 澧炲姞绗笁鏂圭櫥闄嗘ā寮�
 		granters.add(new SocialTokenGranter(endpoints.getTokenServices(), endpoints.getClientDetailsService(), endpoints.getOAuth2RequestFactory(), userClient, socialProperties));
+		// 澧炲姞鍏嶅瘑鐧婚檰妯″紡
+		//granters.add(new PwdFreeLoginTokenGranter(endpoints.getTokenServices(), endpoints.getClientDetailsService(), endpoints.getOAuth2RequestFactory(), userClient, socialProperties));
 		// 缁勫悎tokenGranter闆嗗悎
 		return new CompositeTokenGranter(granters);
 	}
diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/PwdFreeLoginTokenGranter.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/PwdFreeLoginTokenGranter.java
new file mode 100644
index 0000000..aab9a47
--- /dev/null
+++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/PwdFreeLoginTokenGranter.java
@@ -0,0 +1,116 @@
+/*
+ *      Copyright (c) 2018-2028, Chill Zhuang All rights reserved.
+ *
+ *  Redistribution and use in source and binary forms, with or without
+ *  modification, are permitted provided that the following conditions are met:
+ *
+ *  Redistributions of source code must retain the above copyright notice,
+ *  this list of conditions and the following disclaimer.
+ *  Redistributions in binary form must reproduce the above copyright
+ *  notice, this list of conditions and the following disclaimer in the
+ *  documentation and/or other materials provided with the distribution.
+ *  Neither the name of the dreamlu.net developer nor the names of its
+ *  contributors may be used to endorse or promote products derived from
+ *  this software without specific prior written permission.
+ *  Author: Chill 搴勯獮 (smallchill@163.com)
+ */
+package com.vci.ubcs.auth.granter;
+
+import com.vci.ubcs.auth.constant.AuthConstant;
+import com.vci.ubcs.auth.service.BladeUserDetails;
+import com.vci.ubcs.auth.utils.TokenUtil;
+import com.vci.ubcs.system.user.entity.User;
+import com.vci.ubcs.system.user.entity.UserInfo;
+import com.vci.ubcs.system.user.entity.UserOauth;
+import com.vci.ubcs.system.user.feign.IUserClient;
+import me.zhyd.oauth.model.AuthCallback;
+import me.zhyd.oauth.model.AuthResponse;
+import me.zhyd.oauth.model.AuthUser;
+import me.zhyd.oauth.request.AuthRequest;
+import org.springblade.core.social.props.SocialProperties;
+import org.springblade.core.social.utils.SocialUtil;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.support.Kv;
+import org.springblade.core.tool.utils.BeanUtil;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.WebUtil;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.security.authentication.AbstractAuthenticationToken;
+import org.springframework.security.authentication.AuthenticationManager;
+import org.springframework.security.authentication.UsernamePasswordAuthenticationToken;
+import org.springframework.security.core.Authentication;
+import org.springframework.security.core.authority.AuthorityUtils;
+import org.springframework.security.oauth2.common.exceptions.InvalidGrantException;
+import org.springframework.security.oauth2.provider.*;
+import org.springframework.security.oauth2.provider.token.AbstractTokenGranter;
+import org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices;
+import org.springframework.stereotype.Component;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.LinkedHashMap;
+import java.util.Map;
+import java.util.Objects;
+
+/**
+ * 绗笁鏂圭櫥褰曡璇佺被
+ *
+ * @author Chill
+ */
+public class PwdFreeLoginTokenGranter extends AbstractTokenGranter {
+	private static final String GRANT_TYPE = "passwordfree";
+	private static final Integer AUTH_SUCCESS_CODE = 2000;
+	private final AuthenticationManager authenticationManager;
+
+	public PwdFreeLoginTokenGranter(AuthenticationManager authenticationManager, AuthorizationServerTokenServices tokenServices, ClientDetailsService clientDetailsService, OAuth2RequestFactory requestFactory) {
+		super(tokenServices, clientDetailsService, requestFactory, GRANT_TYPE);
+		this.authenticationManager = authenticationManager;
+	}
+
+	@Override
+	protected OAuth2Authentication getOAuth2Authentication(ClientDetails client, TokenRequest tokenRequest) {
+		// 璇锋眰澶寸鎴蜂俊鎭�
+		HttpServletRequest request = WebUtil.getRequest();
+		String tenantId = Func.toStr(request.getHeader(TokenUtil.TENANT_HEADER_KEY), TokenUtil.DEFAULT_TENANT_ID);
+
+		// 鑾峰彇璇锋眰鍙傛暟
+		Map<String, String> parameters = new LinkedHashMap<>(tokenRequest.getRequestParameters());
+
+		// 鏍规嵁鍙傛暟杩涜鑷畾涔夌殑鎺堟潈閫昏緫
+		// 绀轰緥涓娇鐢ㄤ簡纭紪鐮佺殑鏂瑰紡楠岃瘉璐﹀彿鍜岀敓鎴愭巿鏉冧俊鎭�
+		String userName = parameters.get("username");
+		String password = parameters.get("password");
+		// 缁勮鏁版嵁
+		//UserOauth userOauth = Objects.requireNonNull(BeanUtil.copy(authUser, UserOauth.class));
+		//userOauth.setTenantId(tenantId);
+		//userOauth.setUuid(authUser.getUuid());
+
+		// 杩滅▼璋冪敤锛岃幏鍙栬璇佷俊鎭�
+		//R<UserInfo> result = userClient.userAuthInfo(userOauth);
+		BladeUserDetails bladeUserDetails = null;
+		// 閰嶇疆鐨勫瘑鐮侊紝鎵�鏈夎蛋鍏嶅瘑鎺ュ彛鐨勯兘璁剧疆缁熶竴鐨勫瘑鐮�
+		if ("password".equals(password)) {
+			// 鏋勫缓鎺堟潈淇℃伅
+			//User user = result.getData().getUser();
+			//Kv detail = result.getData().getDetail();
+//			if (user == null || user.getId() == null) {
+//				throw new InvalidGrantException("social grant failure, user is null");
+//			}
+//			bladeUserDetails = new BladeUserDetails(user.getId(),
+//				tenantId, result.getData().getOauthId(), userName, "webservice鍏嶅瘑鐧诲綍", "0", "0", "0", "0", Func.toStr(userOauth.getAvatar(), TokenUtil.DEFAULT_AVATAR),
+//				userName, AuthConstant.ENCRYPT + password, detail, true, true, true, true,
+//				AuthorityUtils.commaSeparatedStringToAuthorityList(Func.join(result.getData().getRoles())));
+		} else {
+			throw new InvalidGrantException("passwordfree grant failure, auth response is not success");
+		}
+
+		// 缁勮璁よ瘉鏁版嵁锛屽叧闂瘑鐮佹牎楠�
+		Authentication userAuth = new UsernamePasswordAuthenticationToken(bladeUserDetails, null, bladeUserDetails.getAuthorities());
+		((AbstractAuthenticationToken) userAuth).setDetails(parameters);
+		OAuth2Request storedOAuth2Request = getRequestFactory().createOAuth2Request(client, tokenRequest);
+
+		// 杩斿洖 OAuth2Authentication
+		return new OAuth2Authentication(storedOAuth2Request, userAuth);
+	}
+
+}
diff --git a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/SocialTokenGranter.java b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/SocialTokenGranter.java
index 316c81c..062783c 100644
--- a/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/SocialTokenGranter.java
+++ b/Source/UBCS/ubcs-auth/src/main/java/com/vci/ubcs/auth/granter/SocialTokenGranter.java
@@ -42,6 +42,7 @@
 import org.springframework.security.oauth2.provider.*;
 import org.springframework.security.oauth2.provider.token.AbstractTokenGranter;
 import org.springframework.security.oauth2.provider.token.AuthorizationServerTokenServices;
+import org.springframework.stereotype.Component;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.LinkedHashMap;
diff --git a/Source/UBCS/ubcs-gateway/src/main/java/com/vci/ubcs/gateway/provider/AuthProvider.java b/Source/UBCS/ubcs-gateway/src/main/java/com/vci/ubcs/gateway/provider/AuthProvider.java
index 49598e2..7b8dd95 100644
--- a/Source/UBCS/ubcs-gateway/src/main/java/com/vci/ubcs/gateway/provider/AuthProvider.java
+++ b/Source/UBCS/ubcs-gateway/src/main/java/com/vci/ubcs/gateway/provider/AuthProvider.java
@@ -34,6 +34,7 @@
 	static {
 		DEFAULT_SKIP_URL.add("/example");
 		DEFAULT_SKIP_URL.add("/oauth/token/**");
+		DEFAULT_SKIP_URL.add("/oauth/password-free-login/**");
 		DEFAULT_SKIP_URL.add("/oauth/captcha/**");
 		DEFAULT_SKIP_URL.add("/oauth/clear-cache/**");
 		DEFAULT_SKIP_URL.add("/oauth/user-info");
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java
index 4e04c10..7b4157f 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/controller/PasswordFreeLoginController.java
@@ -3,9 +3,7 @@
 import com.vci.ubcs.code.service.IPasswordFreeLoginService;
 import io.swagger.annotations.Api;
 import org.springblade.core.tool.api.R;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 
@@ -21,9 +19,9 @@
 	@Resource
 	private IPasswordFreeLoginService passwordFreeLoginService;
 
-	@GetMapping("/login")
-	public R passwordFreeLogin(String account) {
-		boolean resBoolean = passwordFreeLoginService.passwordFreeLogin(account);
+	@PostMapping("/login")
+	public R passwordFreeLogin(@RequestParam String username) {
+		boolean resBoolean = passwordFreeLoginService.passwordFreeLogin(username);
 		return R.status(resBoolean);
 	}
 
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java
index c202116..bbe7802 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/IPasswordFreeLoginService.java
@@ -9,10 +9,10 @@
 
 	/**
 	 * 鍏嶅瘑鐧诲綍鏂规硶
-	 * @param account 璐﹀彿
+	 * @param username 璐﹀彿
 	 * @return
 	 */
-	boolean passwordFreeLogin(String account);
+	boolean passwordFreeLogin(String username);
 
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 6a3d868..212e250 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -3724,6 +3724,7 @@
         if (listR.getData().isEmpty()) {
             throw new VciBaseException("浼犲叆涓氬姟绫诲瀷鏈煡璇㈠埌鐩稿簲琛ㄥ崟锛岃妫�鏌ワ紒");
         }
+		// TODO:鍙傜収閰嶇疆鐨勬ā绯婃煡璇㈣繃婊ゆ潯浠舵殏鏈鐞�
         String namesql = "";
         if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("name"))) {
             String s = baseQueryObject.getConditionMap().get("name");
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 5134140..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
@@ -47,24 +47,29 @@
 
 	/**
 	 * 鍏嶅瘑鐧诲綍
-	 * @param account 璐﹀彿
+	 * @param username 璐﹀彿
 	 * @return
 	 */
 	@Override
-	public boolean passwordFreeLogin(String account) {
+	public boolean passwordFreeLogin(String username) {
 		// 鍏嶅瘑鐧诲綍鎺ュ彛鍦板潃
-		String loginUrl = "http://localhost:"+this.getGatewayPort()+"/ubcs-auth/oauth/passwordFreeLogin?username=admin&grant_type=captcha&scope=all&type=account";
+		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> bodyParams = new LinkedMultiValueMap<String,String>();
-		bodyParams.add("account",account);
+		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, bodyParams);
+		String responseBody = HttpUtils.post(loginUrl, parameters,headers);
 		System.out.println(responseBody);
 		//鎷垮埌鍝嶅簲浣撳皢token瀛樺叆鍒皉edis涓紝浠ccount浣滀负瀛樺偍鐨刱ey
 

--
Gitblit v1.9.3