Running changelog of releases since 3.1.1
- Factors Api doesn't return factors setup on users (#650)
- AppAndInstanceConditionEvaluatorAppOrInstance ID property setter is private (#718)
- PolicyRule does not allow a null Priority to be specified. (#719)
- ApiTokenApi
- ListApiTokens
- parameters removed.
- ListApiTokens
- ApplicationTokensApi
- ListOAuth2TokensForApplication
- return type OAuth2Token changed to OAuth2RefreshToken.
- GetOAuth2TokenForApplication
- return type OAuth2Token changed to OAuth2RefreshToken.
- ListOAuth2TokensForApplication
- ApplicationUsersApi
- AssignUserToApplication
- parameter of type AppUser changed to AppUserAssignRequest.
- UpdateApplicationUser
- parameter of type AppUser changed to AppUserUpdateRequest.
- AssignUserToApplication
- AuthenticatorApi
- ListAuthenticators
- return type Authenticator changed to AuthenticatorBase
- ListAuthenticators
- AuthorizationServerKeysApi
- ListAuthorizationServerKeys
- return type collection of JsonWebKey changed to collection of AuthorizationServerJsonWebKey.
- RotateAuthorizationServerKeys
- return type collection of JsonWebKey changed to collection of AuthorizationServerJsonWebKey.
- ListAuthorizationServerKeys
- CustomTemplatesApi
- ListEmailTemplates
- return type EmailTemplate changed to EmailTemplateResponse.
- GetEmailTemplate
- return type EmailTemplate changed to EmailTemplateResponse.
- GetEmailSettings
- return type EmailSettings changed to EmailSettingsResponse.
- ListEmailTemplates
- ThemesApi
- ReplaceBrandTheme
- parameter of type Theme changed to UpdateThemeRequest
- ReplaceBrandTheme
- DeviceApi
- ListDevices
- return type collection of Device changed to collection of DeviceList.
- ListDevices
- ApplicationConnectionsApi
- GetDefaultProvisioningConnectionForApplication
- return type ProvisioningConnection changed to ProvisioningConnectionResponse
- UpdateDefaultProvisioningConnectionForApplication
- return type ProvisioningConnection changed to ProvisioningConnectionResponse
- GetDefaultProvisioningConnectionForApplication
- AuthenticatorApi methods that previously returned Authenticator now return AuthenticatorBase.
- GroupApi
- ListGroupUsers
- return type collection of User changed to collectio of GroupMember.
- ListGroupUsers
- RealmApi
- CreateRealm
- parameter of type Realm changed to CreateRealmRequest.
- CreateRealm
- UserFacorApi
- ResendEnrollFactor
- parameter of type UserFactor changed to ResendUserFactor.
- return type UserFactor changed to ResendUserFactor.
- GetFactorTransactionStatus
- return type VerifyUserFactorResponse changed to UserFactorPushTransaction
- VerifyFactor
- parameter of type VerifyFactorRequest changed to UserFactorVerifyRequest
- return type VerifyUserFactorResponse changed to UserFactorVerifyResponse
- ResendEnrollFactor
- AuthorizationServerApi functionality is now broken out into more specific API classes.
- GroupOwnerApi contains functionality previously in GroupsApi.
- CustomizationApi is replaced by CustomTemplatesApi, CusomPagesApi and BrandsApi.
- RealmApi.UpdateRealm is replaced by RealmApi.ReplaceRealm.
- ProvisioningConnection is replaced by ProvisioningConnectionRequest & ProvisioningConnectionResponse.
- VerifyFactorRequest is replaced by UserFactorVerifyRequest
- VerifyUserFactorResponse is replaced by UserFactorVerifyResponse
- SchemaApi methods removed:
- GetAppUISchemaLinksAsync
- UserApi methods removed:
- SetLinkedObjectForUser
- ApiTokenApi methods added:
- UpsertApiToken
- ApplicationConnectionsApi methods added:
- VerifyProvisioningConnectionForApplication
- AuthorizationAssocApi is a new API to maange authorization server associations.
- AuthorizationServerClaimsApi is a new API to manage authorization server claims.
- AuthroziationServerClientsApi is a new API to manage authorization server clients.
- AuthorizationServerKeysApi is a new API to manage authorization server keys.
- AuthorizationServerPoliciesApi is a new API to manage authorization server policies.
- AuthorizationServerRulesApi is a new API to manage authorization server rules.
- AuthorizationServerScopesApi is a new API to manage authorization server scopes.
- ApplicationGroupsApi methods added:
- UpdateGroupAssignmentToApplication overload accepting a list of JsonPathOperation objects.
- BrandsApi is a new API to manage brands.
- CustomTemplatesApi is new API to manage custom templates.
- CustotmPagesApi is new API to manage custom pages.
- DirectoriesIntegrationApi is a new API to manage AD integrations.
- GroupOwnerApi is a new API to manage group owners.
- InlineHookApi methods added:
- UpdateInlineHook
- OktaApplicationSettingsApi is a new API to manage Okta application settings.
- ThemesApi is a new API to manage themes.
- OrgSettingApi methods added:
- GetThirdPartyAdminSetting
- UpdateThirdPartyAdminSetting
- GetClientPrivilegesSetting
- AssignClientPrivilegesSetting
- RealAssignmentApi is a new API to manage realm assignments.
- SSFReceiverApi is a new API to manage the consumption of security events.
- SSFSecurityEventTokenApi is a new API to manage security event tokens.
- SSFTransmitterApi is a new API to manage security event transmitters.
- SessionApi methods added:
- GetCurrentSession
- CloseCurrentSession
- RefreshCurrentSession
- UserApi methods added:
- ReplaceLinkedObjectForUser
- ListLinkedObjectsForUser
- DeleteLinkedObjectForUser
- AttackProtectionApi methods added:
- GetAuthenticatorSettings
- ReplaceAuthenticatorSettings
- RoleAssignmentApi methods added:
- ListRolesForClient
- AssignRoleToClient
- Add support for OAuth 2.0 DPoP (#697)
- Fix "UserSchemaAttributes minLength and maxLength are non-nullable and cause array schema attribute creation to fail." issue (#702)
- Fix "Unable to access Links (_links) in version 7 for an IdentityProvider when using GetIdentityProviderAsync/CreateIdentityProviderAsync" (#700)
- Rollback
PolicyCanBeCreatedOrUpdated
schema changes - Remove obsolete methods for
IdentityProviderPolicy
- Update
AppAndInstanceConditionEvaluatorAppOrInstance.Id
readonly property from true to false (#716)
- Update OAS3 with the latest IdP Discovery policy changes.
IdentityProviderPolicy
will no longer inherit from Policy in the major release. The inheritance has been marked as obsolete.- The following
PolicyApi
methods have been marked as obsolete, and will be removed in the next major version:System.Threading.Tasks.Task<Policy> CreatePolicyAsync(Policy policy, bool? activate = default(bool?), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
System.Threading.Tasks.Task<ApiResponse<Policy>> CreatePolicyWithHttpInfoAsync(Policy policy, bool? activate = default(bool?), System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
System.Threading.Tasks.Task<Policy> ReplacePolicyAsync(string policyId, Policy policy, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
System.Threading.Tasks.Task<ApiResponse<Policy>> ReplacePolicyWithHttpInfoAsync(string policyId, Policy policy, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
They will be replaced by the following ones:System.Threading.Tasks.Task<PolicyCanBeCreatedOrReplaced> CreatePolicyAsync( PolicyCanBeCreatedOrReplaced policy , bool? activate = default(bool?) , System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
System.Threading.Tasks.Task<ApiResponse<PolicyCanBeCreatedOrReplaced>> CreatePolicyWithHttpInfoAsync( PolicyCanBeCreatedOrReplaced policy , bool? activate = default(bool?) , System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
System.Threading.Tasks.Task<Policy> ReplacePolicyAsync(string policyId, Policy policy, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
System.Threading.Tasks.Task<ApiResponse<Policy>> ReplacePolicyWithHttpInfoAsync(string policyId, Policy policy, System.Threading.CancellationToken cancellationToken = default(System.Threading.CancellationToken));
- Fix "API Gap - IdP Discovery Policy Rule does not exist" issue (#687)
- Downgrade
System.IdentityModel.Tokens*
dependencies from 7.2.0 to 6.35.0 to avoid breaking changes (#692)
- Update vulnerable
System.IdentityModel.Tokens.Jwt
dependency (OKTA-683207) - Fix "Missing application settings when fetching SamlApplication" (#644)
- Fix "Missing data in verifyFactorRequest prevents verifying webauthn" (OKTA-656179)
- Fix "JTI Claim as a string instead of guid" (#682)
- Fix "Incosistent Exception Handling" issue (#658)
- Fix "Update UserType.Id to be editable" issue (#660)
- Fix "Nuget package missing license information" issue (#667)
- Fix "VerifyUserFactorResponse doesn't correspond with the server's response" (#665)
- Upgraded the RestSharp dependency from
106.13.0
to110.2.0
(#606) - Upgraded the Okta management OpenAPI specification to be aligned with the Okta release v2023.07.0.
- New API clients added:
ApiServiceIntegrationsApi
ApplicationSSOApi
AttackProtectionApi
EmailServerApi
IdentitySourceApi
RealmApi
UISchemaApi
- Check out the MIGRATING guide for more details about migrating to 7.0.0
- Fix "Create/Update Account returns NULL when okta tenant hits rate limits" issue (#638)
- Fix "DeleteFactorAsync not removing phone with removeEnrollmentRecovery" issue (#630)
- Fix "ChangePasswordRequest.revokeSessions does not exist" issue (#624)
- Fix "Retrieving Group no Longer Retrieves Additional Profile Data" issue (#634)
- Fix "API Calls Trap Request Timeout Exceptions" issue (#632)
- Fix "Resend SMS as part of enrollment" issue (#633)
- Update
IamRoles.Permissions
object type fromObject
toHrefObject
. - Add
IamRoles.Self
property.
- Fix "UpdateProfileMappingAsync doesn't update properties" issue (#618)
- Fix "UpdateUserAsync should allow updating the user type" issue (#615)
- Fix ResourceSet API and keep previous interface marked as obsolete for backwards compatibility.
- Fix "SDK calls with private key authorization mode start returning empty results after inner access token expired" issue (#616)
- Fix "PartialUpdateUserAsync behaves differently in Okta.Sdk v6" issue (#614)
- Ignore null values during JSON serialization.
- Fix "Listing IAM roles doesn't work" (#617)
- Fix "Pagination not working when using PrivateKey Authorization Mode" issue (#613)
- Make
AppUser.PasswordChanged
property nullable (#599) - Fix "invalid audience" issue (#600)
- Add support for StringEnum
- Update OpenAPI spec
- Add support for OAuth for Okta
- Add support for Proxy configuration
- Add support for dynamic properties
- Update Open API spec to 3.0.0
- Migrate from Okta-custom generator to openapi-generator.tech/
- Check out the MIGRATING guide for more details about migrating to 6.0.0
- Add
search
parameter toGroupsClient.ListGroups
to align with documentation
- Pass
HttpClient
toDefaultOAuthTokenProvider
(#571)
- Update Open API spec to 2.12.0
- Add
Application.UpdateApplicationPolicyAsync
method - Add
APPLE
as aLogCredentialProvider
option - Add support for
AllowedOktaApps
in Scopes - Add
IframeEmbed
as aScopeType
option
- Add support for Email template operations.
- Fix the issue "SDK doesn't retry a call to the server when the token has expired" (PrivateKey mode) (#535)
- Add support for Application provisioning connection operations
- Add suport for Application features operations
- Add support for Org2Org applications.
- Fix Unable to create OktaClient on linux build server after 5.2.1 upgrade. (#526)
- Add
VerifyUserFactorResponse.GetTransactionId
method to simplify access to the transaction ID of theVerifyUserFactorResponse
where appropriate. The transaction ID is further used with theGetFactorTransactionStatusAsync
operation. See Issue a Push Factor challenge for details. (#507)
- Add ability to use pre-requested access tokens for authentication (#508)
- Regenerate code using the open API spec v2.9.2
- Add new models and operations to support Brands API's endpoints
- Add new models and operations to support OIE policies
Group.AssignRoleAsync(IAssignRoleRequest assignRoleRequest, string disableNotifications, CancellationToken cancellationToken = default(CancellationToken));
is not marked as obsolete. UseGroup.AssignRoleAsync(IAssignRoleRequest assignRoleRequest, bool? disableNotifications = null, CancellationToken cancellationToken = default(CancellationToken));
instead.UsersClient. AssignRoleToUserAsync(IAssignRoleRequest assignRoleRequest, string userId, string disableNotifications, CancellationToken cancellationToken = default(CancellationToken));
is not marked as obsolete. UseUsersClient. AssignRoleToUserAsync(IAssignRoleRequest assignRoleRequest, string userId, bool? disableNotifications = null, CancellationToken cancellationToken = default(CancellationToken));
instead.
- Remove FlexibleConfiguration dependency and use .NET Configuration Providers instead.
- Regenerate code using the open API spec v2.6.0
- Add new models and operations to support the following:
- Domains API's endpoints
- Zones API's endpoints
- Mappings API's endpoints
- ThreatInsight configuration API's endpoints
- Authenticators API's endpoints
- Org API's endpoints
- GroupSchema API's endpoints
- Add an overload for
GroupsClient.DeleteGroupRuleAsync
method. Now you can specifyremoveUsers
parameter indicating whether to keep or remove users from groups assigned by this rule.
- Fix GroupsClient.ListGroups
filter
parameter doesn't work. Replaced withsearch
parameter. - Fix AuthorizationServerPolicyRule.ActivateAsync doesn't work.
- Change JWT Expiration time - 50 minutes will be used in order to have a 10 minutes leeway in case of clock skew.
- Update dependencies
FlexibleConfiguration 1.2.2 -> 2.0.0
Microsoft.Extensions.Logging 3.1.1 -> 5.0.0
System.IdentityModel.Tokens.Jwt 5.6.0 -> 6.11.1
Newtonsoft.Json 12.0.3 -> 13.0.1
System.Interactive.Async 4.0.0 -> 5.0.0
- Regenerate code using the open API spec v2.3.0.
- Add new models and operations to support all the UserSchema API's endpoints.
New models:
- UserSchema
- UserSchemaAttribute
- UserSchemaAttributeMaster
- UserSchemaAttributePermission
- UserSchemaBase
- UserSchemaBaseProperties
- UserSchemaDefinitions
- UserSchemaPublic
- UserSchemasClient
- Change in default behavior when serializing resources (JSON objects). Previously, null resource properties would result in a resource object with all its properties set to
null
. Now, null resource properties would result innull
property value.
Before:
{ deserializedResource.Prop1.Should().Be("Hello World!");
prop1 : "Hello World!", => deserializedResource.NestedObject.Should().NotBeNull();
nestedObject: null deserializedResource.NestedObject.Prop1.Should().BeNull();
}
Now:
{ deserializedResource.Prop1.Should().Be("Hello World!");
prop1 : "Hello World!", => deserializedResource.NestedObject.Should().BeNull();
nestedObject: null
}
- Add new models for Authorization Server Policies and Policy Rules
- Fix AuthorizationServer.Policy.ListPolicyRules 404 error (#415). This fix requires a breaking change.
- Fix "New IApplication.Profile doesn't save when empty" issue (#319).
- Regenerate code using openapi 2.1.6
- Add
RefreshToken
property toOpenIdConnectApplicationSettingsClient
- Add
Jwks
property toOpenIdConnectApplicationSettingsClient
- New models:
OpenIdConnectRefreshTokenRotationType
andOpenIdConnectApplicationSettingsRefreshToken
- Add
expand
property back toGroupsClient.ListGroups
method (#447)
- Add helper method to create users with imported hashed password (#402)
- Add helper methods to create policy rules (#287)
- Add
TryGetHomePath
method to avoid throwing an exception if HOME environment variable is missing (#316)
- Fix code samples in the README file.
- Expose
TrustedOrigins
client in theOktaClient
(#413)