Sdks 5075 - #255
Open
rodrigoareis wants to merge 2 commits into
Open
Sdks 5075#255rodrigoareis wants to merge 2 commits into
rodrigoareis wants to merge 2 commits into
Conversation
Contributor
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
spetrov
requested changes
Sep 17, 2026
spetrov
left a comment
Contributor
There was a problem hiding this comment.
Please, update CHANGELOG.md.
Other than that changes look good to me! 👍🏻
vibhorgoswami
approved these changes
Sep 17, 2026
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
JIRA Ticket
SDKS-5075 — OATH platform divergences between iOS and Android
Description
Aligns the Android OATH module (
mfa/oath) with the iOS SDK for two confirmed platform divergences from the ticket.Changes
1. Blank-secret validation on
OathCredential(OathCredential.kt)require(secret.isNotBlank())as the first check in the existinginitvalidation block, alongside the digits/period/counter checks — matching iOS'sOathCredential.validate()which rejects empty secrets.secret=), producing a credential that could never generate codes.fromUri()(propagates asIllegalArgumentExceptionthroughOathUriParser, distinct fromInvalidUriException),fromJson(), and legacy migration (per-mechanism try/catch inauth-migrationlogs and skips, rather than failing the whole migration).2.
OathTypeserialized as lowercase (OathTypeSerializerinOathCredential.kt)serializenow emits"totp"/"hotp"(lowercase) instead of"TOTP"/"HOTP", matching iOS'sOathTyperaw values (case totp = "totp").deserializeis unchanged —OathType.fromString()lowercases input before matching, so JSON persisted by earlier SDK versions with uppercase values still deserializes correctly. A dedicated backward-compat test locks this in.Testing
IllegalArgumentException), legacy-uppercase JSON backward compat, new lowercase wire format round-trip.:mfa:oathunit tests: 73 tests, 0 failures (OathCredentialTest now 21, OathUriParserTest now 22).:mfa:auth-migrationunit tests: 47 tests, 0 failures (downstream due diligence for the constructor change).:mfa:oath:assembleDebug+assembleRelease: pass (full AAR packaging).Review notes
OathConfiguration.encryptionEnabledflag is unused by its own storage layer and could be deprecated.Note
It does not include
CHANGELOGentry to avoid merge conflict for the upcoming release. It will be added later after a rebase.