Commit Graph

51 Commits

Author SHA1 Message Date
Stefan Ceriu 3f90ef3da2 Implement login with scanned QR code flows 2022-10-12 17:27:25 +03:00
Stefan Ceriu f28a8f7537 Expose AuthenticationRestClient async login token generation method (MSC3882) 2022-10-10 09:44:22 +03:00
ismailgulek 27857f98db Login with QR UI components (#6790)
* Display QR button on login screen if HS supports

* Create start screen

* Add build flag

* Connect start screen to the login

* QR display screen

* Move `LabelledDividerView` into separate file

* Show display QR screen on button tap

* Add swift concurreny to CameraAccessManager

* Introduce `QRLoginServiceProtocol`

* Use new service in screens

* Introduce scan QR code screen

* Remove hardcoded service availability

* Remove unnecessary import

* Add confirmation screen

* Add loading screen

* Fix ZXingObjc targets

* Add failure screen

* Add strings

* Various UI tweaks, navigation according to the service state

* Fix tests

* Add string for invalid QR error

* Add QR login service mode
2022-10-06 18:05:46 +03:00
Stefan Ceriu 43c28d23b7 Configured and applied SwiftFormat 2022-09-27 12:55:44 +03:00
Doug e15e437616 Put the session creator on the main actor instead.
This covers all login and registration options.
2022-09-16 12:31:25 +01:00
Johannes Marbach f87aff8efc Fix login crash on Xcode 14 builds
Fixes #6722
2022-09-15 21:20:47 +02:00
Stefan Ceriu 53e17f9c5e Fixes #6569 - Provide SSO backup for homeservers that don't return an identity providers list. 2022-08-15 14:22:37 +03:00
Doug 3c409a632e Use the default homeserver when starting a new auth flow.
And override this when a provisioning link has been set.
2022-08-09 08:54:31 +01:00
Doug db6fd0201b Always perform the registration dummy stage immediately after the first one. 2022-07-22 14:15:06 +01:00
Doug 6a3deb4c5c FTUE tweaks
- Allow login using a phone number.
- Update the server when entering a full MXID during registration.
- Reset the authentication service back to matrix.org after onboarding completes.
- Disable zoom on ReCaptcha to fix responsiveness issue.
- Tidy up unused methods.
2022-07-19 09:22:15 +01:00
Doug 5394ed0f4a Update use case, registration and login screens.
Remove "Custom server" button from use case screen.
Remove matrix.org description.
Add username availability to registration screen.
2022-07-14 16:56:35 +01:00
ismailgulek 3ca2f97714 Merge branch 'develop' into ismail/6181_auth_soft_logout 2022-06-09 15:46:29 +03:00
ismailgulek 1e38586a4a Use softLogoutCredentials in AuthenticationService, fix blank screen before soft logout 2022-06-09 14:21:13 +03:00
ismailgulek 0a53cc4ac7 Fix PR remarks 2022-06-09 13:22:50 +03:00
Doug 3cac70742f Add an unrecognised certificate alert to the new authentication flow. 2022-06-09 09:37:57 +01:00
ismailgulek 9103ccc5d7 Add resetOthers parameter to session creator method 2022-06-08 17:22:47 +03:00
ismailgulek 017abf7dc1 Merge pull request #6250 from vector-im/ismail/6180_support_prov_links 2022-06-07 20:54:14 +03:00
ismailgulek 317a8039c6 Fix PR remarks 2022-06-07 19:48:26 +03:00
ismailgulek 55382007cf Handle provisioning links in AuthenticationService and call delegate method 2022-06-07 16:19:24 +03:00
ismailgulek 31c9ac3ed2 Add identity server to AuthenticationState 2022-06-07 16:18:54 +03:00
ismailgulek 77e8ec7e61 Inject account manager into the session creator 2022-06-06 16:15:53 +03:00
ismailgulek 82a3bac007 Make identityServer settable 2022-06-06 15:39:08 +03:00
ismailgulek e2bb13a665 Merge branch 'develop' into ismail/6177_wellknown_IS 2022-06-06 15:23:22 +03:00
Doug c3c78a51fd Add initial tests on the authentication service. (#6229) 2022-06-06 13:20:46 +01:00
ismailgulek d6b12bda99 Use identity server from well-known when creating the client 2022-06-03 18:08:19 +03:00
ismailgulek 0255518f2a Update reset password api 2022-06-01 18:59:08 +03:00
ismailgulek 97dfd7b584 Merge pull request #6210 from vector-im/ismail/6176_auth_fallback 2022-05-31 19:11:32 +03:00
Doug cc47c3c103 Merge pull request #6204 from vector-im/doug/5151_sso_login
Support SSO login in the new flow.
2022-05-31 17:05:14 +01:00
Doug aa512181b4 Merge pull request #6201 from vector-im/doug/5654_login_flow
Add login screen to new flow.
2022-05-31 17:04:50 +01:00
ismailgulek 11d743a03e Fix PR remarks 2022-05-30 19:56:23 +03:00
ismailgulek c10064fb00 Show fallback on authentication coordinator 2022-05-27 17:49:54 +03:00
ismailgulek 961e2b9b42 Fix log and warning 2022-05-26 13:52:43 +03:00
Doug 68301a85a7 Handle SSO deep links via the AuthenticationServiceDelegate. 2022-05-25 17:38:21 +01:00
Doug e9484719ec Disable the next button whilst loading a server.
Add tests for login screen.
Self review.
2022-05-24 18:03:31 +01:00
Doug 6023eb59b7 Add AuthenticationHomeserverViewData to easily map AuthenticationState.Homeserver to a type in the SwiftUI target. 2022-05-24 15:47:25 +01:00
Doug 9b5b1312d9 Make the server selection coordinator aware of which flow it is for.
Don't set the authentication state until after registration has been queried to avoid using the wrong client if the user cancelled the selection.
2022-05-24 15:47:24 +01:00
Doug 59927e278c Add AuthenticationRestClient protocol as an authentication interface to MXRestClient. 2022-05-24 10:09:24 +01:00
Doug ac755f11f5 Add initial implementation of the LoginWizard. 2022-05-24 10:09:24 +01:00
Doug a91bc3d760 Fix doc comments and callback. 2022-05-19 11:43:38 +01:00
Doug 7e4b67c57b Use ordered flow for matrix.org and (kind of) homeserver defined order otherwise. 2022-05-19 11:43:38 +01:00
Doug 68b5a9e88b Add tests for FlowResult. 2022-05-19 11:43:38 +01:00
Doug 9c5aa0ca1e Add Email/Terms/ReCaptcha into the Authentication flow
Replace ReCaptcha navigation delegate with a WKUserContentController.
Move callback property closures onto the MainActor.
Show a loading indicator whilst waiting for the authentication service to start.
Move nextUncompletedStage into FlowResult.
Handle text field actions during authentication.
Remove scroll view tweaks in server selection screen following EMS banner removal.
2022-05-19 11:43:38 +01:00
Doug 9494c3ca80 Remove iOS 13/14 checks from Template/Onboarding/Authentication. 2022-05-11 09:49:24 +01:00
Doug 576097de0e Add registration terms screen. (#6128)
Begin implementing Auth Terms coordinator.
2022-05-10 22:34:35 +01:00
Doug 769ab02818 Send the Signup analytics event (#6118)
* Implement the Signup event from AuthenticationViewController.

Use AuthenticationFlow instead of MXKAuthenticationType.
Create new AuthenticationType that aligns with AnalyticsEvent naming.
Add additional cases from AnalyticsEvents.
2022-05-06 13:08:54 +01:00
Doug 33eb847ba3 Address PR comments.
Log errors before throwing.
Remove white colour.
Remove AuthenticationCoordinatorState added during rebase.
2022-05-04 19:26:38 +01:00
Doug 95d1a2a39e Remove RegistrationFlowHandling, handling the dummy stage in the wizard. 2022-05-04 19:26:38 +01:00
Doug 661b0682c2 Allow registration on SSO only servers.
Stop using the homeserver from user defaults.
2022-05-04 19:26:38 +01:00
Doug e2136c3543 Fix authentication screens for updated service implementation. 2022-05-04 19:26:38 +01:00
Doug 282fe5c27e Add Authentication Flow WIP.
- Add Registration Screen.
- Add Server Selection Screen.
- Rename AuthenticationCoordinator to LegacyAuthenticationCoordinator.
- Add AuthenticationService and RegistrationWizard.
- Async extensions.
- Add global white and EMS colors to the themes.
- Add tests for server selection and registration screens.
- Accessibility and iPad layout tweaks.
- Remove MainActor from Auth Coordinators/VMs/Views.
(It broke the protocol conformances so now the methods and properties are marked individually.)
2022-05-04 19:26:38 +01:00