Mac*_*rio 10 ruby facebook oauth-2.0
在用户允许使用facebook auth并使用令牌重定向到我的应用程序回调之后,我正在尝试使用warden为应用程序实现facebook身份验证,同时消耗api.我的监狱长策略如下:
class Facebook < Warden::Strategies::Base
def client
@client ||= OAuth2::Client.new MyApp::Facebook::AppID, MyApp::Facebook::AppSecret, :site => 'https://graph.facebook.com'
end
def params
@params ||= Rack::Utils.parse_query(request.query_string)
end
def authorize_url
client.web_server.authorize_url :redirect_uri => request.url, :scope => 'email,publish_stream'
end
def authenticate!
throw(:halt, [302, {'Location' => authorize_url}, []]) unless params['code']
facebook = client.web_server.get_access_token params['code'], :redirect_uri => request.url
rescue OAuth2::HTTPError => e
puts e.response.body
end
end
Strategies.add :facebook, Facebook
Run Code Online (Sandbox Code Playgroud)
打印响应体的结果是:
{"error":{"type":"OAuthException","message":"Error validating client secret."}}
Run Code Online (Sandbox Code Playgroud)
我非常感觉应用程序ID和应用程序秘密是由FB提供的.
谢谢.
Jer*_* C. 23
我多次看到这个错误信息.以下是我要仔细检查的事情: