Mendeley has an excellent API (in fact, they put up a contest using their API, this question is not specific to this), which uses OAuth.
I'm trying to write a strategy that allows Mendeley Authentication, and I'm having a lot of trouble.
I go to / auth / mendeley, it redirects me to Mendeley.com, I authenticate, then redirects me to a page that has nothing, but it
{"error": "Consumer key not found"}
They mention that this is 3 OAuth, this is something that requires an extra step, what does OAuth usually do?
Here is what I have:
module OmniAuth
module Strategies
autoload :Mendeley, 'lib/mendeley'
end
end
OAUTH = YAML.load_file(File.join(Rails.root, "config", "oauth.yml"))
ActionController::Dispatcher.middleware.use OmniAuth::Builder do
provider OmniAuth::Strategies::Mendeley, OAUTH['mendeley']['consumer_key'], OAUTH['mendeley']['consumer_secret']
end
require 'omniauth/oauth'
require 'multi_json'
module OmniAuth
module Strategies
class Mendeley < OAuth2
def initialize(app, consumer_key = nil, consumer_secret = nil, &block)
client_options = {
:site => 'http://api.mendeley.com'
}
super(app, :mendeley, consumer_key, consumer_secret, client_options, &block)
end
end
end
end