-
Notifications
You must be signed in to change notification settings - Fork 22
Google OAuth Authentication #247
Copy link
Copy link
Closed
Labels
T1dTime Estimate 1 DayTime Estimate 1 DayT4hTime Estimate 4 HoursTime Estimate 4 HoursdiscussShare your constructive thoughts on how to make progress with this issueShare your constructive thoughts on how to make progress with this issueenhancementNew feature or enhancement of existing functionalityNew feature or enhancement of existing functionalityepicA feature idea that is large enough to require a sprint (5 days) or more and has smaller sub-issues.A feature idea that is large enough to require a sprint (5 days) or more and has smaller sub-issues.priority-2Second highest priority, should be worked on as soon as the Priority-1 issues are finishedSecond highest priority, should be worked on as soon as the Priority-1 issues are finishedquestionA question needs to be answered before progress can be made on this issueA question needs to be answered before progress can be made on this issuetechnicalA technical issue that requires understanding of the code, infrastructure or dependenciesA technical issue that requires understanding of the code, infrastructure or dependencies
Milestone
Description
As a person who has a Google Account (for personal or work reasons),
I want the ability sign into the @dwyl App using my Google Account
so that I don't have to waste time registering or remembering another password.
Todo
- Create an Elixir Module https://github.com/dwyl/elixir-auth-google that does only one thing well.
- Publish it to Hex.pm using the @dwyl user [I'm happy to do this part as I have it setup on my Mac]
- Write detailed step-by-step documentation that any (reasonably competent developer) can follow to have Google OAuth up-and-running in less than 10 minutes. Write Docs & Publish Package in Hex.pm elixir-auth-google#10
- Use the Elixir module in the @dwyl App to allow people to Authenticate effortlessly.
- Add a blue
#4285F4button to our App as a CTA to Auth with Google Google Auth Button Appearance > Blue #249 - Basic wireframe to follow shortly. ⏳
- Add a blue
- Save the requested
emailaddress encrypted in theperson.emailfield. (so that we can email the person to remind them of their progress on a task, sending email will be in Sprint 3)- Save
emailhashed inemail_hashso that the address can be looked up.
To see why this is needed, GOTO: BUG: New Person inserted each time I authenticate with Google mvp#29
- Save
- Store any other relevant data returned by the Google auth see: Google OAuth Authentication #247 (comment)
-
picture- so we can display the person's avatar in the App. -
givenName- So we can address the person "Welcome Simon!" -
familyName- Useful when differentiating people with the samegivenNamein a team/org. -
status=1- the email address has been verified. -
locale- the language to display in the UI. (translations to follow in future)
-
- Use Phoenix Sessions to maintain the person's session Use Phoenix Sessions #252
We have implemented this before: https://github.com/dwyl/hapi-auth-google this can be used as a reference.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
T1dTime Estimate 1 DayTime Estimate 1 DayT4hTime Estimate 4 HoursTime Estimate 4 HoursdiscussShare your constructive thoughts on how to make progress with this issueShare your constructive thoughts on how to make progress with this issueenhancementNew feature or enhancement of existing functionalityNew feature or enhancement of existing functionalityepicA feature idea that is large enough to require a sprint (5 days) or more and has smaller sub-issues.A feature idea that is large enough to require a sprint (5 days) or more and has smaller sub-issues.priority-2Second highest priority, should be worked on as soon as the Priority-1 issues are finishedSecond highest priority, should be worked on as soon as the Priority-1 issues are finishedquestionA question needs to be answered before progress can be made on this issueA question needs to be answered before progress can be made on this issuetechnicalA technical issue that requires understanding of the code, infrastructure or dependenciesA technical issue that requires understanding of the code, infrastructure or dependencies
