You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2019/07/03 04:05:41 UTC
[servicecomb-fence] 02/02: [SCB-1343]minor code condition check
improvements
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/servicecomb-fence.git
commit 33d3d138839379a698bf8f7ae31dedd66c96164b
Author: liubao <bi...@qq.com>
AuthorDate: Wed Jul 3 12:04:51 2019 +0800
[SCB-1343]minor code condition check improvements
---
.../server/PasswordTokenGranter.java | 22 ++++++++++++++++------
.../server/RefreshTokenTokenGranter.java | 5 +++++
.../authentication/edge/TokenEndpoint.java | 4 ----
3 files changed, 21 insertions(+), 10 deletions(-)
diff --git a/api/authentication-server/endpoint/src/main/java/org/apache/servicecomb/authentication/server/PasswordTokenGranter.java b/api/authentication-server/endpoint/src/main/java/org/apache/servicecomb/authentication/server/PasswordTokenGranter.java
index 45c8ca2..bb32d48 100644
--- a/api/authentication-server/endpoint/src/main/java/org/apache/servicecomb/authentication/server/PasswordTokenGranter.java
+++ b/api/authentication-server/endpoint/src/main/java/org/apache/servicecomb/authentication/server/PasswordTokenGranter.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.authentication.server;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.authentication.token.AbstractOpenIDTokenStore;
import org.apache.servicecomb.authentication.token.OpenIDToken;
import org.apache.servicecomb.authentication.util.CommonConstants;
@@ -26,6 +27,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
+import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.stereotype.Component;
@@ -50,12 +52,20 @@ public class PasswordTokenGranter implements TokenGranter {
String username = parameters.get(AuthenticationServerConstants.PARAM_USERNAME);
String password = parameters.get(AuthenticationServerConstants.PARAM_PASSWORD);
- UserDetails userDetails = userDetailsService.loadUserByUsername(username);
- if (passwordEncoder.matches(password, userDetails.getPassword())) {
- OpenIDToken openIDToken = openIDTokenStore.createToken(userDetails);
- openIDTokenStore.saveToken(openIDToken);
- return TokenResponse.fromOpenIDToken(openIDToken);
- } else {
+ if (StringUtils.isEmpty(username) || StringUtils.isEmpty(password)) {
+ return null;
+ }
+
+ try {
+ UserDetails userDetails = userDetailsService.loadUserByUsername(username);
+ if (passwordEncoder.matches(password, userDetails.getPassword())) {
+ OpenIDToken openIDToken = openIDTokenStore.createToken(userDetails);
+ openIDTokenStore.saveToken(openIDToken);
+ return TokenResponse.fromOpenIDToken(openIDToken);
+ } else {
+ return null;
+ }
+ } catch (UsernameNotFoundException e) {
return null;
}
}
diff --git a/api/authentication-server/endpoint/src/main/java/org/apache/servicecomb/authentication/server/RefreshTokenTokenGranter.java b/api/authentication-server/endpoint/src/main/java/org/apache/servicecomb/authentication/server/RefreshTokenTokenGranter.java
index 77a9f98..a18bd2d 100644
--- a/api/authentication-server/endpoint/src/main/java/org/apache/servicecomb/authentication/server/RefreshTokenTokenGranter.java
+++ b/api/authentication-server/endpoint/src/main/java/org/apache/servicecomb/authentication/server/RefreshTokenTokenGranter.java
@@ -19,6 +19,7 @@ package org.apache.servicecomb.authentication.server;
import java.util.Map;
+import org.apache.commons.lang3.StringUtils;
import org.apache.servicecomb.authentication.token.AbstractOpenIDTokenStore;
import org.apache.servicecomb.authentication.token.OpenIDToken;
import org.apache.servicecomb.authentication.token.Token;
@@ -57,6 +58,10 @@ public class RefreshTokenTokenGranter implements TokenGranter {
public TokenResponse grant(Map<String, String> parameters) {
String refreshTokenValue = parameters.get(AuthenticationServerConstants.PARAM_REFRESH_TOKEN);
+ if (StringUtils.isEmpty(refreshTokenValue)) {
+ return null;
+ }
+
Token refreshToken = openIDTokenStore.readTokenByRefreshTokenValue(refreshTokenValue);
if (refreshToken != null && !refreshToken.isExpired()) {
diff --git a/api/edge-service/endpoint/src/main/java/org/apache/servicecomb/authentication/edge/TokenEndpoint.java b/api/edge-service/endpoint/src/main/java/org/apache/servicecomb/authentication/edge/TokenEndpoint.java
index 8718a0c..578f71a 100644
--- a/api/edge-service/endpoint/src/main/java/org/apache/servicecomb/authentication/edge/TokenEndpoint.java
+++ b/api/edge-service/endpoint/src/main/java/org/apache/servicecomb/authentication/edge/TokenEndpoint.java
@@ -26,7 +26,6 @@ import org.apache.servicecomb.provider.pojo.RpcReference;
import org.apache.servicecomb.provider.rest.common.RestSchema;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
-import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
@@ -47,9 +46,6 @@ public class TokenEndpoint implements TokenService {
public CompletableFuture<TokenResponse> getToken(@RequestBody Map<String, String> parameters) {
CompletableFuture<TokenResponse> result = new CompletableFuture<>();
- HttpHeaders headers = new HttpHeaders();
- headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-
CompletableFuture<TokenResponse> response =
authenticationSererTokenEndpoint.getToken(parameters);
response.whenComplete((tokenResonse, ex) -> {