muck-auth
This gem wraps the omniauth gem to make it simple to authenticate with multiple services.
Installation
Add muck-auth to your Gemfile:
gem 'muck-auth'
After installing muck-auth be sure to sync the gem:
rake muck:sync:auth
or to sync everything from the muck framework:
rake muck:sync
Configuration
Add services by including the proper credentials in secrets.yml:
auth_credentials:
twitter: # Twitter api access: http://www.twitter.com/apps
key: '{get a key}'
secret: '{it comes with a secret}'
valid_signin: true # include if you want to use this service to let your users signin/register for your site
OAuth Services
Here’s a list of common oauth services. For a complete list of all available services please consult the omniauth documentation as the available services are constantly changing: github.com/intridea/omniauth
Twitter: http://www.twitter.com/apps
Google: http://code.google.com/apis/accounts/docs/RegistrationForWebAppsAuto.html#register (domains are managed on: https://www.google.com/accounts/ManageDomains)
Yahoo: http://developer.yahoo.com/flickr/
Flick: http://www.flickr.com/services/apps/create/apply
Linked In: https://www.linkedin.com/secure/developer
Friendfeed: https://friendfeed.com/account/login?next=%2Fapi%2Fregister
Usage
Render a full list of all services with links to authorize the service and icons:
<%= render :partial => 'authentications/available_services', :locals => { :include_icons => true } %>
Render a list of all services that the current_user has authorized:
<%= render :partial => 'authentications/current_services', :locals => { :include_icons => true, :authentications => current_user.authentications } %>
Let users sign in and/or register on your site via oauth. Just remember to set valid_signin to true in your secrets.yml file:
<%= render :partial => 'users/signup_services' %>
There is a default template (‘authentications/signup’) that will be rendered if the sign up fails. Override that template if you want to provide the user with a custom experience:
Copyright © 2009-2011 Tatemae.com. See LICENSE for details.