- Fix AEADBadTagException issues caused by corrupt encrypted files #313
- Fix default token migration from 1.x to 2.x #314
- Allow using accessToken if idToken is missing #315
This version exposes ApplicationContextHolder for use by okta-idx-android
This is a major version release with a number of breaking API changes and new features. Please check README.md changes under the above Commits link.
- See Migrating from okta-mobile-kotlin 1.x to 2.x for a full description of how to migrate.
- The SDK now includes first class support for Biometric encryption. See Biometric Credentials
- TokenStorage interface is redefined and reimplemented. If using a custom TokenStorage, please migrate it using Token Migration guide
- OAuth APIs are instantiated differently from before. Users no longer need to manage references to OidcClient for instantiating OAuth flows.
- Internally, EncryptedSharedPreferences have been removed from the SDK, and replaced with Room DB. Encryption is done using AndroidKeyStore primitives, and SQLCipher. Migration to the new storage is handled automatically for most cases.
- Jetpack startup has been removed from the SDK. This should resolve any startup initializer issues.
- DT cookie has been removed from this SDK. That will be moved to okta-idx-android instead.
- EventCoordinator events now subclass Event class. This should make it easier to find Events.
- Added state value customization to AuthorizationCodeFlow.start #278
- DeviceTokenProvider initialization issues have been mostly fixed. A possible crash can still be encountered in case of corrupt key in keystore #278
- Updated libraries across several commits: #269 #264
- Add optional debounce functionality to browser redirect cancellation: #263
- Reorder okhttp interceptors to prioritize user-defined interceptors #265
- Fix DT (device token) cookie formatting to fix "remember device" functionality in downstream SDKs. #260
- CredentialBootstrap.reset() is now publicly visible for easier testing. #258
- Fix issues with activity lifecycle destroying browser login state. #258
- Handle possible concurrent access to SharedTokenStorage. #256
- Added DT (device token) cookie to okHttpClient for supporting "remember device" functionality in downstream SDKs. #240
- Fix a race condition caused by activity lifecycle when multiple login/logout are called too quickly. #238
- Fix a potential race when writing exceptionPairs. #222
- Add revokeAllTokens to Credential. #201
- Add support for biometric backed storage. #207
- Add Credential.tokenStateFlow. #211
- Introduce CredentialStoredEvent. #212
- Add getOrThrow method to OidcClientResult. #213
- Expose an errorIdentifier for IdTokenValidator. #214
- Add rate limit handling for network requests. #215
- Added support for amr and acr claims #175
- Support for more OpenID Providers
- Support for Device Authorization Grant slow_down #186
- Added
errorId
toAuthorizationCodeFlow.ResumeException
#184
- Updated IdTokenValidator to include an object for validation parameters #181
SessionTokenFlow
which aids migration from legacy Authn APIs.- Cache .well-known/openid-configuration results.
- Made most of
OidcConfiguration
internal, useAuthFoundationDefaults
for customization. - Add extra parameters to the
DeviceAuthorizationFlow
. - Remove the default on
Credential.revoke
. - Expose
JwtParser.parse
instead ofOidcClient.parseJwt
.
- Listen for configuration changes in
ForegroundActivity
. - Fix missing slash in SDK version.
OidcClient.refresh
no longer accepts scopes, as they are not used.- Changed the way id token validation customization happens.
- Made scope a string, rather than a set.
- Renamed metadata to tags.
- Fixed issues with non Chrome browsers.
- Eagerly error when launching a web based flow when an Activity is backgrounded.
- Properly support backgrounded internal Activities during web authentication.
- Legacy token migration - migrate tokens from okta-oidc-android, see migrate.md.
- Consumer proguard rules, allowing R8 including with full mode.
- Attempt to fix storage/crypto errors automatically.
- Emit an event when credentials are deleted.
- Added BOM to project.
- Added
CredentialBootstrap.oidcClient
to preserve ease of use.
Credential.oidcClient
is now an implementation detail, and not publicly accessible.- Minting tokens no longer automatically stores tokens, it's now an explicit action.
- Renamed
CredentialBootstrap.credential
toCredentialBootstrap.defaultCredential
.
- Fixed an issue where the chrome custom tab would linger after authentication.
- Added CredentialBootstrap for handling common
Credential
use cases. - Added a tag to OkHttp requests with the associated
Credential
.
- Simplified WebAuthenticationClient to return a Token in a single API call.
- Fixed an issue where a valid issuer might fail validation.
- Numerous bug fixes and improvements.
- Initial release!