Authentication Code Climate

Minimalist authentication library for Ruby

Install

$ gem install authentication

or add gem 'authentication' to your Gemfile.

How to use in a Rails app

  1. Include Authentication to your controller.
  2. Define #find_current_user in your controller.
  3. 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 includes Authentication will be changed.
  • The class includes Authentication will include Forwardable.
  • The class includes Authentication will have a method called current_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.