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