Commit graph

349 commits

Author SHA1 Message Date
Michael Telatynski
758b47c64d Replace *ServerConfig and SignInToText with ServerPicker 2020-11-25 09:46:56 +00:00
Michael Telatynski
6a315e80b6 Improve auth error messages 2020-11-25 09:24:24 +00:00
Michael Telatynski
2f64160a0e Remove backwards compatibility in ServerConfig for m.require_identity_server 2020-11-25 09:00:31 +00:00
Michael Telatynski
f7d7182dc9 Iterate Multi-SSO support 2020-11-24 12:09:11 +00:00
Michael Telatynski
1d53a5cf23 Initial support for MSC2858 2020-11-24 11:18:11 +00:00
Michael Telatynski
613710b75c Iterate Auth copy 2020-11-23 17:01:35 +00:00
Michael Telatynski
d85b5b6e2b delint & post-rebase fixes 2020-11-20 13:34:44 +00:00
Michael Telatynski
d45d0c6633 Convert Registration to Typescript 2020-11-20 13:23:10 +00:00
Michael Telatynski
7243ba0fe2 Convert Login to Typescript 2020-11-20 13:23:10 +00:00
Michael Telatynski
85fbc6d89f Consolidate PasswordLogin state and input control/ownership
previously data was stored in two places which drifted
2020-11-20 13:23:10 +00:00
Michael Telatynski
0b74d3a0ef Use field validation for PasswordLogin instead of global errors 2020-11-20 13:23:10 +00:00
Michael Telatynski
11fb081f7a
Merge pull request #5423 from matrix-org/t3chguy/sso
Redirect user home from auth screens if they are already logged in
2020-11-18 15:49:47 +00:00
Michael Telatynski
6a3049b90f Remove old unused views/paths 2020-11-16 15:40:56 +00:00
Michael Telatynski
0911007c77 fix issue with server selector introduced in this PR 2020-11-11 17:12:27 +00:00
Michael Telatynski
edb5e10506 Iterate registration to simplify it based on usertesting 2020-11-11 17:04:10 +00:00
Travis Ralston
cbd568a1e8
Merge pull request #5371 from resynth1943/change-password-to-new-password-in-forgot-password
Change "Password" to "New Password"
2020-11-04 12:15:49 -07:00
Resynth
a74f4fa25e Change "Password" to "New Password"
Doesn't solve most issues in the Forgot Password menu, but clears up the
UI a little. "New Password" makes more sense here, as "Password" may
suggest to the user that they have to enter the password they forgot.

Signed-off-by: Resynth <resynth1943@tutanota.com>
2020-10-30 16:05:35 +00:00
Michael Telatynski
c3a355097d Initial Countly work 2020-10-29 15:57:16 +00:00
J. Ryan Stinnett
ec4bf0c057
Merge pull request #5219 from matrix-org/jryans/defer-cross-signing-setup
Defer encryption setup until first E2EE room
2020-09-18 10:28:33 +01:00
Michael Telatynski
d340dd58d1 UI Feature Flag: Registration, Password Reset, Deactivate 2020-09-17 11:55:10 +01:00
J. Ryan Stinnett
46f37fb969 Create cross-signing keys during authentication
With this change, Element now creates cross-signing keys during auth flows for
password login. For other auth flows like token / SSO, it will not happen until
a cross-signing / secret storage dialog flow as before.
2020-09-16 15:03:06 +01:00
J. Ryan Stinnett
7bd5e3fa31 Move security-related dialogs to a common directory 2020-09-16 15:03:06 +01:00
Michael Telatynski
8d03799ffe Fix create-react-class regression.
Can't call setState in c'tor
2020-09-08 16:51:55 +01:00
Michael Telatynski
646c9f1a83 Fix this contexts 2020-08-29 13:19:05 +01:00
Michael Telatynski
517dee413e Delint 2020-08-29 12:57:11 +01:00
Michael Telatynski
34b960d8cb fix naming conflict 2020-08-29 12:17:50 +01:00
Michael Telatynski
72498df28f Remove create-react-class 2020-08-29 12:14:16 +01:00
J. Ryan Stinnett
ce226ab534 Replace Riot with Element in docs and comments
This only covers the simple cases of references to issues and repos. More
complex areas, such as deployment scripts, will be handled separately.

Part of https://github.com/vector-im/element-web/issues/14864
2020-08-03 18:33:36 +01:00
David Baker
f3320f5041 Fix key backup warning on soft logout page
It always showed the warning (if you had at least one session key
in your store) because flagAllGroupSessionsForBackup returns the
number of keys pending backup after flagging them all for backup,
ie. all of them. Seems like the intention was to only show the
warning if there were keys that had not yet been backed up.

Fixes https://github.com/vector-im/riot-web/issues/14829
Requires https://github.com/matrix-org/matrix-js-sdk/pull/1429
2020-07-30 19:09:47 +01:00
J. Ryan Stinnett
9085627a28 Use brand name from config in all strings 2020-07-10 19:57:01 +01:00
Michael Telatynski
538c853149
Merge pull request #4838 from matrix-org/t3chguy/hf1
Fix Welcome.html CAS and SSO URLs not working
2020-06-26 09:09:39 +01:00
Michael Telatynski
1c00ae8dd3 Move to mx_sso_hs_url and co for sso persistance to not conflict with guest creds
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-25 21:59:46 +01:00
J. Ryan Stinnett
3829362754 Fix up merge to develop 2020-06-23 15:24:02 +01:00
RiotRobot
6161f95434 Merge branch 'master' into develop 2020-06-23 15:18:35 +01:00
David Baker
a1592704a2 Unused code & import 2020-06-19 17:17:04 +01:00
David Baker
3f936a1fe4 Merge remote-tracking branch 'origin/develop' into dbkr/support_no_ssss 2020-06-19 16:50:29 +01:00
David Baker
e4d824839a Revert "Use recovery keys over passphrases" 2020-06-18 15:02:03 +01:00
David Baker
e0a34d9dea
Revert "Use recovery keys over passphrases" 2020-06-18 09:35:11 +01:00
David Baker
b02e439b8b Matrix client is no longer returned by onLoggedIn
It seems non-obvious that it should do, and the doc saying it should
do seems to have disappeared.
2020-06-15 15:18:57 +01:00
David Baker
68e555a0c6 Support accounts with cross signing but no SSSS
At least at the login stage.

Fixes https://github.com/vector-im/riot-web/issues/13894
2020-06-05 16:40:20 +01:00
David Baker
b82a893a79 Merge remote-tracking branch 'origin/develop' into dbkr/recovery_keys_over_passphrases 2020-06-05 16:00:43 +01:00
Michael Telatynski
899f9ede45 change names of consts for clarity
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-03 20:23:01 +01:00
David Baker
b83ecb1781 Merge remote-tracking branch 'origin/develop' into dbkr/recovery_keys_over_passphrases 2020-06-02 18:53:54 +01:00
David Baker
0046e204a0 Make the continue button actually work 2020-06-02 18:30:37 +01:00
David Baker
5624cf5ceb Add option to reset keys to the encryption setup screen 2020-06-02 17:55:27 +01:00
David Baker
e06ba2003b Prompt for recovery key on login rather than passphrase
Only show passphrase options at all if the user has a passphrase on
their SSSS key.
2020-06-02 16:32:15 +01:00
Michael Telatynski
113a9d71b5 Fix login loop where the sso flow returns to #/login
due to fragmentAfterLogin going back to `#/login`
and https://github.com/vector-im/riot-web/issues/11643

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-06-02 16:26:07 +01:00
Travis Ralston
9e2d80b8c8 Update documentation and auth dict submissions 2020-05-27 13:16:49 -06:00
Travis Ralston
81cae66732 Merge branch 'develop' into fix-register-auth-with-new-spec 2020-05-27 12:02:46 -06:00
Travis Ralston
798e7a1f86 Merge branch 'develop' into travis/dispatcher-types 2020-05-15 09:56:02 -06:00
David Baker
523067e5f9 Make email auth component fail better if server claims email isn't validated
https://github.com/matrix-org/synapse/issues/7512 means that (at least)
sometimes after clicking on the email validation link and being redirected
to riot, the server will claim the email identity auth stage is still incomplete.

This meant that we displayed the email identity UIA component but with an empty
email address, because we don't know that in the new session. Work around this by
assuming that if the email UIA component is being displayed but we don't have an
email address input, the link has been clicked and we're just waiting for the poll.

Also don't fire off an initial register request if we're already mid-UI-auth, because
that's confusing and unnecessary.

Also also remove unused requestingToken state.

Fixes https://github.com/vector-im/riot-web/issues/13434
2020-05-15 13:32:12 +01:00
Travis Ralston
90a898d03f Move dispatcher into a subdirectory
We're expecting to have a whole bunch of types for the dispatched payloads, so pull the thing into a directory we can throw them in.
2020-05-13 21:07:50 -06:00
Michael Telatynski
d8b6b7b976 Pass screenAfterLogin through SSO in the callback url
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-13 06:24:04 +01:00
Michael Telatynski
c2dcb60f0b Prompt user to specify an alternate server if their chosen one has registration disabled
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-11 20:10:45 +01:00
J. Ryan Stinnett
5af3d83cc7 Fix recovery link on login verification flow
This fixes the recovery link to go to the right place.

Fixes https://github.com/vector-im/riot-web/issues/13346
2020-04-23 18:14:30 +01:00
Michael Telatynski
80b8120bc3 Update login security copy and design to match Figma
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-22 22:32:02 +01:00
Michael Telatynski
ce78e3b8d8 further tweaks by Matthew
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-16 13:28:12 +01:00
Michael Telatynski
1fb0f39c84 Replace Verify this session and Complete security
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-16 13:23:01 +01:00
Michael Telatynski
a9a2999ccc Use recovery passphrase and recovery key everywhere
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-16 12:26:12 +01:00
Michael Telatynski
81f501e844 disable language dropdown too
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-15 14:19:47 +01:00
Michael Telatynski
ac26719b69 disable password reset button when spinning
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-15 14:07:37 +01:00
Michael Telatynski
346b2e8588 Login block on initialSync with spinners
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-15 12:21:49 +01:00
Bruno Windels
db09cadb66 remove spinner, change copy, add button placeholder 2020-04-14 17:19:15 +02:00
Marcel
9820400680
Update src/components/structures/auth/Registration.js
Co-Authored-By: Travis Ralston <travpc@gmail.com>
2020-04-08 20:53:05 +02:00
Marcel
e3d1cf8d84 Replace {} with null to be compliant with newer specs. While older also accepted null for the auth part of the registration request object
Took 18 minutes
2020-04-05 20:55:26 +02:00
David Baker
705fd57a4b Fix spurious extra devices on registration
We send a parameter to prevent being immediately logged in after
registration, but we regressed it from snake case to camelcase
during the course of cross-signing dev.

Fixes https://github.com/vector-im/riot-web/issues/12865
2020-04-02 15:09:33 +01:00
Travis Ralston
47e5cfecf2 Silence usages of componentWillReceiveProps
For https://github.com/vector-im/riot-web/issues/12877
2020-04-01 14:35:39 -06:00
Travis Ralston
0fcbe40bec
Merge pull request #4314 from matrix-org/travis/react-warnings/2-code-quality
Fix a number of minor code quality issues
2020-04-01 11:13:46 -06:00
Travis Ralston
8f04746e4e Revert to UNSAFE_componentWillMount where componentDidMount will not work 2020-04-01 11:05:49 -06:00
Travis Ralston
3f99332f4b Use componentDidMount in place of componentWillMount where possible
This fixes a common React warning we see. Most of these components should be using constructors instead, however componentDidMount is just as good (and doesn't require converting most of these).

Conversion to classes will be done in a later stage of React warning fixes.

For https://github.com/vector-im/riot-web/issues/12877
2020-03-31 14:14:17 -06:00
Travis Ralston
c86d75693b Fix a number of minor code quality issues
Most of these are complaints from my IDE. Discovered by going through nearly every file looking for React warnings.
2020-03-31 14:05:56 -06:00
Michael Telatynski
19aae087e0 Field: make id optional, generate one if not provided
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-29 22:59:15 +01:00
Bruno Windels
78b167a7ea fix typo 2020-03-25 13:40:09 +01:00
Bruno Windels
792a7b3953 don't throw here 2020-03-25 13:07:07 +01:00
Bruno Windels
4ff847c8a3 put CompleteSecurity state management in store
and split off a child component (SetupCrossSigningBody) that can
be reused from the "Verify this session" toast.
2020-03-24 16:10:15 +01:00
J. Ryan Stinnett
fac4561ac8
Merge pull request #4225 from matrix-org/jryans/comp-sec-restore-slow
Restore key backup in background after complete security
2020-03-17 16:47:18 +00:00
J. Ryan Stinnett
c245c6932c Restore key backup in background after complete security
We were blocking the complete security flow on waiting for a key backup restore
to complete, which could take multiple minutes with no visible progress.

Fixes https://github.com/vector-im/riot-web/issues/12426
2020-03-16 23:30:24 +00:00
David Baker
6c8bfe3293 Lint 2020-03-16 17:58:37 +00:00
David Baker
6c4b572c7e Wait for verification request on login
Basically just changes to the designed screen to wait for an incoming
verification request in order to verify the device & cross-sign it.

Fixes https://github.com/vector-im/riot-web/issues/11215
Fixes https://github.com/vector-im/riot-web/issues/11217
2020-03-16 17:47:56 +00:00
J. Ryan Stinnett
b5d532b8cd Test for cross-signing homeserver support during login, toasts
This adds more checking of homeserver support for cross-signing at login and in
toasts.

Fixes https://github.com/vector-im/riot-web/issues/12228
2020-03-12 18:08:51 +00:00
Travis Ralston
2204785026 Simplify SSO step checking 2020-03-04 12:26:08 -07:00
Travis Ralston
3842bce74d Fix SSO for new approach 2020-03-04 11:41:16 -07:00
Travis Ralston
3cff6d7239 Appease the linter 2020-03-03 23:26:20 -07:00
Travis Ralston
e265c92b6e Redirect registration requests to Login when the server supports SSO
For https://github.com/vector-im/riot-web/issues/12362
2020-03-03 23:24:50 -07:00
Travis Ralston
bcfe1fcac5 Wire up 'create account' to the SSO button when SSO is used
For https://github.com/vector-im/riot-web/issues/12362
2020-03-03 23:23:53 -07:00
Michael Telatynski
f08d034f84
Merge pull request #4158 from matrix-org/t3chguy/sso
riot-desktop open SSO in browser so user doesn't have to auth twice
2020-03-03 22:27:48 +00:00
J. Ryan Stinnett
88f351d5ca Keep sign in button disabled on success
This changes password login to keep the sign in button locked when proceeding
successfully to avoid the possibility of double device sign in.

Part of https://github.com/vector-im/riot-web/issues/12546
2020-03-03 10:42:08 +00:00
Michael Telatynski
f8045e428b riot-desktop open SSO in browser so user doesn't have to auth twice 2020-03-02 14:59:54 +00:00
Michael Telatynski
b2c1242207 delint
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-23 22:19:18 +00:00
Michael Telatynski
d783ce86c8 Use noreferrer in addition to noopener for edge case browsers
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-02-23 22:14:29 +00:00
Bruno Windels
8c3004c2ac to_device requests now can include .request so we might need send .ready 2020-02-10 16:19:27 +01:00
Travis Ralston
ea4d97fa73 Hack in a layout option 2020-02-10 16:19:27 +01:00
Bruno Windels
3d91ff23ec cram the EncryptionPanel in CompleteSecurity instead of IncomingSasDialog
so we get QR code support and support phases prior to STARTED
2020-02-10 16:19:27 +01:00
J. Ryan Stinnett
636b3696ed
Merge pull request #4011 from matrix-org/jryans/comp-sec-title
Add title to complete security loading
2020-01-31 13:22:22 +00:00
J. Ryan Stinnett
1a95a1d4ba Add title to complete security loading 2020-01-31 10:47:58 +00:00
David Baker
ea7f160950 lint 2020-01-31 10:38:20 +00:00
David Baker
26c9b64c3b Log exceptions from accessSecretStorage
Rather than ignoring everything assuming the user cancelled
2020-01-31 10:35:05 +00:00
David Baker
2f4b3272da Send initial device display najme on register
Fixes https://github.com/vector-im/riot-web/issues/12140
2020-01-30 11:27:54 +00:00
J. Ryan Stinnett
067bfe2ee3 Tweaks from PR 2020-01-29 16:10:46 +00:00
J. Ryan Stinnett
81ee27f41e Replace device with session in UI text
This replaces "device" with "session" throughout user-visible text at the React
layer. Variable names and comments are left as-is for now.
2020-01-29 15:52:32 +00:00