Fixes bug on fetching user of Configurable Provider. (Issue #183)
This commit is contained in:
parent
5285c1a3a6
commit
893547aee3
|
@ -35,7 +35,9 @@ public class ConfigurableProviderCustomProviderImpl implements ConfigurableProvi
|
||||||
Map<String, Object> values = template.postForObject(accessTokenUrl, request, Map.class);
|
Map<String, Object> values = template.postForObject(accessTokenUrl, request, Map.class);
|
||||||
ConfigurableProviderResponseToken responseToken = new ConfigurableProviderResponseToken();
|
ConfigurableProviderResponseToken responseToken = new ConfigurableProviderResponseToken();
|
||||||
responseToken.setAccessToken((String) values.get(access_token));
|
responseToken.setAccessToken((String) values.get(access_token));
|
||||||
responseToken.setExpiresIn((Integer) values.get(expires_in));
|
if (expires_in != null && !expires_in.isEmpty()) {
|
||||||
|
responseToken.setExpiresIn((Integer) values.get(expires_in));
|
||||||
|
}
|
||||||
|
|
||||||
return responseToken;
|
return responseToken;
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,9 +31,12 @@ public class ConfigurableProviderUser {
|
||||||
}
|
}
|
||||||
|
|
||||||
ConfigurableProviderUser getConfigurableProviderUser(Map data, ConfigurableProviderUserSettings user) {
|
ConfigurableProviderUser getConfigurableProviderUser(Map data, ConfigurableProviderUserSettings user) {
|
||||||
this.id = (String) data.get(user.getId());
|
if (user.getId() != null && !user.getId().isEmpty())
|
||||||
this.name = (String) data.get(user.getName());
|
this.id = (String) data.get(user.getId());
|
||||||
this.email = (String) data.get(user.getEmail());
|
if (user.getName() != null && !user.getName().isEmpty())
|
||||||
|
this.name = (String) data.get(user.getName());
|
||||||
|
if (user.getEmail() != null && !user.getEmail().isEmpty())
|
||||||
|
this.email = (String) data.get(user.getEmail());
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -15,6 +15,7 @@ import eu.eudat.models.data.loginprovider.LoginProviderUser;
|
||||||
import eu.eudat.models.data.security.Principal;
|
import eu.eudat.models.data.security.Principal;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Component("configurableProviderTokenValidator")
|
@Component("configurableProviderTokenValidator")
|
||||||
|
@ -38,7 +39,7 @@ public class ConfigurableProviderTokenValidator implements TokenValidator {
|
||||||
}
|
}
|
||||||
@Override
|
@Override
|
||||||
public Principal validateToken(LoginInfo credentials) throws NullEmailException {
|
public Principal validateToken(LoginInfo credentials) throws NullEmailException {
|
||||||
String configurableLoginId = (String) credentials.getData();
|
String configurableLoginId = ((Map) credentials.getData()).get("configurableLoginId").toString();
|
||||||
ConfigurableProvider configurableProvider = getConfigurableProviderFromId(configurableLoginId);
|
ConfigurableProvider configurableProvider = getConfigurableProviderFromId(configurableLoginId);
|
||||||
ConfigurableProviderUser configurableUser = this.configurableProvider.getUser(credentials.getTicket(), configurableProvider.getUser());
|
ConfigurableProviderUser configurableUser = this.configurableProvider.getUser(credentials.getTicket(), configurableProvider.getUser());
|
||||||
LoginProviderUser user = new LoginProviderUser();
|
LoginProviderUser user = new LoginProviderUser();
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
"id": "sub",
|
"id": "sub",
|
||||||
"name": "name",
|
"name": "name",
|
||||||
"email": "email",
|
"email": "email",
|
||||||
"user_info_endpoint": ""
|
"user_info_url": ""
|
||||||
},
|
},
|
||||||
"oauthUrl": "/authorize",
|
"oauthUrl": "/authorize",
|
||||||
"scope": "email",
|
"scope": "email",
|
||||||
|
|
Loading…
Reference in New Issue