在编写我的登录系统时,我在使用 Facebook 授权用户时遇到了一个小问题......
在有人单击“使用 Facebook 登录”按钮并登录/授权我的应用程序后,Facebook 会像往常一样使用一系列$_GET
变量重定向回我的网站。唯一的问题是我想检查是否设置了其中一个变量以检查 Facebook 登录的状态。
当我尝试拉$_GET
变量时,它“说”它不存在。问题在于我使用 mod_rewrite 来清理我的网址的外观:
#RewriteRule ^([A-Za-z0-9]+)/?$ ?a=b&content=$1 [L]
#RewriteRule ^([A-Za-z0-9]+)/([A-Za-z0-9]+)/?$ ?a=b&content=$1&page=$2 [L]
这变成:www.mysite.com?content=login&page=2
变成www.mysite.com/login/2
所以我的 urlwww.mysite.com/content?state=[...]&code=[...]&...etc
必须混淆 Facebook 分配的变量和要重写的$_GET
变量。
包含内容和页面集的 url 也会发生同样的事情。例如:
www.mysite.com/content/page?state=......
解决这个问题的最佳方法是什么?我知道我可以找到另一种方式来显示已确认的 Facebook 登录信息,但我敢肯定,这在未来的其他情况下仍将是一个问题。
提前致谢。