Cheapskate
Seamlessly jump to a separate domain for HTTPS login and then back.
Note
The below information is a work in progress. Don't use this yet; it isn't ready.
Usage
OK, here's how this works. First, obviously, you add cheapskate to your Gemfile:
gem 'cheapskate'
The gem provides its own Rails engine, which adds the following to your app:
Routes
POST /login
GET /logged_in
POST /register
GET /registered
Models
SingleUseLoginSingleUseNotice
Customization
Both the /logged_in and /registered routes redirect back to Cheapskate::CONFIG['ROOT_PATH'],
which defaults to "/".
Internally much of the logic where the gem hooks into your application is found in the
Cheapskate::Client module. You can include this module and override any of these methods if you
want:
-
create_user(params)- will create user fromparams[:user]with keys:nameand:email(and password w/ confirmation) by default -
find_user(params)- will look up user byparams[:email]by default authenticate_user(user, params)user_name(user)-
store_user_in_session(user, session)- will setsession[:user_id] = user.idby default -
alert_notice(controller, message)- usesflash[:notice]by default -
alert_error(controller, message)- usesflash[:notice]by default
If you implement your own client (by defining a class that includes Cheapskate::Client),
Cheapskate will automatically use your implementation.