Commit graph

49 commits

Author SHA1 Message Date
J. Ryan Stinnett
29be3ee4b5 Rename login directory to auth 2019-01-21 17:45:55 -06:00
Travis Ralston
a969237dc0 Disable the submit button while .well-known is underway
To give the user a little feedback about something happening. This definitely needs to be improved in the future though.
2018-12-07 15:37:20 -07:00
Travis Ralston
6707186edc Change how the default server name and HS URL interact
They are now independent of each other. If both are specified in the config, the user will see an error and be prevented from logging in. The expected behaviour is that when a default server name is given, we do a .well-known lookup to find the default homeserver (and block the UI while we do this to prevent it from using matrix.org while we go out and find more information). If the config specifies just a default homeserver URL however, we don't do anything special.
2018-12-07 15:36:49 -07:00
Travis Ralston
633be5061c Introduce a default_server_name for aesthetics and rework .well-known
Fixes https://github.com/vector-im/riot-web/issues/7724

The `default_server_name` from the config gets displayed in the "Login with my [server] matrix ID" dropdown when the default server is being used. At this point, we also discourage the use of the `default_hs_url` and `default_is_url` options because we do an implicit .well-known lookup to configure the client based on the `default_server_name`. If the URLs are still present in the config, we'll honour them and won't do a .well-known lookup when the URLs are mixed with the new server_name option. Users will be warned if the `default_server_name` does not match the `default_hs_url` if both are supplied. Users are additionally prevented from logging in, registering, and resetting their password if the implicit .well-known check fails - this is to prevent people from doing actions against the wrong homeserver.

This relies on https://github.com/matrix-org/matrix-js-sdk/pull/799 as we now do auto discovery in two places. Instead of bringing the .well-known out to its own utility class in the react-sdk, we might as well drag it out to the js-sdk.
2018-12-04 23:34:57 -07:00
Travis Ralston
4cfefe4c3c Introduce an onUsernameBlur and fix hostname parsing 2018-11-21 14:13:56 -07:00
Travis Ralston
0030ba7015 Support .well-known discovery
Fixes https://github.com/vector-im/riot-web/issues/7253
2018-10-18 16:42:54 -06:00
Michael Telatynski
61def4a973
highlight top field if blank otherwise the password field.
remove unused refs

Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-23 17:26:16 +01:00
Michael Telatynski
4a5fbf2c84
clear error on login type change
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-23 17:13:40 +01:00
Michael Telatynski
15e75ca7b3
generate local errors for blank fields during login
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2018-06-23 17:12:00 +01:00
Aidan Gauland
35780f5ae0 Remove use of deprecated React.PropTypes
Replace all uses of React.PropTypes with PropTypes and importing PropTypes from
'prop-types'.
2017-12-26 14:03:18 +13:00
Luke Barnard
dad797d4a2 Run linting --fix 2017-11-16 13:19:36 +00:00
Matthew Hodgson
2827bc0718 replace some of the status.im theme with general config options 2017-11-11 23:46:43 +00:00
Matthew Hodgson
5d0629ff73 resolve matrix.status.im v. matrix.org confusion 2017-10-27 14:23:16 +01:00
Matthew Hodgson
adbea44d70 hide login options for status 2017-10-25 01:30:09 +01:00
Luke Barnard
d3f9a3aeb5 Run eslint --fix
Fixing 1000s of lint issues. Some rules cannot be `--fix`ed but this goes some way to linting the entire codebase.
2017-10-11 17:56:17 +01:00
David Baker
0f84216a9f Grey out login form when no valid HS 2017-10-11 14:05:34 +01:00
David Baker
fa24b4bd2d Remove this log - it's not an error worth logging 2017-10-11 09:48:12 +01:00
David Baker
92be3af990 Make it clearer which HS you're logging into
Otherwise there's no indication without clicking 'custom server'
2017-10-10 19:16:42 +01:00
David Baker
ec36a348be comment why we send the empty string 2017-06-23 14:48:15 +01:00
Luke Barnard
c51255da40 Submit empty string username when on phone number login 2017-06-23 14:34:19 +01:00
Luke Barnard
f5353fcdc5 Only submit phone number when phone loginType is selected
Otherwise submit a phoneNumber and phoneCountry of `null` (when logging in with email or username).

Fixes https://github.com/vector-im/riot-web/issues/4000
2017-06-23 13:43:52 +01:00
Michael Telatynski
464863acd6 remove unused imports
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2017-06-02 21:35:55 +01:00
Kegan Dougal
f54c182eb1 Add remaining strings for vector-im/riot-web#4151 2017-06-02 10:47:08 +01:00
Matthew Hodgson
6a225d1ac2 use new sign-in string 2017-06-02 00:16:17 +01:00
Matthew Hodgson
3302fc690f fix all missing translations picked up by check-i18n.pl 2017-05-27 18:20:44 +01:00
Matthew Hodgson
81704a5b5e s/username/User name/ 2017-05-27 00:13:16 +01:00
David Baker
647c1b6169 Once more, with braces 2017-05-26 18:19:32 +01:00
David Baker
97aeb57a8b Merge remote-tracking branch 'origin/develop' into dbkr/translations 2017-05-26 18:15:32 +01:00
David Baker
5c359e63ab Bulk change counterpart imports
to use languageHandler wrapper func
2017-05-25 11:39:08 +01:00
David Baker
d419c42a4f Squash merge https://github.com/matrix-org/matrix-react-sdk/pull/801 2017-05-23 15:16:31 +01:00
Luke Barnard
2bec44a517 Remove suffix and prefix from login input username
This is an attempt reduce confusion when entering a custom home server: https://github.com/vector-im/riot-web/issues/3736
2017-05-19 10:03:51 +01:00
Luke Barnard
c44d7b6c44 Improve phone number country dropdown for registration and login
This implements https://github.com/vector-im/riot-web/issues/3895
2017-05-17 13:09:32 +01:00
Luke Barnard
336462366e Improve country dropdown UX and expose +prefix
A prefix is now exposed through a change to the API for onOptionChange. This now returns the entire country object which includes iso2, prefix etc.

This also shows the prefix in the Registration and Login screens as a prefix to the phone number field.
2017-04-25 11:21:47 +01:00
Luke Barnard
9c4c706120 Remove :server.name for custom servers
Custom servers may not be configured such that their domain name === domain part.
2017-04-21 16:09:11 +01:00
Luke Barnard
2b9cb999ba autoFocus PasswordLogin 2017-04-21 11:50:19 +01:00
Luke Barnard
9cd7914ea5 Finishing off the first iteration on login UI
This makes the following changes:
 - Improve CountryDropdown by allowing all countries to be displayed at once and using PNGs for performance (trading of quality - the pngs are scaled down from 32px to 25px)
 - "I want to sign in with" dropdown to select login method
 - MXID login field that suffixes HS domain (whether custom or matrix.org) and prefixes "@"
 - Email field which is secretly the same as the username field but with a different placeholder
 - No more login flickering when changing ServerConfig (!) fixes https://github.com/vector-im/riot-web/issues/1517

This implements most of the design in https://github.com/vector-im/riot-web/issues/3524 but neglects the phone number login:
![login_with_msisdn](30a921fc-1dfc-11e7-95d1-76f619da1402.png)

This will be updated in another PR to implement desired things:
 - Country code visible once a country has been selected (propbably but as a prefix to the phone number input box.
 - Use square flags
 - Move CountryDropdown above phone input and make it show the full country name when not expanded
 - Auto-select country based on IP
2017-04-21 11:37:08 +01:00
Luke Barnard
566a315242 Initial commit on riot-web#3524 (login UI update) 2017-04-19 10:08:04 +01:00
David Baker
878413f6a4 Support msisdn signin
Changes from https://github.com/matrix-org/matrix-react-sdk/pull/742
2017-03-14 11:50:13 +00:00
Richard van der Hoff
2786fb0f46 Revert "Support registration & login with phone number (#742)"
This reverts commit 0269562383.

This breaks against the current synapse release. We need to think more
carefully about backwards compatibility.
2017-03-09 18:32:44 +00:00
David Baker
0269562383 Support registration & login with phone number (#742)
* WIP msisdn sign in

* A mostly working country picker

* Fix bug where you'dbe logged out after registering

Stop the guest sync, otherwise it gets 401ed for using a guest
access token for a non-guest, causing us to beliebe we've been
logged out.

* Use InteractiveAuth component for registration

* Fix tests

* Remove old signup code

* Signup -> Login

Now that Signup contains no code whatsoever related to signing up,
rename it to Login. Get rid of the Signup class.

* Stray newline

* Fix more merge failing

* Get phone country & number to the right place

* More-or-less working msisdn auth component

* Send the bind_msisdn param on registration

* Refinements to country dropdown

Rendering the whole lot when the component was rendered just makes
the page load really slow, so just show 2 at a time and rely on
type-to-search.

Make type-to-search always display an exact iso2 match first

* Propagate initial inputs to the phone input

* Support msisdn login

* semicolon

* Fix PropTypes

* Oops, use the 1qst element of the array

Not the array of object keys which has no particular order

* Make dropdown/countrydropdown controlled

* Unused line

* Add note on DOM layout

* onOptionChange is required

* More docs

* Add missing propTypes

* Don't resume promise on error

* Use React.Children to manipulate children

* Make catch less weird

* Fix null dereference

Assuming [0] of an empty list == undefined doesn't work if you're
then taking a property of it.
2017-03-09 10:59:22 +00:00
David Baker
3f067cbdf6 Give our input fields names
Otherwise browsers' 'Remember Password' feature has to guess
badly and ends up putting the login username / password in the
first two password reset fields which is a bit odd.
2016-10-14 15:34:44 +01:00
David Baker
d5af2d2c52 Use 'Sign In' / 'Sign Out' universally
Rather than a mix of 'sign in/out' and 'log in/out'
2016-09-29 17:38:52 +01:00
David Baker
f469bbbb64 Refactor UI error effects
And add error effects to the login page to be consistent with the registration page
2016-08-03 15:59:17 +01:00
Matthew Hodgson
a82d3710d1 provide sensibile defaults for PasswordLogin 2016-03-06 18:42:09 -05:00
Matthew Hodgson
0bb58dd60c brings back the functionality in login/register/screens that got lost in @kegsay's refactor. specifically:
1) custom HS/IS urls are now persisted in HTML5 local storage.  As a result, all the login components now distinguish between default HS/IS URLs and custom specified ones again. (
2) custom HS/IS urls are synchronised between the instances of ServerConfig found in the Login, Registration and Forgot Password screens.
3) username are persisted over changing homeserver (but not password, to stop accidentally leaking passwords to the wrong server)
4) correctly interpret a blank URL field as meaning the placeholder text
5) when toggling custom URLs on and off, remember what the custom values were, and use the default URLs if custom mode is not engaged

also, guest access now upholds custom HS/IS URLs found in local storage rather than being limited to the server config ()

also adds assorted comments and improved console debug and a few minor cosmetic changes to the login components.

this commit sponsored by VS27...
2016-03-06 14:33:36 -05:00
Kegan Dougal
ec4e0d7687 Implement password reset
This adds a link to the login screen with "Forgot your password?". Clicking it
takes you to a form with fields for an email address and a new password. This
makes the same API calls as the Angular SDK.

Manually tested resetting + not clicking link + invalid email and it all seems
to work.
2016-01-12 17:20:16 +00:00
Matthew Hodgson
0772f50fab update copyright for 2016 2016-01-07 04:06:52 +00:00
Kegan Dougal
28908c2edb Auto-focus username box 2015-12-15 15:27:56 +00:00
Kegan Dougal
776369299d Move login components to views 2015-11-26 13:27:52 +00:00
Renamed from src/components/login/PasswordLogin.js (Browse further)