-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add passwordless for authentication #586
base: master
Are you sure you want to change the base?
Add passwordless for authentication #586
Conversation
Hi David! Thank you for this! Things are a bit busy right now, and I'm travelling for the next week, but I hope to properly read through and respond in the next couple weeks. |
Hello! Sorry it's taken me so long to get back to this. Thank you so so much for doing this! I really appreciate it. Finally taking a look now.
|
Email service: Speaker and User model:
Captcha: |
@esmale So sorry for the delay on this! I think I'm going to have to pick it up later on in the year or in the New Year! Will get back to you when I can. |
What does this PR do?
I've added two gems to the application:
passwordless
for authentication, andletter_opener
in order to easily trigger/access emails in development, since passwordless authentication relies upon email. I hope the application is set up with some kind of email delivery service to actually send emails. :-)Instead of removing the Speaker model/table completely the way I initially intended while working on this at RailsConf, I backed away from that and just created the User model with an email address, and then set up the Speaker model to belong to a User. I assume that in the admin section of the site you'd be able to associate new User records to old Speaker records as necessary.
The ability to add Speakers has been removed, and instead when a person registers to join the site they also have to give their name, and the controller will create both the User and Speaker records and tie them together.
The ability to add new Proposals is also adjusted:
I also removed the need to complete the captcha for these two actions. Since these actions cannot be performed unless logged in, it felt unnecessary. But I haven't removed the gem from the Gemfile yet, in case I'm wrong.
I've added and updated the test suite to account for a lot of these changes, but there are still some tests and application code changes that need to be made before this PR is truly complete. Primarily in the area of limiting the ability for updating Submissions to only the owner of the associated Proposal.
That said, I felt like this PR was far enough along that I wanted to get it in front of you to see what feedback you had.
I also had a could of questions about some corner cases to see what you would like:
Why was this work done? Is there a related Issue?
This PR addresses this issue: Speakerline is completely open to edit
Where should a reviewer start?
Are there any manual testing steps?
Screenshots
Deployment instructions
Database changes
There are a couple of new migrations that add:
users
tablepasswordless_sessions
tablespeakers
tableNew ENV variables