Devise
Flexible authentication solution for Rails with Warden
... sign in
4. Recoverable oversees the resetting of the user password and sends reset instructions
5. Registerable handles all aspects related to registering a new resource
6. Rememberable takes care of generating and clearing token for remembering the user from a saved cookie
7. Trackable tracks info about user sign in
8. Timeoutable expires inactive sessions
9. Validatable provides email and password validations, and lastly
10. Lockable, which locks an account after some failed sign-ins