Commit Graph

93 Commits

Author SHA1 Message Date
chrisw
79393c97ef Updated invite email auth user flow 2017-11-14 15:18:14 +00:00
Chris Hill-Scott
1a05e33fa4 Fix 500 error if revisiting registration page
If you go back to this part of the registration flow then you get a 500
error, because we’re relying on something in the session. We clear the
registration info from the session after you’ve registered successfully.

Also there were no tests for the happy path of this page either
¯\_(ツ)_/¯
2017-04-27 11:55:50 +01:00
Rebecca Law
7b54e0c463 After investigating a 500 in the admin app, I found an edge case in the invitation registration flow that can cause an error.
The flow is as follows:
If the invited user clicks on the /invitation/<token> link in the email (now on /register-from-invite),
then goes to another browser and registers for Notify.
Coming back to the other browser, submit the form for /register-from-invite.

This PR fixes that bug and adds a couple tests for register_from_invite
2016-12-22 11:43:11 +00:00
Rebecca Law
a0e7d569e9 Send an email to the user when they change email address
This PR changes the flow to change an email address.
Once the user enter their password, they are told "Check your email".
An email has been sent to them containing a link to notify which contains an encrypted token.
The encrypted token contains the user id and new email address. Once the link is clicked the user's email address is updated to the new email address.
They are redirected to the /user-profile page.

Also in this commit is an update from flask.ext.login to flask_login.
2016-10-13 17:05:37 +01:00
Rebecca Law
43938936f3 If a user has already registered with the email they will get a different email when the register again.
The email includes likes to sign in and send feedback
2016-07-12 11:53:30 +01:00
Adam Shimali
0544ea776b Change when invite gets marked as accepeted. 2016-06-08 11:52:26 +01:00
Nicholas Staples
af500a96e7 Update all dates to use utc, only in the template is it converted to british time. 2016-05-11 11:20:45 +01:00
Adam Shimali
09117e5eeb Updated flask-login to version 0.3.2 2016-05-04 14:06:14 +01:00
Adam Shimali
2792bece54 Changed registration flow to first send email verification link that
when visited sends sms code for second step of account verification.

At that second step user enters just sms code sent to users mobile
number.

Also moved dao calls that simply proxied calls to client to calling
client directly.

There is still a place where a user will be a sent a code for
verification to their email namely if they update email address.
2016-03-17 15:19:51 +00:00
Adam Shimali
4adbcebc6f Do not send email in case of invite.
The user does not have to validate the email token, but it
was still being sent.
2016-03-15 16:58:26 +00:00
Rebecca Law
4ba801edab Merge branch 'master' into error-handling
Conflicts:
	app/main/views/invites.py
2016-03-10 15:03:21 +00:00
Rebecca Law
f6d98b63ea Refactored register_errorhandlers so that it handles HTTPError
Remove most cases where we catch HTTPError
2016-03-10 11:53:29 +00:00
Adam Shimali
0095e4b608 Updated from git comments. Return status code 400 for duplicate
email address.
2016-03-09 16:05:17 +00:00
Adam Shimali
33c92a4e29 Fix for duplicate email registration that meant flash error not being
displayed.

The error message does not specify the error is a duplicate email
address so as not to reveal which emails are current user accounts.
2016-03-09 16:05:17 +00:00
Adam Shimali
acc7c6cda3 Display email address that invitee will be registered with.
Also add flash message for users who already have an account.
2016-03-09 11:27:26 +00:00
Adam Shimali
6ba13a6513 [WIP] New user can now accept invite and will be made to
register. On succesful register and verfication they
will be added to service and forwarded to dashboard.

Nothing is done yet with the permissions requested in the
invite to the user.
2016-03-02 17:52:32 +00:00
Adam Shimali
a86be302ce Merge pull request #186 from alphagov/email-templates
Email templates
2016-02-22 13:34:45 +00:00
Nicholas Staples
980c01e10c Fix bug with send_verify_code not including the to field. 2016-02-22 12:33:59 +00:00
Martyn Inglis
6616182ab3 Slight changes to match new API features:
- get user now throws a 404 so handle that
- making a service now needs one user not many to create
2016-02-19 16:38:08 +00:00
Nicholas Staples
48368584d9 notifications-python_client upgraded to 0.2.5 2016-02-11 15:27:08 +00:00
Nicholas Staples
62150e5596 Added fixes for forms to hide potential email philshing scams. 2016-01-28 16:36:36 +00:00
Nicholas Staples
2d35f5f36a All tests passing and merged with master. 2016-01-27 16:30:33 +00:00
Nicholas Staples
6959d695d3 Working tests, hopefully all code changes done. 2016-01-27 12:22:32 +00:00
Adam Shimali
f8fc8e951a If user is logged in and visits / /sign-in or /register they will
be redirected to choose service.
2016-01-22 17:24:14 +00:00
Adam Shimali
ca3d3240a6 Verify activate and login user with sms and email code 2016-01-20 15:34:42 +00:00
Adam Shimali
b5cdf86b40 User registration now creates user via api.
Verification flow is still to be completed.

Foreign key constraint on verify codes to user table removed.
2016-01-19 22:49:46 +00:00
Rebecca Law
28658c6cc4 Rename NOTIFY_API_URL to API_HOST_NAME.
The NOTIFY_API_URL will point to the alpha api.
2016-01-19 16:39:04 +00:00
Adam Shimali
c86b53f7f1 Add user via api
Leave original user object in for this slice. Remove on next
2016-01-19 16:07:44 +00:00
Rebecca Law
05695a1c03 Updated generate_token to use encrypt the entire url.
Created notify_client.sender to hold the methods to send notifications.
2016-01-11 15:18:37 +00:00
Rebecca Law
c858869a52 Removed exceptions, found a better way to handle them.
Refactored the forms so that fields like email_address can be used in multiple forms.
Refactored form validation so that a query function is passed into the form to be run, this
way the form is not exposed to the dao layer and the query is more efficient.

This PR still requires some frontend attention. Will work with Chris to update the templates.
2016-01-11 12:23:08 +00:00
Nicholas Staples
7001d8261d Fix for security hole with setting session['user_id'] before second factor of authentication has been authorised. 2016-01-07 12:43:10 +00:00
Nicholas Staples
7693ba8a18 Update register view form and template. 2016-01-05 12:41:20 +00:00
Chris Hill-Scott
2f980ab622 Move all pages into their own directory
There are a lot of pages. It seems like a good idea to keep them in one place,
so they don’t get mixed up with partials and layouts.
2015-12-11 09:48:52 +00:00
Rebecca Law
588730d594 109526036: Persist the verify code to the db.
The codes are hashed and saved to the db.
The code is marked as used once a valid code is submitted.
The code is valid for 1 hour.
The codes are no longer saved to the session.
2015-12-10 14:48:01 +00:00
Rebecca Law
2e59870490 109638656: Implement two factor verify flow
When user enters valid sms code they are redirected to the dashboard.
Otherwise, form errors are present.
2015-12-09 10:17:09 +00:00
Rebecca Law
c946f85f9d 109638656: Send sms code from sign-in post. 2015-12-09 10:16:30 +00:00
Rebecca Law
16618e80f9 109526520: Implement verify flow
When a person registers with a valid mobile number and email address,
a code will be sent to each. That person can enter the verify codes and continue to the add-service page.
2015-12-09 10:12:21 +00:00
Rebecca Law
2935485977 108537814: Set session expiry to 1 hour 2015-12-04 16:27:11 +00:00
Rebecca Law
a741c128da 108537814: Implementation of 3 factor authentication.
The post register endpoint will send a random 5 digit code via sms and another via email.
If either code fails to send, the user will not be created and the person can register again.
The codes are saved to the session cookie, and expire in 1 hour.

Another iteration of this story will save the codes to a database.
2015-12-04 16:27:11 +00:00
Rebecca Law
9d9b80bab7 Login user after they register 2015-12-01 16:45:11 +00:00
Rebecca Law
9e2cf2fa4c 108536366: Implement register flow
Includes validation for gov.uk email address, mobile number with +44, password at least 10 char.
Form validation errors will be added to template in a later story.
User is created when form validates.
2015-12-01 16:45:11 +00:00
Rebecca Law
a4cd1c644d 108536374: Change to a generic message for database errors.
Need a story to handle db exceptions in the dao layer
2015-12-01 16:41:49 +00:00
Rebecca Law
64d2cbb927 108536366: Implement register flow
Includes validation for gov.uk email address, mobile number with +44, password at least 10 char.
Form validation errors will be added to template in a later story.
User is created when form validates.
2015-12-01 16:41:49 +00:00