Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Q&A

Welcome to Software Development on Codidact!

Will you help us build our independent community of developers helping developers? We're small and trying to grow. We welcome questions about all aspects of software development, from design to code to QA and more. Got questions? Got answers? Got code you'd like someone to review? Please join us.

Comments on How to allow sign-ups without confirmation as an exception using devise confirmable?

Parent

How to allow sign-ups without confirmation as an exception using devise confirmable?

+3
−0

I use the devise authentication gem for a Rails application and it's very convenient.

Typically I want my users to confirm their registration by email. Therefore the User model looks like

class User < ApplicationRecord

  devise :database_authenticatable, :registerable, :confirmable,
         :recoverable, :rememberable, :trackable, :validatable,

and it works like a charm. All users wanting to sign up must confirm their registration.

Now, as an exception, I sometimes also want to sign up users without confirmation at all. For example, imagine an administrator that creates new users on the fly.

How do I do that?

I tried to create a new user and with user.skip_confirmation! from the documentation of confirmable I can finish the confirmation, but the confirmation email gets send out anyway when the user is created. I want to skip the confirmation and not send that email.

How can I optionally suppress the whole confirmation process including sending out of an email if I use :confirmable otherwise?

Maybe some kind of pre-confirmation is possible?

Searching for this only delivered general configuration information for devise.

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

skip_confirmation_notification! (1 comment)
Post
+3
−0

You should be able to pre-set confirmed_at when you create the User instance:

user = User.new(confirmed_at: DateTime.now) # plus any other details you want
user.save!
History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.

1 comment thread

Works but does it mean normal users can get around the confirmation (2 comments)
Works but does it mean normal users can get around the confirmation
Trilarion‭ wrote almost 3 years ago

Thanks. I could have tried that. I wonder, does that mean that normal users could potentially cheat their way around confirmation by sending some kind of response/request during sign-in that not only provides a user name, email, password but also a confirmed_at field or is devise prohibiting this in some way?

ArtOfCode‭ wrote almost 3 years ago

If you're using default Devise settings, it'll prevent that for you - that only becomes possible if you explicitly whitelist the confirmed_at field.