-
Notifications
You must be signed in to change notification settings - Fork 31
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(new-login): Enterprise SSO Login UX Flows (WPB-14364) #3904
base: develop
Are you sure you want to change the base?
Conversation
…rise login [WPB-15543] (#3817)
…#3824) Co-authored-by: Michał Saleniuk <[email protected]>
) Co-authored-by: Michał Saleniuk <[email protected]>
Co-authored-by: yamilmedina <[email protected]>
Co-authored-by: yamilmedina <[email protected]>
…new-sso-login-flow # Conflicts: # app/src/main/kotlin/com/wire/android/WireApplication.kt # app/src/main/kotlin/com/wire/android/ui/home/messagecomposer/MessageComposerInput.kt # app/src/main/kotlin/com/wire/android/util/lifecycle/ConnectionPolicyManager.kt # app/src/test/kotlin/com/wire/android/util/lifecycle/SyncLifecycleManagerTest.kt # default.json # kalium
Ups 🫰🟨This PR is too big. Please try to break it up into smaller PRs. |
New ADR(s) in this PR 📚:5. Simplified enterprise loginDate: 2025-01-23 StatusAccepted ContextStarting (potentially) from Android 4.12.x the app will support the new enterprise login flows, this means in practice that the app needs to support both flows current/old. The current flow (old)Customers configure their setup manually in their backend. The new flowCustomers, via team settings and Back-office tools, will be able to load this config to facilitate the decision of which flow the user must use. This will make the app, in conjunction with the backend, decide for the user which path/flow they must use to login by just having one input field, “email or SSO code”. DecisionWe will keep both flows, the current as-is and the new one, being the app able to decide which one to use based on the configuration received from the backend. %%{
init: {
'theme': 'neutral'
}
}%%
flowchart LR
z((App loads</br> BE/API context)) --> di
di{BE supports </br>API >= 8 ?}:::someclass -- Yes --> a1
di -- No</br>OR Authenticated Proxy --> b1
classDef someclass fill:#f96
subgraph new_flow
a0@{ shape: braces, label: "These flows are selected by the app and the BE" }
a1[StartLoginScreen </br>'Enter email or SSO code'] -- looks like SSO code --> a2[Go to SSO flow path 6-7]
a1 -- Looks like an email? --> a3[BE replies which path to go 1-4]
end
subgraph current_flow
b0@{ shape: braces, label: "These flows are selected manually by the user" }
b1[WelcomeScreen] --> b2[LoginEmailScreen]
b1 --> b3[LoginWithSSOCodeScreen]
end
Consequences
|
|
Built wire-android-staging-compat-pr-3904.apk is available for download |
Built wire-android-dev-debug-pr-3904.apk is available for download |
PR Submission Checklist for internal contributors
The PR Title
SQPIT-764
The PR Description
What's new in this PR?
This PR combines all PRs created and merged to this epic branch related to the new enterprise login flow:
Solutions
All can be seen retroactively on each small PR.
Dependencies (Optional)
It uses changes from the corresponding kalium branch and PR wireapp/kalium#3309.
Needs releases with:
Testing
Test Coverage (Optional)
How to Test
Open dev build to have new flow by default (it uses anta backend) or use custom backend deeplink to switch to new one by adding
login-type=new
.PR Post Submission Checklist for internal contributors (Optional)
PR Post Merge Checklist for internal contributors
References
feat(conversation-list): Sort conversations by most emojis in the title #SQPIT-764
.