frontend icon indicating copy to clipboard operation
frontend copied to clipboard

Update user registration flow to support new backend auth endpoints

Open lpatmo opened this issue 5 years ago • 15 comments

Context

Note: work on this issue after https://github.com/codebuddies/backend/pull/187 is merged in. That PR rewrote the auth to use a more up-to-date auth package that supports email verification, an important step we didn't support before.

First, let me try registering a new user: POST /api/v1/auth/registration/ { "username": "linda", "email": "[email protected]", "password1": "uniquepassword", "password2": "uniquepassword" }

I'll get a 201 Response: { "detail": "Verification e-mail sent." }

image

If I login without verifying the email, I'll get the following 400 response: POST /api/v1/auth/login/ { "username": "", "email": "", "password": "" }

HTTP 400 Bad Request Allow: POST, OPTIONS Content-Type: application/json Vary: Accept

{ "non_field_errors": [ "E-mail is not verified." ] }

When the verification email is sent, it'll contain a link that looks something like: http://localhost:8000/api/v1/auth/registration/verify-email/?key=<KEY>

On the FE app, we'll need to create a page with the route /api/v1/auth/registration/verify-email/?key=<KEY>

and make a POST request sending the key:

POST /api/v1/auth/registration/verify-email/ { "key": <KEY> }

This will validate the email address.

Source: https://github.com/codebuddies/backend/issues/191

How to log out: POST api/v1/auth/logout

How to view the details of a currently-logged-in user GET api/v1/auth/user image

GET api/v1/auth/current_user //without email address image

Acceptance criteria

[ ] Update the POST request when a user registers to hit POST /api/v1/auth/registration/ [ ] Remove the first name and last name fields [ ] Change the login endpoint to be POST /api/v1/auth/login/ [ ] Change the logout endpoint to be POST api/v1/auth/logout [ ] Create a api/v1/auth/registration/verify-email?key={KEY} page that upon load, makes a POST request to /verify-email and passes in the key from the params in the URL

POST /api/v1/auth/registration/verify-email/
{
    "key": <KEY>
}

lpatmo avatar Sep 26 '20 20:09 lpatmo

PR has been merged. Is this available?

peoray avatar Oct 05 '20 00:10 peoray

@peoray Here's a rough draft of the PR: https://github.com/codebuddies/frontend/pull/163

This will need to be rebased when the folder restructuring happens, though! In the meantime, feel free to poke around the branch from that draft PR. :) Let me know if you have questions!

lpatmo avatar Oct 05 '20 02:10 lpatmo

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Nov 04 '20 04:11 stale[bot]

Is this still available? Not sure if @peoray still wanted to take it.

pdotsani avatar Nov 11 '20 12:11 pdotsani

@pdotsani Yeah, I'm still active on this. If you want, we can pair and work on it together

peoray avatar Nov 11 '20 13:11 peoray

Sounds good! Are you on slack? I think I pinged you...

pdotsani avatar Nov 11 '20 15:11 pdotsani

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Dec 11 '20 15:12 stale[bot]

@peoray @pdotsani -- is this still in progress, or should we be closing it? Pls LMK. Thanks!

BethanyG avatar Dec 11 '20 18:12 BethanyG

Hi @BethanyG - It's still in progress. @peoray and I are about halfway done. We're planing to work on it next weekend.

pdotsani avatar Dec 12 '20 00:12 pdotsani

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jan 11 '21 00:01 stale[bot]

@pdotsani -- the stale bot has come for this again. I think commenting on it will be sufficient to keep it open....but thought I'd ping you just in case.

BethanyG avatar Jan 18 '21 17:01 BethanyG

@BethanyG 👍

pdotsani avatar Jan 18 '21 19:01 pdotsani

Actually, it closed it. 😢 Reopening.

BethanyG avatar Jan 18 '21 19:01 BethanyG

Isn't there a tag we can use that makes stalebot ignore issues?

angelocordon avatar Jan 18 '21 19:01 angelocordon

@angelocordon - maybe - If there is, I don't have time at the moment to find it. For the backend, we review and then remove the stale flag for issues that get marked stale. I only noticed this for frontend because I got a note it was closed b/c its linked to a backend issue I was working on.

BethanyG avatar Jan 18 '21 20:01 BethanyG