Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mitinpavel/current_user
Dev phase auth for Rails
https://github.com/mitinpavel/current_user
authentication rails ruby
Last synced: 16 days ago
JSON representation
Dev phase auth for Rails
- Host: GitHub
- URL: https://github.com/mitinpavel/current_user
- Owner: MitinPavel
- License: mit
- Created: 2011-06-08T03:41:42.000Z (over 13 years ago)
- Default Branch: master
- Last Pushed: 2013-07-19T13:22:15.000Z (over 11 years ago)
- Last Synced: 2024-12-28T04:32:03.631Z (19 days ago)
- Topics: authentication, rails, ruby
- Language: Ruby
- Homepage:
- Size: 233 KB
- Stars: 9
- Watchers: 2
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.rdoc
- License: MIT-LICENSE
Awesome Lists containing this project
README
# CurrentUser
[![Build Status](https://secure.travis-ci.org/MitinPavel/current_user.png?branch=master)](http://travis-ci.org/MitinPavel/current_user)
[![Code Climate](https://codeclimate.com/github/MitinPavel/current_user.png)](https://codeclimate.com/github/MitinPavel/current_user)Dev phase auth for Rails.
## What it is
* A simple authentication gem for the development (pre-production) phase
* Familiar rails conventions: #current_user, #signed_in?
* A minimalistic signin page with a list of all available users (just click on a user and you will be logged in under the user)
* An opportunity to replace it with one of the mature solution (assuming Devise)## What it is not
* An authentication solution for the production phase of the application lifecycle
* An authorization gem (although in the future it might get some authorization features to mimic Devise)## How it looks like
[![Screenshot of the sign in page](https://lh3.googleusercontent.com/-fft8seAAZok/US50C-4PxPI/AAAAAAAAAUE/73jy9XkwQt0/s743/current_user_screenshot.png)]
## Getting started
CurrentUser works with Rails 3.2 and 4.0 using Ruby 1.9.3 or Ruby 2.0.
Add to your Gemfile:
```ruby
gem "current_user"
```Install it using bundler:
```console
bundle install
```__Note__: CurrentUser assumes your application already has a few users.
So if the assumption is false, create User active record class AND/OR add several users to the database.
It also assumes User has "email" attribute/method. If it is not the case, add "email" or change configuration
in `config/initializers/current_user.rb`.Run the generator:
```console
rails generate current_user:install
```The generator:
* creates a file with a unique authentication key for your application
* creates an initializer
* inject routing to your application
* show READMESpecify root in `config/routes.rb`:
```ruby
root :to => 'dashboards#show'
```Add before filter to `app/controllers/application_controller.rb`:
```ruby
before_filter :authenticate_user!
```Try to visit one of protected pages of your application (for example root). You will see "Unauthorized" error page.
Run a rake task what shows a path to your sign in page:
```console
rake current_user:sign_in_path
```Visit your sign in page. You will see a list of users of your application. Click on a user and the link
will take you to the root page of the application.Congratulations. Your application has a simple authentication solution. _Send a link to the sign in page
to your customer and she/he will love to test your app manually :)_## Helpers
CurrentUser creates some helpers to use inside your controllers and views.
To verify if a user is signed in, use the following helper:
```ruby
signed_in?
```For the current signed-in user, this helper is available:
```ruby
current_user
```## Logo
[![CurrentUser on RubyGems](http://i.minus.com/irnTZ9R2xPyzi.png)](http://rubygems.org/gems/current_user)
## License
It uses MIT license. See MIT-LICENSE file in the root directory.