c# - 如何为 Facebook 登录编码 redirect_uri

标签 c# facebook asp.net-mvc-3 oauth-2.0

我正在尝试为 facebook 建立登录链接,但我只在某些情况下遇到错误。我正在尝试在 redirect_uri token 中指定一个查询字符串参数,以便我可以在登录后将它们重定向回我网站的特定区域。以下是有效的方法和无效的方法。

&redirect_uri=http://mydomain.com/login?returnUrl=returnUrl - 有效 &redirect_uri=http://mydomain.com/login?returnurl=/return/url - 不起作用 &redirect_uri=http%3a%2f%2fmyagentcheckin.com%2flogin%3freturnUrl%3d%2freturn%2furl - 不起作用

似乎查询字符串中的 / 导致它失败。 Facebook 在我尝试时返回错误。有人知道解决这个问题的方法吗?

最佳答案

不要将 returnUrl 参数作为 redirect_uri 值的一部分,而是使用 state 参数来存储此数据。

例如,

https://graph.facebook.com/oauth/authorize?type=web_server&client_id= {appid}&redirect_uri=http://www.yoursite.com/oauth/handshake&state=/requested/page

关于c# - 如何为 Facebook 登录编码 redirect_uri,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5747320/

相关文章:

c# - 通过 UDP 的 Windows Phone 相机馈送速度为 "horribly"慢

c# - 如何删除linq查询中的重复项

c# - 如何将 facebook Graph 日期时间转换为 c# DateTime

android - 如何在同一请求中上传带有文字的照片?

asp.net-mvc-3 - MVC3 有选择地验证客户端

c# - MVC3 + 如何获取当前登录用户的用户名

.net - 如何从 postgresql 数据库生成 edmx

c# - 跟踪 HTTPWebRequest 的进度

C# 如何阻止代码在集合序列化期间循环导致计算器溢出?

node.js - 如何在带有 Express 的 NodeJS 中使用带有 passport-facebook 的 Facebook Graph API