-
Notifications
You must be signed in to change notification settings - Fork 0
Home
OmniAuth is a Ruby authentication framework aimed to abstract away the difficulties of working with various types of authentication providers. It is meant to be hooked up to just about any system, from social networks to enterprise systems to simple username and password authentication.
To use OmniAuth in a project with a Gemfile, just add each of the strategies you want to use individually:
gem 'omniauth-github', :git => 'git://github.com/intridea/omniauth-github.git'
gem 'omniauth-openid', :git => 'git://github.com/intridea/omniauth-openid.git'
Now you can use the OmniAuth::Builder
Rack middleware to build up your list of OmniAuth strategies for use in your application:
use OmniAuth::Builder do
provider :github, ENV['GITHUB_KEY'], ENV['GITHUB_SECRET']
provider :openid, :store => OpenID::Store::Filesystem.new('/tmp')
end
When using OmniAuth in a Rails application you can add it to your middleware:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :github, ENV['GITHUB_KEY'], ENV['GITHUB_SECRET']
provider :openid, :store => OpenID::Store::Filesystem.new('/tmp')
end
By default, OmniAuth will return auth information to the path /auth/:provider/callback
inside the Rack environment. In Sinatra, for example, a callback might look something like this:
# Support both GET and POST for callbacks
%w(get post).each do |method|
send(method, "/auth/:provider/callback") do
env['omniauth.auth'] # => OmniAuth::AuthHash
end
end
This wiki is the home for all official project documentation. Use the sidebar on the right to navigate to various documentation topics for more specific information.
User Docs
- List of Strategies
- Frequently Asked Questions
- Help Topics
- External Resources
- Upgrading to 1.0
- Auth Hash Schema
Strategy Developers
Project Resources