Skip to content
This repository has been archived by the owner on Jan 30, 2018. It is now read-only.

gustavolobo/AuthEng

Repository files navigation

AuthEng

Motivation

What led me to the creation of this engine was the fact that on several projects that I have worked on, always have the same problems with the gem devise, and almost always because I want that the authentication follows a flow that devise doesn't follow by default.

For example, I don't want people to be able to register themselves, I want it to be done by an authenticated user. And then, these people should receive an account confirmation/activation email, and when they click the link in that email, they can choose their own password.

So, I decided to create an engine, trying to make it as easy as possible to integrate with a newly created application.

Later I will try to clarify the flow of this engine. Any suggestion, thanks.

What it does?

Authentication & Users Mgmt

  • Devise authentication.
  • Users cannot register themselves. It's supposed to be an administrator to do so.
  • When an administrator registers an user, he doesn't choose a password for him. An email is sent, and the user can then confirm his account by choosing a password.
  • Users management backoffice.
  • Emails sent with Delayed Job.
  • Haml views.
  • Formtastic forms.
  • Users deletion with rails3_cts_as_paranoid.
  • Permissions with Cancan.

Usage

###If you don't have delayed_job, in your Gemfile add:

gem 'delayed_job_active_record'

And run:

bundle install
rails generate delayed_job:active_record
rake db:migrate

###Installation In your project:

cd vendor/engines
git clone https://github.com/gustavolobo/AuthEng.git
cd ../..

In your Gemfile:

gem 'auth_eng', :path => "vendor/engines"

Run:

bundle install
rake auth_eng:install:migrations
rake db:migrate

In your routes file:

mount AuthEng::Engine, :at => "/auth_eng"

And then, add an user (don't forget to configure the email in your environment):

AuthEng::Role.create(name: "Administrator")
AuthEng::User.create(name: "user_name", email: "user_email", role_id: 1)

on rails console or seeds.rb (you will receive a confirmation email)

Contributing

If you found a bug or if you think that should be done an improvement in the project, I'll appreciate any contact.

About

AuthEng is an authentication engine that uses Devise and promote a specific flow in the users management.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published