我有一个网站,专门使用Facebook身份验证作为其会员系统。在Facebook应用设置中,回调网址设置为网站的域名。
我想继续开发本地网站,同时保持网站的正常运行。但是,由于回调网址是网站的实时域名而不是本地主机地址,因此Facebook身份验证部分失败。
是否可以同时使用localhost和域回调网址?如果没有,那么继续本地开发已经存在的网站的标准做法是什么?
答案 0 :(得分:2)
假设您使用ASP。但是适用于任何语言。
您可以使用http://localhost作为域名在facebook中创建另一个应用程序。将appid和secret分别存储在web.config文件中。
然后在主页的代码后面,检查Request.ServerVariables(“HTTP_HOST”),如果是localhost,请使用web.config文件中的相应设置。
If Request.ServerVariables("HTTP_HOST").StartsWith("localhost") Then
FBAppID = System.Configuration.ConfigurationManager.AppSettings.Item("FBAppIDLocal")
Else
FBAppID = System.Configuration.ConfigurationManager.AppSettings.Item("FBAppID")
End If
答案 1 :(得分:0)
您可以在请求访问令牌时指定回调网址:
https://www.facebook.com/dialog/oauth?
client_id=YOUR_APP_ID&redirect_uri=YOUR_URL
这应该覆盖其他回调路径。 请参阅here。
答案 2 :(得分:0)
你可以创建一个新的应用程序(复制代码),就像一个新的分支,并在本地开发它,当它完成后,然后将其上传到在线版本(如合并)。
在当地发展:
Facebook - >设置 - >基本,在“App中编写”localhost“ 域“字段,然后单击”+添加平台“选择”网站“。
然后在“网站网址”字段中编写您的本地网址(例如:
http://localhost:1337/something
)。