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;
}
}
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;
}
Aggregations