Minimalist authentication library for Ruby
Install
$ gem install authentication
or add gem 'authentication'
to your Gemfile.
How to use in a Rails app
- Include
Authentication
to your controller. - Define
#find_current_user
in your controller. - That's all. You can use the method below in the controller:
-
#login!
and#logout!
to log in/out. -
#current_user
and#current_user_id
to get current user or its id. -
#logged_in?
to ask logged in or not. -
#after_login
will be invoked after#login!
. -
#after_logout
will be invoked after#logout!
.
Example and spec might be also helpful.
Advanced usage
Under the hood, methods above(current_user
etc.) are delegated to the instance of Authentication::Authenticator
, which is built for "current_user". So, it's possible to create custom authenticator for a client which isn't a current user.
Side-effects
-
session[:current_user_id]
of the class includesAuthentication
will be changed. - The class includes
Authentication
will includeForwardable
. - The class includes
Authentication
will have a method calledcurrent_user_authenticator
.
Goal
The goal of this library is to provide standard authorization mechanism for web application with minimal dependency by short and concise code which can be understand easily.