Skip to content
Rack middleware for authenticating requests using a cookie as a simple token
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


= Description
The rack-cookie library is a Rack library that uses a cookie as a token to
authenticate requests from users that have authenticated earlier using some
other method.

= Prerequisites
rack 1.0.0 or later

= Usage
use "Rack::Auth::Cookie", :secret => "foo", :cookie_name => "my_authentication_cookie"

= Default Fields
The default value for cookie_name is "auth_token"

= Details
The "secret" option works exactly as in Rails session cookies. This should be
set to a hard-to-guess value (not "foo"!) to protect against cookie forgery.

This rack library only handles requests that contain a cookie named "auth_token"
(or whatever name was passed as the :cookie_name option). If that is not present,
the request is forwarded normally with no changes to the environment.

If the cookie is detected, then it is checked for validity. If valid, then the values
stored in the cookie (such as 'AUTH_USER') are copied from the cookie into the
environment. If invalid, then env['AUTH_USER'] is deleted and env['AUTH_FAIL'] is set to
an error message explaining what went wrong.

Note that if env['AUTH_USER'] or env['AUTH_FAIL'] are already set, then the
request is forwarded normally with no changes to the environment.

= Authors
Daniel Berger
Charlie O'Keefe
You can’t perform that action at this time.