public
Description: An OpenID Provider with an API, written in Sinatra.
Homepage: http://github.com/atmos/hancock
Clone URL: git://github.com/atmos/hancock.git
commit  5079b67db82d3fd7474adb837f527c44b9b6ae99
tree    ba66bc7260740b1ef097cb414dd502c5b4611321
parent  2b9d9f52e8a68592e496f2ea92e7a13bd621ec46
name age message
file .gitignore Wed Mar 04 10:29:07 -0800 2009 templatize this to make it easier. [atmos]
file AUTHORS Sat Mar 07 22:37:36 -0800 2009 doc shuffling [atmos]
file LICENSE Sun Mar 01 15:51:26 -0800 2009 tim too [atmos]
file README.md Loading commit data...
file Rakefile Mon Mar 09 22:57:25 -0700 2009 say hello to cucumber/sinatra/rack-test tests. [atmos]
directory examples/ Mon Mar 09 19:17:33 -0700 2009 tracking down a few cases of :user_id still in use [atmos]
file hancock.graffle Thu Mar 05 07:58:00 -0800 2009 some diagrams showing off how data flows betwee... [atmos]
directory lib/
directory spec/
README.md

hancock

It's like your John Hancock for all of your company's apps.

A lot of this is extracted from our internal single sign on server at Engine Yard. We use a different datamapper backend but it should be a decent start for most people.

Features

An OpenID based Single Sign On server that provides:

  • a whitelist for consumers
  • integration with the big ruby frameworks(rails,merb,sinatra)
  • sreg parameters to consumers(first name, last name, email, identity_url)

How it Works

SSO Handshake

This handshake seems kind of complex but it only happens when you need to validate a user session on the consumer.

Installation

% gem sources
*** CURRENT SOURCES ***

http://gems.rubyforge.org/
http://gems.engineyard.com
http://gems.github.com

You need a few gems to function

% sudo gem install dm-core do_sqlite3
% sudo gem install sinatra guid rspec ruby-openid

You need a few more to test, including sr's fork of webrat

% sudo gem install selenium-client rspec
% git clone git://github.com/sr/webrat.git
% cd webrat
% git checkout -b sinatra origin/sinatra
% rake repackage
% sudo gem uninstall -aI webrat
% sudo gem install pkg/webrat-0.4.2.gem

Plans

  • configurable sreg parameters to consumers
  • signup with email based validation
  • single sign off
  • some kinda awesome oauth hooks
  • simpledb integration, srsly

Sponsored By