- Fix registration status misreporting when an enrollment policy auto-challenges a single authenticator (e.g. email)
- Add SkipPasswordChangeAsync to allow users in password warn state to proceed with authentication without a password change.
- Fix issue: Getting exception instead of PasswordExpired status
- Fix issue: "RecoverPasswordAsync fails when used with a RecoveryToken"
- Fix Reversing Labs scan in CI pipeline
- Move away from orb-defined jobs when running static analysis tooling
- Update System.Text.Json
- Update dependencies to resolve vulnerabilities in sample apps
- Add reversing labs scan to CI pipeline
- Ensure external IdP list is returned correctly
- Make some properties virtual to enable unit tests
- Fix issue: "Multiple OV pushes when RLUF is enabled."
- Update vuln dependencies
- Add support for the activation token flow
- Add IdxClientBuilder to simplify configuration of IdxClient.
- Add PasswordWarnStateResolver to account for password warn state.
- Add CustomPasswordWarnStateResolver enabling custom resolution of password warn state.
- Check password warn state on skip to prevent exception.
- Include (password) complexity in response when present.
- Fix NullReferenceException in SignInWidgetConfiguration deserialization.
- Add
Authenticator.DisplayNameproperty to expose authenticator's friendly name.
- Fix issue with
AuthenticateAsync()method failing when a Users Password is in Warn Before Expires State (#182). - Marking
AuthenticationResponse.MessageToUseras deprecated.
- Fix issue with Phone factor when enrolled with multiple contact numbers (#169)
- Fix issue with Reset password workflow (#174)
- Properly initialize PollResponse with json data received from server after polling related method calls.
- Add Okta Verify number challenge support.
- Fix Okta Verify push notification not sent if "send push automatically" is unchecked.
- Added support for login_hint and ACR values.
- Properly handle Okta Verify push rejection.
- Send method type when selecting email as a challenge authenticator to avoid additional email selection.
- Add support for security question.
- Add support for sending device token, user agent and IP address headers in methods that bootstraps a new authentication flow. The device token via client configuration has been deprecated.
- Add support for optional Password.
- SSPR process fails for Embedded SDK sample.
- Add support for Google Authenticator TOTP.
- Add support for WebAuthn
- Add support for Okta Verify
- Add support for Device Token configuration
- Add support for Recovery Token
- Add support for Activation Token
- Remove FlexibleConfiguration dependency, use Microsoft Configuration instead.
- SDK is now GA.
- Add support for internationalization.
- Update SIW version to 5.8.1.
- Remove css-related
Classproperty fromIMessageinterface andMessageclass.
- Validate that URIs are valid. (#98)
- Reinit SIW on interaction required. (#103)
- Add support to resend code during MFA.
- Add new methods to represent different actions in the authentication flow.
- Add ASP.NET 4.8 samples showing how to use the SDK.
-
Task<AuthenticationResponse> ChangePasswordAsync(ChangePasswordOptions changePasswordOptions, IIdxContext idxContext, CancellationToken cancellationToken = default); -
Task<TokenResponse> RedeemInteractionCodeAsync(IIdxContext idxContext, string interactionCode, CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> AuthenticateAsync(AuthenticationOptions authenticationOptions, CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> RecoverPasswordAsync(RecoverPasswordOptions recoverPasswordOptions, CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> VerifyAuthenticatorAsync(VerifyAuthenticatorOptions verifyAuthenticatorOptions, IIdxContext idxContext, CancellationToken cancellationToken = default); -
Task RevokeTokensAsync(TokenType tokenType, string token, CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> RegisterAsync(UserProfile userProfile, CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> SelectEnrollAuthenticatorAsync(SelectEnrollAuthenticatorOptions enrollAuthenticatorOptions, IIdxContext idxContext, CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> SelectRecoveryAuthenticatorAsync(SelectAuthenticatorOptions selectAuthenticatorOptions, IIdxContext idxContext, CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> EnrollAuthenticatorAsync(EnrollPhoneAuthenticatorOptions enrollAuthenticatorOptions, IIdxContext idxContext, CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> SelectChallengeAuthenticatorAsync(SelectAuthenticatorOptions selectAuthenticatorOptions, IIdxContext idxContext, CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> SelectChallengeAuthenticatorAsync(SelectPhoneAuthenticatorOptions selectAuthenticatorOptions, IIdxContext idxContext, CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> ChallengeAuthenticatorAsync(ChallengePhoneAuthenticatorOptions challengeAuthenticatorOptions, IIdxContext idxContext, CancellationToken cancellationToken = default); -
Task<WidgetSignInResponse> StartWidgetSignInAsync(CancellationToken cancellationToken = default); -
Task<AuthenticationResponse> SkipAuthenticatorSelectionAsync(IIdxContext idxContext, CancellationToken cancellationToken = default); -
Task<IdentityProvidersResponse> GetIdentityProvidersAsync(string state = null, CancellationToken cancellationToken = default); -
Task<IdentityProvidersResponse> GetIdentityProvidersAsync(IIdxContext idxContext, CancellationToken cancellationToken = default);
- Update
InteractAsync()method to support passing an existing state - Expose the
statein theIdxContext
- Add support for password recovery
- Update the client to allow for continuing a flow from any point
- Move the creation of the PKCE codeVerifier into
InteractAsync()instead of the client constructor
InteractAsyncnow returns anIdxContext- Remove accessor of the
IdxContextfrom the client ExchangeCodeAsync()now requires anIdxContextto exchange tokens
New models: AuthenticatorEnrollment, AuthenticatorEnrollmentValue, Recover and AuthenticatorEnrollmentMethod.
- Initial version with basic functionality:
InteractAsync()IntrospectAsync()CancelAsync()RemediationOption.ProceedAsync()IdxResponse.SuccessWithInteractionCode.ExchangeCode()