Browse Source

Changed getting redirectUri

pull/3557/head
vzikratyi 6 years ago
parent
commit
1f1cc84a92
  1. 20
      application/src/main/java/org/thingsboard/server/config/CustomOAuth2AuthorizationRequestResolver.java

20
application/src/main/java/org/thingsboard/server/config/CustomOAuth2AuthorizationRequestResolver.java

@ -190,17 +190,33 @@ public class CustomOAuth2AuthorizationRequestResolver implements OAuth2Authoriza
uriVariables.put("action", action == null ? "" : action); uriVariables.put("action", action == null ? "" : action);
return UriComponentsBuilder.fromUriString(getRedirectUri(request)) String redirectUri = getRedirectUri(request);
log.trace("Redirect URI - {}.", redirectUri);
return UriComponentsBuilder.fromUriString(redirectUri)
.buildAndExpand(uriVariables) .buildAndExpand(uriVariables)
.toUriString(); .toUriString();
} }
private String getRedirectUri(HttpServletRequest request) { private String getRedirectUri(HttpServletRequest request) {
String loginProcessingUri = oauth2Configuration != null ? oauth2Configuration.getLoginProcessingUrl() : DEFAULT_LOGIN_PROCESSING_URI; String loginProcessingUri = oauth2Configuration != null ? oauth2Configuration.getLoginProcessingUrl() : DEFAULT_LOGIN_PROCESSING_URI;
String baseUrl= MiscUtils.constructBaseUrl(request);
String scheme = MiscUtils.getScheme(request);
String domainName = MiscUtils.getDomainName(request);
int port = MiscUtils.getPort(request);
String baseUrl = scheme + "://" + domainName;
if (needsPort(scheme, port)){
baseUrl += ":" + port;
}
return baseUrl + loginProcessingUri; return baseUrl + loginProcessingUri;
} }
private boolean needsPort(String scheme, int port) {
boolean isHttpDefault = "http".equals(scheme.toLowerCase()) && port == 80;
boolean isHttpsDefault = "https".equals(scheme.toLowerCase()) && port == 443;
return !isHttpDefault && !isHttpsDefault;
}
/** /**
* Creates nonce and its hash for use in OpenID Connect 1.0 Authentication Requests. * Creates nonce and its hash for use in OpenID Connect 1.0 Authentication Requests.
* *

Loading…
Cancel
Save