Commit graph

360 commits

Author SHA1 Message Date
Will Hunt
5de92b68d9 Show a specific error for hs_disabled 2021-01-27 11:39:57 +00:00
J. Ryan Stinnett
e49a931588
Merge pull request #5533 from aaronraimist/security-key
Change a bunch of strings from Recovery Key/Phrase to Security Key/Phrase
2021-01-21 17:46:02 +00:00
J. Ryan Stinnett
a73fe72b09 Fix soft crash on soft logout page
This fixes a soft crash on the soft logout page, which can occur if it is shown
very quickly after app startup before encryption has become enabled.
2021-01-13 12:25:36 +00:00
Aaron Raimist
b81e6fdedb
Update src/components/structures/auth/SetupEncryptionBody.js
Co-authored-by: J. Ryan Stinnett <jryans@gmail.com>
2021-01-12 16:04:43 -06:00
Aaron Raimist
4f96d5dee5
Change a bunch of strings from Recovery Key/Phrase to Security Key/Phrase
Signed-off-by: Aaron Raimist <aaron@raim.ist>
2021-01-04 19:17:17 -06:00
Michael Telatynski
4c2b6f410b fix tests 2020-12-16 10:41:56 +00:00
Hubert Chathi
753ec9e45a use random pickle key on all platforms, and store access token encrypted in IDB 2020-12-09 18:40:31 -05:00
Michael Telatynski
26e1cdb82c Update i18n 2020-12-01 12:04:41 +00:00
Michael Telatynski
5f03cbd88f Iterate PR some more 2020-11-26 15:45:15 +00:00
Michael Telatynski
c4084196d1 delint 2020-11-25 10:39:44 +00:00
Michael Telatynski
1b1c482f9c Iterate tests 2020-11-25 10:22:16 +00:00
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