首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >"Error validating secret。“404与Facebook Oauth和ruby

"Error validating secret。“404与Facebook Oauth和ruby
EN

Stack Overflow用户
提问于 2011-01-21 07:00:23
回答 2查看 21.4K关注 0票数 11

在用户允许facebook身份验证并使用令牌重定向到我的应用程序回调后,我正在尝试使用warden为应用程序实现facebook身份验证。我的典狱长策略是:

代码语言:javascript
复制
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

打印响应正文的结果如下:

代码语言:javascript
复制
{"error":{"type":"OAuthException","message":"Error validating client secret."}}

我是相当舒尔的应用程序id和应用程序秘密是由FB提供的。

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-07-19 00:33:51

这个错误消息我看过很多次了。以下是我要仔细检查的事情:

您的域名与您在facebook回调url

  • 中列出的内容相同应用程序id是正确的(实际上在页面上打印出来,有时是y

  • app
  • is
票数 26
EN

Stack Overflow用户

发布于 2019-08-22 17:49:53

在创建解决问题的facebook对象时添加redirect_uri。

在用户单击allow之后,将用户重定向到https://www.facebook.com/dialog/oauth?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL,它将命中我们的重定向Uri,此时我们将获得代码,我们需要对以下Url执行服务器端HTTP get,以便与我们的oAuth访问令牌交换代码:

https://graph.facebook.com/oauth/access_token?client_id=YOUR_APP_ID&redirect_uri=YOUR_URL&

代码语言:javascript
复制
 client_secret=YOUR_APP_SECRET&code=THE_CODE_FROM_ABOVE

现在在第3步,我不断得到Http 400响应。

所以经过一些研究后,我发现在我们在步骤3中提交的redirect_uri上,除了验证请求之外,并没有做任何事情。因此,该值需要与步骤2匹配。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4753643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档