2011-04-21 146 views
4

我想建立Facebook的登录链接,我只是在某些情况下我得到的错误。我试图在redirect_uri令牌中指定querystring参数,以便我可以在登录后将它们重定向回到我站点的特定区域。以下是有效的和无效的。如何编码Facebook的登录redirect_uri

&redirect_uri=http://mydomain.com/login?returnUrl=returnUrl - 工程 &redirect_uri=http://mydomain.com/login?returnurl=/return/url -doesn't工作 &redirect_uri=http%3a%2f%2fmyagentcheckin.com%2flogin%3freturnUrl%3d%2freturn%2furl -doesn't工作

看来,在查询字符串的/是导致其失败。当我尝试它时,Facebook返回一个错误。任何人都知道解决这个问题的方法?

回答

1

我都经历过类似的东西,尤其是与多个如上重定向。

我的解决办法是把RETURNURL到用户的会话(或者是一个cookie),所以我没有与编码双搏斗。对于redirect_url,只需省略查询字符串。

+0

我是怕这将是答案= ).... – Micah 2011-04-21 17:41:57

0

尝试使用this API放在一起。它会为你消除这种麻烦。

不需要URL编码。

样品认证

Imports Branches.FBAPI 
... 
Dim SI As New SessionInfo("[application_id]","applicaiton_secret") 
SI.AuthenticateUser("http://[my url]", New SessionInfo.PermissionsEnum(){SessionInfo.PermissionsEnum.email, SessionInfo.PermissionsEnum.read_stream})) 

阅读从你上面从该页面提供的URL的响应。

Dim FSR = FS.ReadFacebooAuthResponse