facebook - 经过身份验证的引荐和服务器端身份验证流程 - 什么是redirect_uri?

标签 facebook oauth-2.0 facebook-oauth

从经过身份验证的引荐(例如从时间线故事)到我的网站,我尝试使用服务器端身份验证流程来获取被引荐用户的访问 token 。我需要将我的应用程序 key 、身份验证代码和原始重定向 URI 传递到 Facebook 访问 token 端点。由于我没有发起认证请求,那么如何确定原来的redirect_uri?

Facebook 时间线中的链接如下所示:

http://www.facebook.com/connect/uiserver.php?app_id=153644678059870&method=permissions.request&redirect_uri=http%3A%2F%2Fwww.wnmlive.com%2Fpost%2F141833948%3Ffb_action_ids%3D10100708033267487%26fb_action_types%3Dwnm-live%253Acomment%26fb_source%3Drecent_activity&response_type=code&display=page&auth_referral=1

所以我认为我需要传递的重定向 URI 是:

http%3A%2F%2Fwww.wnmlive.com%2Fpost%2F141833948%3Ffb_action_ids%3D10100708033267487%26fb_action_types%3Dwnm-live%253Acomment%26fb_source%3Drecent_activity

用户最终重定向到的 URI 是:

http://www.wnmlive.com/post/141833948?fb_action_ids=10100708032119787&fb_action_types=wnm-live%3Apost&fb_source=recent_activity&code=AQALK-Mwb_Nwi4z7FWnFaL6tEXvNtVJiRKrgarG9X73sp22TJyk8v2GWKtuXuevJk4hPSRNnuNpEgZXLFdOS_k-pY-mE15DYytIa8Y7VdSw3VL-XYi-CR9BCqRQGq4uBJvSSdZayCp6MWzDMaNqWd5r8OhKVnOhg_yDlvfoLl21N2SMwkJaOfD5mlPnPb5A-Q4A#_=_

是否可以安全地假设我可以砍掉以“&code=”开头的所有内容并将其用作重定向 URI?

最佳答案

根据 Facebook 工程师的说法,redirect_uri 是“&code=”之前的当前 URI。代码将始终是最终的查询字符串名称/值对。我也验证了这有效。

关于facebook - 经过身份验证的引荐和服务器端身份验证流程 - 什么是redirect_uri?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9745233/

相关文章:

python - 如何通过 Python API 获取 FB AD 帐户名?

Facebook Graph API 从帖子中获取所有喜欢

oauth-2.0 - 访问 token 和 Id token 之间的 'sub' 声明值不同

ruby-on-rails - Rails OmniAuth Facebook 'Redirect URL must be absolute'

Facebook 在处理 oauth 请求时生成 "An error occurred. Please try later"

javascript - Node.js 在 response.redirect 之后保留 URL 哈希

ios - 当您尝试从中国防火墙后登录 Facebook 时会发生什么?

c# - 如何使用应用程序访问 token 使用 publish_stream 而不是 offline_access 发布到 Facebook 用户的 friend 的墙上

azure - 调用/ token 端点没有给我 access_token

ruby-on-rails-4 - Doorkeeper::AuthorizationsController#new 中的 NoMethodError - Doorkeeper