Compare commits

...

1 Commits

Author SHA1 Message Date
Bernaldo Mihasi 729e6af733 add debugging logs in configurable login provider 2022-11-30 14:23:22 +02:00
1 changed files with 38 additions and 0 deletions

View File

@ -2,6 +2,8 @@ package eu.eudat.logic.security.customproviders.ConfigurableProvider;
import eu.eudat.logic.security.customproviders.ConfigurableProvider.entities.oauth2.Oauth2ConfigurableProviderUserSettings;
import eu.eudat.logic.security.validators.configurableProvider.helpers.ConfigurableProviderResponseToken;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.http.HttpEntity;
import org.springframework.http.HttpHeaders;
import org.springframework.http.HttpMethod;
@ -11,10 +13,12 @@ import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
import java.util.HashMap;
import java.util.Map;
@Component("configurableProviderCustomProvider")
public class ConfigurableProviderCustomProviderImpl implements ConfigurableProviderCustomProvider {
private static final Logger logger = LoggerFactory.getLogger(ConfigurableProviderCustomProviderImpl.class);
@Override
public ConfigurableProviderResponseToken getAccessToken(String code, String redirectUri, String clientId, String clientSecret, String accessTokenUrl,
@ -32,7 +36,22 @@ public class ConfigurableProviderCustomProviderImpl implements ConfigurableProvi
map.add("client_secret", clientSecret);
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(map, headers);
logger.debug("----------------------------------------------");
logger.debug("Sending request to access token url: " + accessTokenUrl);
logger.debug("The request sent is: ");
map.forEach((key, value) -> logger.debug(key + ": " + value));
logger.debug("----------------------------------------------");
Map<String, Object> values = template.postForObject(accessTokenUrl, request, Map.class);
try {
logger.debug("----------------------------------------------");
logger.debug("Returned values from access token url request:");
values.forEach((key, value) -> logger.debug(key + ": " + value));
logger.debug("----------------------------------------------");
} catch (NullPointerException e){
logger.error(e.getMessage(), e);
values = new HashMap<>();
}
ConfigurableProviderResponseToken responseToken = new ConfigurableProviderResponseToken();
responseToken.setAccessToken((String) values.get(access_token));
if (expires_in != null && !expires_in.isEmpty()) {
@ -48,7 +67,26 @@ public class ConfigurableProviderCustomProviderImpl implements ConfigurableProvi
HttpHeaders headers = this.createBearerAuthHeaders(accessToken);
HttpEntity<String> entity = new HttpEntity<>(headers);
logger.debug("----------------------------------------------");
logger.debug("Sending request to user info url: " + user.getUser_info_url());
logger.debug("Using access token: " + accessToken);
logger.debug("----------------------------------------------");
Map<String, Object> values = restTemplate.exchange(user.getUser_info_url(), HttpMethod.GET, entity, Map.class).getBody();
try {
logger.debug("----------------------------------------------");
logger.debug("Returned values from user info url request:");
values.forEach((key, value) -> logger.debug(key + ": " + value));
logger.debug("-------------------------------------------");
} catch (NullPointerException e){
logger.error(e.getMessage(), e);
values = new HashMap<>();
}
logger.debug("----------------------------------------------");
logger.debug("Searching in user info response for these fields: " + user.getId() + ", " + user.getName() + ", " + user.getEmail());
logger.debug("----------------------------------------------");
return new ConfigurableProviderUser().getConfigurableProviderUser(values, user);
}