Newbie - Rails 3 authentication question (Devise)

Hello!

I'm working on my first Rails app and I have a question regarding
authentication. I already have authentication for signing up, logging
in, logging out, etc. What I need is an account email activation
function and a reset password (forgot password) function. I have read
a little bit about Devise and watched the Railscast episodes on it, it
seems nice, but is it possible to add just the functions I mentioned?
And do I need to change a lot in my current models to do it? Or is it
easier to do it manually?

Any tips or recourses and links on how to do it with Devise or
manually would be appreciated!

Thanks
// Anders

From the Devise documentation at github (http://github.com/plataformatec/devise):

It’s composed of 12 modules:

...

• Confirmable: sends emails with confirmation instructions and verifies whether an account is already confirmed during sign in.

• Recoverable: resets the user password and sends reset instructions.

...

So you’ll need to add “confirmable” and “recoverable” to your devise settings and then add several fields to the existing database tables:

confirmation_token, confirmed_at, confirmation_sent_at

and

reset_password_token

All of this is just a matter of quickly reading through the Devise source code and the docs on github. It’s there in plain sight.

Best regards

Peter De Berdt

I may be misinterpreting the original post, but I suspect he is not
actually using Devise at the moment.

Colin

Ah yes, shouldn’t be skimming mails this late in the evening :-).

To the original poster:

You have two options:

  • Replace your current authentication with Devise, which might include renaming some database columns and customizing the Devise encryption method to match your current one

  • Use the Authlogic or Devise source code as an inspiration and roll your own.

It all depends on your current authentication to be honest.

Best regards

Peter De Berdt

Hi!

Thanks for your help. I took the Devise route, it was a bit of hassle
but it works now.

Thanks
// Anders