# OmniAuth for Act-On [](https://travis-ci.org/berk/omniauth-acton) [](https://coveralls.io/r/berk/omniauth-acton?branch=master) [](http://badge.fury.io/rb/omniauth-acton) Acton OAuth2 Strategy for OmniAuth 1.0. Supports the OAuth 2.0 server-side. Read the Acton docs for more details: https://developer.act-on.com/documentation/oauth/ ## Installing Add to your `Gemfile`: ```ruby gem 'omniauth-acton' ``` Then `bundle install`. ## Usage `OmniAuth::Strategies::Acton` 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.rb`: ```ruby Rails.application.config.middleware.use OmniAuth::Builder do provider :acton, ENV['ACTON_CLIENT_ID'], ENV['ACTON_SECRET'] end ``` ## Configuring You can configure several options, which you pass in to the `provider` method via a `Hash`: * `scope`: A space-separated list of scopes you want to request from the user. See the Acton docs for a full list of available permissions. For example, to request `profile` permission: ```ruby Rails.application.config.middleware.use OmniAuth::Builder do provider :acton, ENV['ACTON_CLIENT_ID'], ENV['ACTON_SECRET'], :scope => 'profile' end ``` ## Authentication Hash Here's an example *Authentication Hash* available in `request.env['omniauth.auth']`: ```ruby {"provider"=>"acton", "uid"=>33333, "info"=> { "name"=>"Name"}, "credentials"=> {"token"=> "dfkjadlfkjasdkjflaskdjfjsldflasjdflkasdjflaskdjf", "refresh_token"=>"lkfkjasldjkflaskjdflkasjdlfjkasdljfk", "expires_at"=>1489053154, "expires"=>true}, "extra"=> {"user"=> { "id"=>33333, "name"=>"name", "time_format"=>"12H", "timezone"=>"UTC-08:00", "created_at"=>"2015-05-12T01:01:15Z", "updated_at"=>"2017-03-13T17:31:22Z", "currency"=>"USD", "phone"=>"+1 111-111-1111"}}} ``` The precise information available may depend on the permissions which you request.