Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

This branch is 341 commits behind intridea:master

Fetching latest commit…

Cannot retrieve the latest commit at this time

..
Failed to load latest commit information.
lib
spec
.gemtest
.rspec
.yardopts
Gemfile
LICENSE
README.rdoc
Rakefile
oa-openid.gemspec

README.rdoc

OmniAuth::OpenID

Provides strategies for authenticating to providers using the OpenID standard.

Installation

To get just OpenID functionality:

gem install oa-openid

For the full auth suite:

gem install omniauth

Stand-Alone Example

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/

OmniAuth Builder

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

Configured Identifiers

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.

Something went wrong with that request. Please try again.