Minimalist authentication library for Ruby
Install
$ gem install authentication
or add gem 'authentication' to your Gemfile.
How to use in a Rails app
- Include
Authenticationto your controller. - Define
#find_current_userin your controller. - That's all. You can use the method below in the controller:
-
#login!and#logout!to log in/out. -
#current_userand#current_user_idto get current user or its id. -
#logged_in?to ask logged in or not. -
#after_loginwill be invoked after#login!. -
#after_logoutwill 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 includesAuthenticationwill be changed. - The class includes
Authenticationwill includeForwardable. - The class includes
Authenticationwill 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.