Search in sources :

Example 1 with User

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();
}
Also used : IdentityLookup(io.gravitee.management.idp.api.identity.IdentityLookup) SearchableUser(io.gravitee.management.idp.api.identity.SearchableUser) User(io.gravitee.management.idp.api.identity.User) IdentityReference(io.gravitee.management.idp.api.identity.IdentityReference)

Example 2 with User

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);
}
Also used : User(io.gravitee.management.idp.api.identity.User) GrantedAuthority(org.springframework.security.core.GrantedAuthority) Field(java.lang.reflect.Field) Map(java.util.Map)

Aggregations

User (io.gravitee.management.idp.api.identity.User)2 IdentityLookup (io.gravitee.management.idp.api.identity.IdentityLookup)1 IdentityReference (io.gravitee.management.idp.api.identity.IdentityReference)1 SearchableUser (io.gravitee.management.idp.api.identity.SearchableUser)1 Field (java.lang.reflect.Field)1 Map (java.util.Map)1 GrantedAuthority (org.springframework.security.core.GrantedAuthority)1