如何编码的redirect_uri为facebook登录
本文关键字:uri facebook 登录 redirect 何编码 编码 | 更新日期: 2023-09-27 17:50:42
我正试图为facebook建立一个登录链接,我只在某些情况下得到错误。我试图在redirect_uri
令牌中指定一个查询字符串参数,以便我可以在登录后将它们重定向到我网站的特定区域。以下是可行和不可行的方法。
&redirect_uri=http://mydomain.com/login?returnUrl=returnUrl
- works&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&状态=/要求/页
我也遇到过类似的情况,尤其是上面提到的多个重定向。
我的解决方案是将returnUrl放入用户会话(或者可能是cookie)中,这样我就不必纠结于双重编码。对于redirect_url,只需省略querystring。
尝试使用这个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
当我尝试你所做的时,我得到了一个重定向回调,就像这样。http://mydomain.com/login?returnurl=%2Freturn%2Furl&代码=…
解码"returnurl"值。