close
Skip to content

Latest commit

 

History

History
 
 

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Provides strategies for authenticating to providers using the OpenID standard.

To get just OpenID functionality:

gem install oa-openid

For the full auth suite:

gem install omniauth

Use the strategy as a middleware in your application:

require 'omniauth/openid'
require 'openid/store/filesystem'

use Rack::Session::Cookie
use OmniAuth::Strategies::OpenID, OpenID::Store::Filesystem.new('/tmp')

Then simply direct users to ‘/auth/open_id’ to prompt them for their OpenID identifier. You may also pre-set the identifier by passing an identifier parameter to the URL (Example: /auth/open_id?openid_url=yahoo.com).

A list of all OpenID stores is available at github.com/openid/ruby-openid/tree/master/lib/openid/store/

If OpenID is one of several authentication strategies, use the OmniAuth Builder:

require 'omniauth/openid'
require 'omniauth/basic'  # for Campfire
require 'openid/store/filesystem'

use OmniAuth::Builder do
  provider :open_id, OpenID::Store::Filesystem.new('/tmp')
  provider :campfire
end

You may pre-configure an OpenID identifier. For example, to use Google’s main OpenID endpoint:

use OmniAuth::Builder do
  provider :open_id, nil, :name => 'google', :identifier => 'https://www.google.com/accounts/o8/id'
end

Note the use of nil, which will trigger ruby-openid’s default Memory Store.