Skip to content

imclab/omniauth-yammer

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

OmniAuth Yammer

This gem contains the Yammer strategy for OmniAuth 1.0.

Supports the OAuth 2.0 server-side flow. Read the Yammer docs for more details: https://developer.yammer.com/api/oauth2.html

Installing

Add to your Gemfile:

gem 'omniauth'
gem 'omniauth-yammer'

or even:

gem 'omniauth'
gem 'omniauth-yammer', :git => 'git://github.com/le0pard/omniauth-yammer.git'

Then bundle install.

Usage

OmniAuth::Strategies::Yammer 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:

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :yammer, ENV['YAMMER_KEY'], ENV['YAMMER_SECRET']
end

For changing default domain in gem (for dev or testing purpose) use YAMMER_DOMAIN environment variable:

ENV['YAMMER_DOMAIN'] = 'https://staging.yammer.com'

Devise

Add this line to devise config:

config.omniauth :yammer, "Consumer key", "Consumer secret"

If you have this error:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

Then you can fix this by setting valid cert:

wget http://www.cacert.org/certs/root.crt
cat root.crt >> lib/ca-bundle.crt

and edit devise config:

config.omniauth :yammer, "Consumer key", "Consumer secret", {:client_options => {:ssl => {:ca_file => "#{Rails.root}/lib/ca-bundle.crt" }}}