Search in sources :

Example 1 with User

use of com.okta.sdk.resource.user.User in project okta-sdk-java by okta.

the class Quickstart method main.

public static void main(String[] args) {
    try {
        // Instantiate a builder for your Client. If needed, settings like Proxy and Caching can be defined here.
        ClientBuilder builder = Clients.builder();
        // No need to define anything else; build the Client instance. The ClientCredential information will be automatically found
        // in pre-defined locations: i.e. ~/.okta/okta.yaml
        Client client = builder.build();
        // Create a group
        Group group = GroupBuilder.instance().setName("my-user-group-" + UUID.randomUUID().toString()).setDescription("Quickstart created Group").buildAndCreate(client);
        println("Group: '" + group.getId() + "' was last updated on: " + group.getLastUpdated());
        // Create a User Account
        String email = "joe.coder+" + UUID.randomUUID().toString() + "@example.com";
        char[] password = { 'P', 'a', 's', 's', 'w', 'o', 'r', 'd', '1' };
        User user = UserBuilder.instance().setEmail(email).setFirstName("Joe").setLastName("Coder").setPassword(password).setSecurityQuestion("Favorite security question?").setSecurityQuestionAnswer("None of them!").putProfileProperty("division", // key/value pairs predefined in the user profile schema
        "Seven").setActive(true).buildAndCreate(client);
        // add user to the newly created group
        user.addToGroup(group.getId());
        String userId = user.getId();
        println("User created with ID: " + userId);
        // You can look up user by ID
        println("User lookup by ID: " + client.getUser(userId).getProfile().getLogin());
        // or by Email
        println("User lookup by Email: " + client.getUser(email).getProfile().getLogin());
        // get the list of users
        UserList users = client.listUsers();
        // get the first user in the collection
        println("First user in collection: " + users.iterator().next().getProfile().getEmail());
    // or loop through all of them (paging is automatic)
    // int ii = 0;
    // for (User tmpUser : users) {
    // println("["+ ii++ +"] User: " + tmpUser.getProfile().getEmail());
    // }
    } catch (ResourceException e) {
        // we can get the user friendly message from the Exception
        println(e.getMessage());
        // and you can get the details too
        e.getCauses().forEach(cause -> println("\t" + cause.getSummary()));
        throw e;
    }
}
Also used : ResourceException(com.okta.sdk.resource.ResourceException) ClientBuilder(com.okta.sdk.client.ClientBuilder) UserList(com.okta.sdk.resource.user.UserList) Clients(com.okta.sdk.client.Clients) GroupBuilder(com.okta.sdk.resource.group.GroupBuilder) User(com.okta.sdk.resource.user.User) Group(com.okta.sdk.resource.group.Group) Client(com.okta.sdk.client.Client) UUID(java.util.UUID) UserBuilder(com.okta.sdk.resource.user.UserBuilder) Group(com.okta.sdk.resource.group.Group) User(com.okta.sdk.resource.user.User) ResourceException(com.okta.sdk.resource.ResourceException) Client(com.okta.sdk.client.Client) UserList(com.okta.sdk.resource.user.UserList) ClientBuilder(com.okta.sdk.client.ClientBuilder)

Example 2 with User

use of com.okta.sdk.resource.user.User in project okta-sdk-java by okta.

the class DefaultUserBuilder method build.

private User build(Client client) {
    User user = client.instantiate(User.class);
    user.setProfile(client.instantiate(UserProfile.class));
    UserProfile userProfile = user.getProfile();
    if (Strings.hasText(firstName))
        userProfile.setFirstName(firstName);
    if (Strings.hasText(lastName))
        userProfile.setLastName(lastName);
    if (Strings.hasText(email))
        userProfile.setEmail(email);
    if (Strings.hasText(secondEmail))
        userProfile.setSecondEmail(secondEmail);
    if (Strings.hasText(mobilePhone))
        userProfile.setMobilePhone(mobilePhone);
    if (Strings.hasText(login)) {
        userProfile.setLogin(login);
    } else {
        userProfile.setLogin(email);
    }
    if (!Collections.isEmpty(groupIds)) {
        if (user instanceof AbstractResource) {
            ((AbstractResource) user).setProperty("groupIds", groupIds, true);
        } else {
            throw new IllegalArgumentException("'User' is not an instance of 'AbstractResource', so 'groupIds' cannot be set. This would only happen if the implementation of 'User' has been customized.");
        }
    }
    userProfile.putAll(customProfileAttributes);
    if (password != null && password.length > 0 || Strings.hasText(securityQuestion)) {
        UserCredentials credentials = client.instantiate(UserCredentials.class);
        user.setCredentials(credentials);
        if (Strings.hasText(securityQuestion)) {
            RecoveryQuestionCredential question = client.instantiate(RecoveryQuestionCredential.class);
            question.setQuestion(securityQuestion);
            question.setAnswer(securityQuestionAnswer);
            credentials.setRecoveryQuestion(question);
        }
        if (password != null && password.length > 0) {
            PasswordCredential passwordCredential = client.instantiate(PasswordCredential.class);
            credentials.setPassword(passwordCredential.setValue(password));
        }
    }
    return user;
}
Also used : RecoveryQuestionCredential(com.okta.sdk.resource.user.RecoveryQuestionCredential) User(com.okta.sdk.resource.user.User) UserProfile(com.okta.sdk.resource.user.UserProfile) PasswordCredential(com.okta.sdk.resource.user.PasswordCredential) UserCredentials(com.okta.sdk.resource.user.UserCredentials)

Aggregations

User (com.okta.sdk.resource.user.User)2 Client (com.okta.sdk.client.Client)1 ClientBuilder (com.okta.sdk.client.ClientBuilder)1 Clients (com.okta.sdk.client.Clients)1 ResourceException (com.okta.sdk.resource.ResourceException)1 Group (com.okta.sdk.resource.group.Group)1 GroupBuilder (com.okta.sdk.resource.group.GroupBuilder)1 PasswordCredential (com.okta.sdk.resource.user.PasswordCredential)1 RecoveryQuestionCredential (com.okta.sdk.resource.user.RecoveryQuestionCredential)1 UserBuilder (com.okta.sdk.resource.user.UserBuilder)1 UserCredentials (com.okta.sdk.resource.user.UserCredentials)1 UserList (com.okta.sdk.resource.user.UserList)1 UserProfile (com.okta.sdk.resource.user.UserProfile)1 UUID (java.util.UUID)1