Tom*_*nes 5 facebook ruby-on-rails omniauth
我正在使用Rails 3.我在SessionsController中得到一个Rack :: OAuth2 :: Client :: Error当我尝试获取访问密钥时创建错误.我使用omniauth登录到facebook,我得到了param ["code"]现在我尝试使用fbgraph来获取访问代码,我得到了Rac :: OAuth2 :: Client :: Error.
def create
auth=request.env["omniauth.auth"]
fb_auth=FbGraph::Auth.new("xxxxxxx", "xxxxxxxxxxxxxxxxxxxxxxxxxxx")
client=fb_auth.client
client.redirect_uri="http://localhost:3000/facebook/callback/"
client.authorization_code=params[:code]
access_token = client.access_token! # => Rack::OAuth2::AccessToken
user=User.find_by_provider_and_uid(auth["provider"], auth["id"]) ||User.create_with_omniauth(auth, access_token)
session[:user_id]=user.id
redirect_to root_url, :notice => "Signed In!"
end
Run Code Online (Sandbox Code Playgroud)
access_token!line是返回错误的原因.
如果您在fb_auth而不是客户端上设置redirect_uri,那么应该没问题,例如
fb_auth = FbGraph::Auth.new(
"xxxxxxx",
"xxxxxxxxxxxxxxxxxxxxxxxxxxx",
:redirect_uri = "http://localhost:3000/facebook/callback"
)
client=fb_auth.client
client.authorization_code=params[:code]
access_token = client.access_token! # => Rack::OAuth2::AccessToken
Run Code Online (Sandbox Code Playgroud)
您还应该查看https://github.com/nov/fb_graph/issues/127#issuecomment-2244499,然后阅读 fb_graph_sample 代码并设置 FbGraph 调试。
| 归档时间: |
|
| 查看次数: |
907 次 |
| 最近记录: |