use of io.gravitee.management.idp.api.identity.User in project gravitee-management-rest-api by gravitee-io.
the class CompositeIdentityManager method lookup.
@Override
public Optional<User> lookup(final String reference) {
LOGGER.debug("Looking for a user: reference[{}]", reference);
try {
IdentityReference identityReference = referenceSerializer.deserialize(reference);
LOGGER.debug("Lookup identity information from reference: source[{}] id[{}]", identityReference.getSource(), identityReference.getReference());
for (final IdentityLookup identityLookup : identityLookups) {
if (identityLookup.canHandle(identityReference)) {
final User user = identityLookup.retrieve(identityReference);
if (user != null) {
return of(user);
}
}
}
} catch (final Exception ex) {
LOGGER.error("Unable to extract IDP: token[" + reference + "]", ex);
}
return empty();
}
use of io.gravitee.management.idp.api.identity.User in project gravitee-management-rest-api by gravitee-io.
the class InMemoryIdentityLookup method afterPropertiesSet.
@Override
public void afterPropertiesSet() throws Exception {
boolean found = true;
int userIdx = 0;
while (found) {
String user = environment.getProperty("users[" + userIdx + "].user");
found = (user != null && user.isEmpty());
if (found) {
String username = environment.getProperty("users[" + userIdx + "].username");
String password = environment.getProperty("users[" + userIdx + "].password");
String roles = environment.getProperty("users[" + userIdx + "].roles");
List<GrantedAuthority> authorities = AuthorityUtils.commaSeparatedStringToAuthorityList(roles);
userIdx++;
org.springframework.security.core.userdetails.User newUser = new org.springframework.security.core.userdetails.User(username, password, authorities);
userDetailsService.createUser(newUser);
}
}
// Get a reference to stored users
Field fieldUser = userDetailsService.getClass().getDeclaredField("users");
boolean accessible = fieldUser.isAccessible();
fieldUser.setAccessible(true);
users = (Set<String>) ((Map) fieldUser.get(userDetailsService)).keySet();
fieldUser.setAccessible(accessible);
}
Aggregations