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

feat: Implement APKAM Onboarding Flow #1722

Open
wants to merge 8 commits into
base: trunk
Choose a base branch
from

Conversation

Zambrella
Copy link
Contributor

@Zambrella Zambrella commented Feb 5, 2025

What I did:

  • Introduced APKAM onboarding to support per-app, per-device PKAM keypairs.
  • Added OnboardingApkamDialog widget to handle APKAM-specific enrollment flow.
  • Modified the onboarding button logic to allow users to choose between traditional atKeys file upload and APKAM enrollment.
  • Added loading to state to starting page button
  • Added localization support with relevant strings for APKAM onboarding.

How I did it:

  • Created a new widget onboarding_apkam_dialog.dart to manage APKAM enrollment, handling OTP submission, approval, and denial statuses.
  • Updated onboarding_button.dart to prompt users to choose between APKAM or atKeys onboarding and handle their respective flows.
  • Integrated device_info_plus to fetch device name.

- How to verify it

  1. Launch the onboarding flow.
  2. Upon selecting an activated atSign, the app should prompt you to choose between uploading an atKeys file or enrolling via APKAM.
  3. Selecting APKAM:
  • Enter the OTP from the app managing your keys (or use at_activate interactive <atsign> -> otp)
  • Approve or deny (approve -i <enroll-id>)
  • Ensure the app transitions through pendingApproval, success, or denied states as expected.
  1. Verify the enrollment approval or denial from another app that holds manager keys.
  2. Check that the app stores the appropriate keys post-enrollment and can authenticate successfully.
  3. Confirm fallback to the traditional atKeys upload works without issues.

N.b. Would also be good to test the above but where the onboarding flow is interrupted part way through.

- Description for the changelog
Added APKAM onboarding flow

@Zambrella Zambrella changed the title Implement APKAM Onboarding Flow feat: Implement APKAM Onboarding Flow Feb 5, 2025
@Zambrella
Copy link
Contributor Author

Although still in draft, if someone (@XavierChanth, @CurtlyCritchlow) could have a quick look and test of the logic that would be great.

@Zambrella Zambrella marked this pull request as ready for review February 7, 2025 13:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant