Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Upgrade SDK to use OASv3 spec version 2024.06.1 #1523

Merged
merged 6 commits into from
Jul 12, 2024
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 17 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -193,7 +193,7 @@ This library should be used with the Okta management API. For authentication, we
[//]: # (method: getUser)
```java
UserApi userApi = new UserApi(client);
User user = userApi.getUser("userId");
userApi.getUser("userId", "true");
```
[//]: # (end: getUser)

Expand Down Expand Up @@ -370,13 +370,13 @@ UserFactor userFactor = userFactorApi.getFactor("userId", "factorId");
[//]: # (method: enrollUserInFactor)
```java
UserFactorApi userFactorApi = new UserFactorApi(client);
SmsUserFactorProfile smsUserFactorProfile = new SmsUserFactorProfile();
smsUserFactorProfile.setPhoneNumber("555 867 5309");
SmsUserFactor smsUserFactor = new SmsUserFactor();
smsUserFactor.setProvider(FactorProvider.OKTA);
smsUserFactor.setFactorType(FactorType.SMS);
smsUserFactor.setProfile(smsUserFactorProfile);
userFactorApi.enrollFactor("userId", smsUserFactor, true, "templateId", 30, true);
UserFactorSMSProfile UserFactorSMSProfile = new UserFactorSMSProfile();
UserFactorSMSProfile.setPhoneNumber("555 867 5309");
UserFactorSMS UserFactorSMS = new UserFactorSMS();
UserFactorSMS.setProvider(UserFactorProvider.OKTA);
UserFactorSMS.setFactorType(UserFactorType.SMS);
UserFactorSMS.setProfile(UserFactorSMSProfile);
userFactorApi.enrollFactor("userId", UserFactorSMS, true, "templateId", 30, true, null);
```
[//]: # (end: enrollUserInFactor)

Expand All @@ -385,10 +385,10 @@ userFactorApi.enrollFactor("userId", smsUserFactor, true, "templateId", 30, true
[//]: # (method: activateFactor)
```java
UserFactorApi userFactorApi = new UserFactorApi(client);
CallUserFactor userFactor = (CallUserFactor) userFactorApi.getFactor("userId", "factorId");
ActivateFactorRequest activateFactorRequest = new ActivateFactorRequest();
activateFactorRequest.setPassCode("123456");
userFactorApi.activateFactor("userId", "factorId", activateFactorRequest);
UserFactorCall userFactor = (UserFactorCall) userFactorApi.getFactor("userId", "factorId");
UserFactorActivateRequest userFactorActivateRequest = new UserFactorActivateRequest();
userFactorActivateRequest.setPassCode("123456");
userFactorApi.activateFactor("userId", "factorId", userFactorActivateRequest);
```
[//]: # (end: activateFactor)

Expand All @@ -398,10 +398,10 @@ userFactorApi.activateFactor("userId", "factorId", activateFactorRequest);
```java
UserFactorApi userFactorApi = new UserFactorApi(client);
UserFactor userFactor = userFactorApi.getFactor( "userId", "factorId");
VerifyFactorRequest verifyFactorRequest = new VerifyFactorRequest();
verifyFactorRequest.setPassCode("123456");
VerifyUserFactorResponse verifyUserFactorResponse =
userFactorApi.verifyFactor("userId", "factorId", "templateId", 10, "xForwardedFor", "userAgent", "acceptLanguage", verifyFactorRequest);
UserFactorVerifyRequest userFactorVerifyRequest = new UserFactorVerifyRequest();
userFactorVerifyRequest.setPassCode("123456");
UserFactorVerifyResponse verifyUserFactorResponse =
userFactorApi.verifyFactor("userId", "factorId", "templateId", 10, "xForwardedFor", "userAgent", "acceptLanguage", userFactorVerifyRequest);
```
[//]: # (end: verifyFactor)

Expand Down Expand Up @@ -461,7 +461,7 @@ MultifactorEnrollmentPolicy mfaPolicy =
[//]: # (method: listPolicies)
```java
PolicyApi policyApi = new PolicyApi(client);
List<Policy> policies = policyApi.listPolicies(PolicyType.PASSWORD.name(), LifecycleStatus.ACTIVE.name(), null);
List<Policy> policies = policyApi.listPolicies(PolicyType.PASSWORD.name(), LifecycleStatus.ACTIVE.name(), null, null, null, null);
```
[//]: # (end: listPolicies)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@
package com.okta.sdk.resource.application;

import com.okta.commons.lang.Classes;
import com.okta.sdk.resource.model.JsonWebKey;
import com.okta.sdk.resource.model.OAuthEndpointAuthenticationMethod;
import com.okta.sdk.resource.model.OAuthGrantType;
import com.okta.sdk.resource.model.OAuthResponseType;
Expand Down Expand Up @@ -65,7 +64,7 @@ static OIDCApplicationBuilder instance() {

OIDCApplicationBuilder setTokenEndpointAuthMethod(OAuthEndpointAuthenticationMethod tokenEndpointAuthMethod);

OIDCApplicationBuilder setJwks(List<JsonWebKey> jsonWebKeyList);
OIDCApplicationBuilder setJwks(List<com.okta.sdk.resource.model.SchemasJsonWebKey> jsonWebKeyList);

OIDCApplicationBuilder setImplicitAssignment(Boolean isImplicitAssignment);

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,10 +89,10 @@ public static void main(String[] args) throws ApiException {
println("User created with ID: " + userId);

// You can look up user by ID
println("User lookup by ID: "+ Objects.requireNonNull(userApi.getUser(userId).getProfile()).getLogin());
println("User lookup by ID: "+ Objects.requireNonNull(userApi.getUser(userId, "false").getProfile()).getLogin());

// or by Email
println("User lookup by Email: "+ Objects.requireNonNull(userApi.getUser(email).getProfile()).getLogin());
println("User lookup by Email: "+ Objects.requireNonNull(userApi.getUser(email, "false").getProfile()).getLogin());

// get the list of users
List<User> users = userApi.listUsers(null, null, null, "status eq \"ACTIVE\"", null, null, null);
Expand Down
35 changes: 18 additions & 17 deletions examples/quickstart/src/main/java/quickstart/ReadmeSnippets.java
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
import com.okta.sdk.client.Clients;
import com.okta.sdk.helper.PaginationUtil;
import com.okta.sdk.resource.group.GroupBuilder;
import com.okta.sdk.resource.model.UserFactorType;
import com.okta.sdk.resource.user.UserBuilder;

import com.okta.sdk.resource.client.ApiClient;
Expand Down Expand Up @@ -80,7 +81,7 @@ private void createOAuth2Client() {
private void getUser() throws ApiException {
UserApi userApi = new UserApi(client);

User user = userApi.getUser("userId");
userApi.getUser("userId", "true");
}

private void listAllUsers() throws ApiException {
Expand Down Expand Up @@ -209,36 +210,36 @@ private void getUserFactor() throws ApiException {
private void enrollUserInFactor() throws ApiException {
UserFactorApi userFactorApi = new UserFactorApi(client);

SmsUserFactorProfile smsUserFactorProfile = new SmsUserFactorProfile();
smsUserFactorProfile.setPhoneNumber("555 867 5309");
UserFactorSMSProfile UserFactorSMSProfile = new UserFactorSMSProfile();
UserFactorSMSProfile.setPhoneNumber("555 867 5309");

SmsUserFactor smsUserFactor = new SmsUserFactor();
smsUserFactor.setProvider(FactorProvider.OKTA);
smsUserFactor.setFactorType(FactorType.SMS);
smsUserFactor.setProfile(smsUserFactorProfile);
UserFactorSMS UserFactorSMS = new UserFactorSMS();
UserFactorSMS.setProvider(UserFactorProvider.OKTA);
UserFactorSMS.setFactorType(UserFactorType.SMS);
UserFactorSMS.setProfile(UserFactorSMSProfile);

userFactorApi.enrollFactor("userId", smsUserFactor, true, "templateId", 30, true);
userFactorApi.enrollFactor("userId", UserFactorSMS, true, "templateId", 30, true, null);
}

private void activateFactor() throws ApiException {
UserFactorApi userFactorApi = new UserFactorApi(client);

CallUserFactor userFactor = (CallUserFactor) userFactorApi.getFactor("userId", "factorId");
ActivateFactorRequest activateFactorRequest = new ActivateFactorRequest();
activateFactorRequest.setPassCode("123456");
UserFactorCall userFactor = (UserFactorCall) userFactorApi.getFactor("userId", "factorId");
UserFactorActivateRequest userFactorActivateRequest = new UserFactorActivateRequest();
userFactorActivateRequest.setPassCode("123456");

userFactorApi.activateFactor("userId", "factorId", activateFactorRequest);
userFactorApi.activateFactor("userId", "factorId", userFactorActivateRequest);
}

private void verifyFactor() throws ApiException {
UserFactorApi userFactorApi = new UserFactorApi(client);

UserFactor userFactor = userFactorApi.getFactor( "userId", "factorId");
VerifyFactorRequest verifyFactorRequest = new VerifyFactorRequest();
verifyFactorRequest.setPassCode("123456");
UserFactorVerifyRequest userFactorVerifyRequest = new UserFactorVerifyRequest();
userFactorVerifyRequest.setPassCode("123456");

VerifyUserFactorResponse verifyUserFactorResponse =
userFactorApi.verifyFactor("userId", "factorId", "templateId", 10, "xForwardedFor", "userAgent", "acceptLanguage", verifyFactorRequest);
UserFactorVerifyResponse verifyUserFactorResponse =
userFactorApi.verifyFactor("userId", "factorId", "templateId", 10, "xForwardedFor", "userAgent", "acceptLanguage", userFactorVerifyRequest);
}

private void listApplications() throws ApiException {
Expand Down Expand Up @@ -276,7 +277,7 @@ private void createSwaApplication() throws ApiException {
private void listPolicies() throws ApiException {
PolicyApi policyApi = new PolicyApi(client);

List<Policy> policies = policyApi.listPolicies(PolicyType.PASSWORD.name(), LifecycleStatus.ACTIVE.name(), null);
List<Policy> policies = policyApi.listPolicies(PolicyType.PASSWORD.name(), LifecycleStatus.ACTIVE.name(), null, null, null, null);
}

private void getPolicy() throws ApiException {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,33 +19,32 @@
import com.okta.sdk.resource.application.OIDCApplicationBuilder;
import com.okta.sdk.resource.client.ApiException;
import com.okta.sdk.resource.api.ApplicationApi;
import com.okta.sdk.resource.model.*;

import java.util.ArrayList;
import java.util.List;
import java.util.Objects;

public class DefaultOIDCApplicationBuilder extends DefaultApplicationBuilder<OIDCApplicationBuilder> implements OIDCApplicationBuilder {
private OpenIdConnectApplicationType applicationType;
private com.okta.sdk.resource.model.OpenIdConnectApplicationType applicationType;
private String clientUri;
private OpenIdConnectApplicationConsentMethod consentMethod;
private List<OAuthGrantType> grantTypes = new ArrayList<>();
private com.okta.sdk.resource.model.OpenIdConnectApplicationConsentMethod consentMethod;
private List<com.okta.sdk.resource.model.OAuthGrantType> grantTypes = new ArrayList<>();
private String logoUri;
private String policyUri;
private List<String> postLogoutRedirectUris = new ArrayList<>();
private List<String> redirectUris = new ArrayList<>();
private List<OAuthResponseType> responseTypes = new ArrayList<>();
private List<com.okta.sdk.resource.model.OAuthResponseType> responseTypes = new ArrayList<>();
private String tosUri;
private String clientId;
private String clientSecret;
private Boolean autoKeyRotation;
private OAuthEndpointAuthenticationMethod tokenEndpointAuthMethod;
private List<JsonWebKey> jsonWebKeyList = new ArrayList<>();
private com.okta.sdk.resource.model.OAuthEndpointAuthenticationMethod tokenEndpointAuthMethod;
private List<com.okta.sdk.resource.model.SchemasJsonWebKey> schemasJsonWebKeys = new ArrayList<>();
private Boolean isImplicitAssignment;
private String inlineHookId;

@Override
public OIDCApplicationBuilder setApplicationType(OpenIdConnectApplicationType applicationType) {
public OIDCApplicationBuilder setApplicationType(com.okta.sdk.resource.model.OpenIdConnectApplicationType applicationType) {
this.applicationType = applicationType;
return this;
}
Expand All @@ -57,19 +56,19 @@ public OIDCApplicationBuilder setClientUri(String clientUri) {
}

@Override
public OIDCApplicationBuilder setConsentMethod(OpenIdConnectApplicationConsentMethod consentMethod) {
public OIDCApplicationBuilder setConsentMethod(com.okta.sdk.resource.model.OpenIdConnectApplicationConsentMethod consentMethod) {
this.consentMethod = consentMethod;
return this;
}

@Override
public OIDCApplicationBuilder setGrantTypes(List<OAuthGrantType> grantTypes) {
public OIDCApplicationBuilder setGrantTypes(List<com.okta.sdk.resource.model.OAuthGrantType> grantTypes) {
this.grantTypes = grantTypes;
return this;
}

@Override
public OIDCApplicationBuilder addGrantTypes(OAuthGrantType grantType) {
public OIDCApplicationBuilder addGrantTypes(com.okta.sdk.resource.model.OAuthGrantType grantType) {
this.grantTypes.add(grantType);
return this;
}
Expand Down Expand Up @@ -105,13 +104,13 @@ public OIDCApplicationBuilder addRedirectUris(String redirectUri) {
}

@Override
public OIDCApplicationBuilder setResponseTypes(List<OAuthResponseType> responseTypes) {
public OIDCApplicationBuilder setResponseTypes(List<com.okta.sdk.resource.model.OAuthResponseType> responseTypes) {
this.responseTypes = responseTypes;
return this;
}

@Override
public OIDCApplicationBuilder addResponseTypes(OAuthResponseType responseType) {
public OIDCApplicationBuilder addResponseTypes(com.okta.sdk.resource.model.OAuthResponseType responseType) {
this.responseTypes.add(responseType);
return this;
}
Expand Down Expand Up @@ -141,14 +140,14 @@ public OIDCApplicationBuilder setAutoKeyRotation(Boolean autoKeyRotation) {
}

@Override
public OIDCApplicationBuilder setTokenEndpointAuthMethod(OAuthEndpointAuthenticationMethod tokenEndpointAuthMethod) {
public OIDCApplicationBuilder setTokenEndpointAuthMethod(com.okta.sdk.resource.model.OAuthEndpointAuthenticationMethod tokenEndpointAuthMethod) {
this.tokenEndpointAuthMethod = tokenEndpointAuthMethod;
return this;
}

@Override
public OIDCApplicationBuilder setJwks(List<JsonWebKey> jsonWebKeyList) {
this.jsonWebKeyList = jsonWebKeyList;
public OIDCApplicationBuilder setJwks(List<com.okta.sdk.resource.model.SchemasJsonWebKey> schemasJsonWebKeys) {
this.schemasJsonWebKeys = schemasJsonWebKeys;
return this;
}

Expand All @@ -165,20 +164,20 @@ public OIDCApplicationBuilder setInlineHookId(String inlineHookId) {
}

@Override
public OpenIdConnectApplication buildAndCreate(ApplicationApi client) throws ApiException {
return (OpenIdConnectApplication) new ApplicationApi(client.getApiClient())
public com.okta.sdk.resource.model.OpenIdConnectApplication buildAndCreate(ApplicationApi client) throws ApiException {
return (com.okta.sdk.resource.model.OpenIdConnectApplication) new ApplicationApi(client.getApiClient())
.createApplication(build(), false, null);
}

private OpenIdConnectApplication build(){
OpenIdConnectApplication application = new OpenIdConnectApplication();
private com.okta.sdk.resource.model.OpenIdConnectApplication build() {
com.okta.sdk.resource.model.OpenIdConnectApplication application = new com.okta.sdk.resource.model.OpenIdConnectApplication();

if (Strings.hasText(label)) application.setLabel(label);

application.setSignOnMode(ApplicationSignOnMode.OPENID_CONNECT);
application.setSignOnMode(com.okta.sdk.resource.model.ApplicationSignOnMode.OPENID_CONNECT);

// Accessibility
ApplicationAccessibility applicationAccessibility = new ApplicationAccessibility();
com.okta.sdk.resource.model.ApplicationAccessibility applicationAccessibility = new com.okta.sdk.resource.model.ApplicationAccessibility();

if (Strings.hasText(errorRedirectUrl))
applicationAccessibility.setErrorRedirectUrl(errorRedirectUrl);
Expand All @@ -189,9 +188,9 @@ private OpenIdConnectApplication build(){
application.setAccessibility(applicationAccessibility);

// Visibility
ApplicationVisibility applicationVisibility = new ApplicationVisibility();
com.okta.sdk.resource.model.ApplicationVisibility applicationVisibility = new com.okta.sdk.resource.model.ApplicationVisibility();

ApplicationVisibilityHide applicationVisibilityHide = new ApplicationVisibilityHide();
com.okta.sdk.resource.model.ApplicationVisibilityHide applicationVisibilityHide = new com.okta.sdk.resource.model.ApplicationVisibilityHide();

if (Objects.nonNull(iOS))
applicationVisibilityHide.setiOS(iOS);
Expand All @@ -204,9 +203,9 @@ private OpenIdConnectApplication build(){
application.setVisibility(applicationVisibility);

// Settings
OpenIdConnectApplicationSettings openIdConnectApplicationSettings = new OpenIdConnectApplicationSettings();
com.okta.sdk.resource.model.OpenIdConnectApplicationSettings openIdConnectApplicationSettings = new com.okta.sdk.resource.model.OpenIdConnectApplicationSettings();

OpenIdConnectApplicationSettingsClient openIdConnectApplicationSettingsClient = new OpenIdConnectApplicationSettingsClient();
com.okta.sdk.resource.model.OpenIdConnectApplicationSettingsClient openIdConnectApplicationSettingsClient = new com.okta.sdk.resource.model.OpenIdConnectApplicationSettingsClient();

if (Strings.hasText(clientUri))
openIdConnectApplicationSettingsClient.setClientUri(clientUri);
Expand All @@ -226,12 +225,12 @@ private OpenIdConnectApplication build(){
if (Objects.nonNull(redirectUris))
openIdConnectApplicationSettingsClient.setRedirectUris(redirectUris);

if (Objects.nonNull(responseTypes) && responseTypes.size()>0)
if (Objects.nonNull(responseTypes) && !responseTypes.isEmpty())
openIdConnectApplicationSettingsClient.setResponseTypes(responseTypes);
else
throw new IllegalArgumentException("Response Type cannot be null, value should be of type OAuthResponseType");

if (Objects.nonNull(grantTypes) && grantTypes.size() > 0)
if (Objects.nonNull(grantTypes) && !grantTypes.isEmpty())
openIdConnectApplicationSettingsClient.setGrantTypes(grantTypes);
else
throw new IllegalArgumentException("Grant Type cannot be null, value should be of type OAuthGrantType");
Expand All @@ -251,8 +250,8 @@ private OpenIdConnectApplication build(){
openIdConnectApplicationSettings.setInlineHookId(inlineHookId);

// Credentials
OAuthApplicationCredentials oAuthApplicationCredentials = new OAuthApplicationCredentials();
ApplicationCredentialsOAuthClient applicationCredentialsOAuthClient = new ApplicationCredentialsOAuthClient();
com.okta.sdk.resource.model.OAuthApplicationCredentials oAuthApplicationCredentials = new com.okta.sdk.resource.model.OAuthApplicationCredentials();
com.okta.sdk.resource.model.ApplicationCredentialsOAuthClient applicationCredentialsOAuthClient = new com.okta.sdk.resource.model.ApplicationCredentialsOAuthClient();

if (Strings.hasText(clientId))
applicationCredentialsOAuthClient.setClientId(clientId);
Expand All @@ -274,9 +273,9 @@ private OpenIdConnectApplication build(){

openIdConnectApplicationSettings.setOauthClient(openIdConnectApplicationSettingsClient);

if (jsonWebKeyList.size() > 0) {
OpenIdConnectApplicationSettingsClientKeys openIdConnectApplicationSettingsClientKeys = new OpenIdConnectApplicationSettingsClientKeys();
openIdConnectApplicationSettingsClientKeys.setKeys(this.jsonWebKeyList);
if (!schemasJsonWebKeys.isEmpty()) {
com.okta.sdk.resource.model.OpenIdConnectApplicationSettingsClientKeys openIdConnectApplicationSettingsClientKeys = new com.okta.sdk.resource.model.OpenIdConnectApplicationSettingsClientKeys();
openIdConnectApplicationSettingsClientKeys.setKeys(schemasJsonWebKeys);
openIdConnectApplicationSettings.getOauthClient().setJwks(openIdConnectApplicationSettingsClientKeys);
}

Expand Down
Loading