Trestle::Omniauth

Adds stateless authentication for Trestle via omniauth providers. Similar to trestle-auth, but doesn't require extra models, and works good if you're already using an OAuth provider for authentication elsehwere.

Installation

Add this line to your application's Gemfile:

gem 'trestle-omniauth'

Add whichever OmniAuth strategies you will use for authentication to your Gemfile as well:

gem 'omniauth-google-oauth2'  # for example

And then run bundler to install your new gems:

$ bundle

Note: You don't need to mount this gem like you might with Trestle. It just plugs in to the existing way that Trestle is mounted in your app.

Usage

trestle-omniauth uses Omniauth providers unadulterated. To add providers, use the omniauth.provider method exposed on the trestle config the same way you'd use the OmniAuth::Builder#provider method.

In your config/initializers/trestle.rb, add providers like so:

# config/initializers/trestle.rb
Trestle.configure do |config|
# ...
# ...
  config.omniauth.provider :developer unless Rails.env.production?
  config.omniauth.provider :google_oauth2, ENV['GOOGLE_CLIENT_ID'], ENV['GOOGLE_CLIENT_SECRET']
end

License

The gem is available as open source under the terms of the MIT License.