"For over a thousand generations the Jedi Knights were the guardians of peace and justice in the Old Republic. Before the dark times, before the Empire." -- Obi-Wan Kenoby
= Cerberus
Cerberus is a Rack middleware for form-based authentication. Its purpose is only
to offer a nicer (or more actual) replacement for Basic HTTP authentication.
Install with:
# sudo gem install rack-cerberus
You can use it almost the same way you use Rack::Auth::Basic:
require 'cerberus'
use Rack::Session::Cookie
use Cerberus do |login, pass|
pass=='secret'
end
Like in that example, make sure you have a session, because Cerberus use it for
persistent login.
There is an optional hash you can add for personalizing it. Options are:
* :company_name
* :fg_color (foreground color)
* :bg_color (background color)
* :icon_url (for a company logo or any icon)
Which is used that way:
use Cerberus, {:company_name => 'Nintendo'} do |login, pass|
pass=='secret'
end
Just like Rack::Auth::Basic, Cerberus yields login and pass, and delegate authentication
to the block you send it which should return a boolean.
If you want to see a concrete example, go into the Cerberus directory and run:
# rackup example.ru
It's gonna start the example at http://localhost:9292
=== Logout
Any request to /logout on the path where the middleware is mounted will log you out.
In other words, if you put the middleware at /admin, query /admin/logout to be
logged out. Pretty simple.
=== Help
If you want to help me, don't hesitate to fork that project on Github or send patches.
=== Changelog
0.0.1 Changed Everything somehow
0.1.0 Make it possible to authenticate through GET request (for restful APIs)
0.1.1 Documentation improvement
0.1.2 Raise message when using without session
=== Copyright
(c) 2010 Mickael Riga - see MIT_LICENCE for details