Login with Amazon OAuth2 strategy for OmniAuth 1.0
Add this line to your application's Gemfile:
gem 'omniauth-amazon'
And then execute:
$ bundle
Or install it yourself as:
$ gem install omniauth-amazon
You must create an application via the Amazon App Console. Once that is complete, register two URLs under Web Settings -> Allowed Return URLs:
http://localhost:3000/auth/amazon/callback
https://your_website_here/auth/amazon/callback
Amazon requires HTTPS for the whitelisted callback URL (except localhost). They don't appear to
like .dev
domains too much but happily accept localhost.
Usage is similar to other OAuth2 based OmniAuth strategies:
Rails.application.config.middleware.use OmniAuth::Builder do
provider :amazon, ENV['AMAZON_CLIENT_ID'], ENV['AMAZON_CLIENT_SECRET'],
{
:scope => 'profile postal_code' # default scope
}
end
Config options can be passed to provider
via a Hash
:
scope
: A space-separated list of permissions. Can beprofile
,postal_code
,profile:user_id
, or a combination of options.
Defaults to:profile postal_code
- Requesting the
profile:user_id
scope will not display an additional consent screen the first time the user logs in.
- Requesting the
- Fix
raw_info
to see whyclient.request
has to be used in query mode
- Fork it
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create new Pull Request