OmniAuth Exvo
This gem contains the official Exvo strategy for OmniAuth 1.0.
There is also exvo-auth gem, which provides additional helper methods, which make both users and app authorizations at Exvo easier.
Installation
Add to your Gemfile:
gem 'omniauth-exvo'
Then bundle install.
Usage
OmniAuth::Strategies::Exvo is simply a Rack middleware. Read the OmniAuth 1.0 docs for detailed instructions: https://github.com/intridea/omniauth.
Here's a quick example, adding the middleware to a Rails app in config/initializers/omniauth_exvo.rb:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :exvo, ENV['AUTH_CLIENT_ID'], ENV['AUTH_CLIENT_SECRET']
end
You need to set both ENV['AUTH_CLIENT_ID'] and ENV['AUTH_CLIENT_SECRET'] somewhere (vhost configuration, heroku config, config/environments/* or even config/application.rb).
If you'd like to use Exvo-Auth app in staging or development environments, you need to pass the :client_options hash to override the default:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :exvo, ENV['AUTH_CLIENT_ID'], ENV['AUTH_CLIENT_SECRET'], :client_options => { :site => Exvo::Helpers.auth_uri }
end
Also read about the exvo_helpers gem.
Auth Hash
Here's an example Auth Hash available in request.env['omniauth.auth'] (data as of 2013-04):
request.env["omniauth.auth"].to_hash.inspect
{
"provider" => "exvo",
"uid" => 1,
"credentials" => {
"token" => "a2d09701559b9f26a8284d6f94670477d882ad6d9f3d92ce9917262a6b54085fa3fb99e111340459",
"expires" => false
},
"info" => {
"nickname" => "Pawel",
"email" => "[email protected]",
"name" => "Pawel"
},
"extra" => {
"raw_info" => {
"id" => 1,
"nickname" => "Pawel",
"country_code" => "PL",
"plan" => "basic",
"language" => "en",
"email" => "[email protected]",
"referring_user_id" => nil
}
}
}
Copyright © 2011-2013 Exvo.com Development BV, released under the MIT license