Answers:
编辑:2-15-2012这是如何对本地主机网站使用FB身份验证。
我发现设置第二个Facebook应用程序更具可伸缩性和便利性。如果要构建MyApp,那么我将创建第二个MyApp-dev。
Website
2012年2月15日,新)单击“选择您的应用程序如何与Facebook集成”下的复选框(在最新的Facebook版本中,您可以在“设置”>“基本”>“添加平台”下找到它,然后选择网站)如果Rails.env =='开发'|| Rails.env =='测试' Rails.application.config.middleware.use OmniAuth :: Builder做 提供者:facebook,'DEV_APP_ID','DEV_APP_SECRET' 结束 其他 # 生产 Rails.application.config.middleware.use OmniAuth :: Builder做 提供者:facebook,'PRODUCTION_APP_ID','PRODUCTION_APP_SECRET' 结束 结束
我更喜欢这种方法,因为一旦设置好,同事和其他机器就没有其他设置了。
当然可以,只需在您的app_domain中添加url本地主机(不带“ http”),然后在您的site_url中添加http://localhost
(带有http)
更新资料
Facebook现在要进行一些更改,只需转到应用程序设置,然后在网站网址中添加http: //localhost
并保留App Domain为空
这是我的配置,适用于PHP API:
应用程式网域
http://localhost
网站网址
http://localhost:8082/
注意:自2012年起,Facebook允许将“ localhost”注册为返回URL。对于其他提供商(例如Microsoft),您仍然可能需要类似的解决方法。
如果您需要在Facebook上注册的真实域名(例如my.really.own.domain.com),则可以在本地将对此域名的请求重定向到您的计算机。在任何操作系统上,最简单的现成方法是更改“主机”文件以将域映射到127.0.0.1(请参阅http://technet.microsoft.com/zh-cn/library/bb727005.aspx#EDAA和https:/ /serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file)。
我通常使用Fiddler为我完成操作(在具有本地IIS的Windows上)-请参见以下示例 http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp上的。
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.host="localhost:80";
}
方法的主机文件方法不适用于Visual Studio Development Server,因为它要求传入的Urls为localhost / 127.0.0.1。如果您需要使用它(或可能使用IIS Express)来覆盖主机- 在IIS7 Express中使用Fiddler
Facebook不再允许FBML Facebook应用程序使用“本地主机”回调URL
我刚刚发现了一种解决方法:您可以使用http://localtunnel.com使本地计算机可访问。您需要(临时)更改您的应用程序代码/ html中使用的某些URL,以便链接指向临时域,但至少Facebook可以访问您的计算机。
在应用程序的基本设置(https://developers.facebook.com/apps)中的设置->基本->选择您的应用程序如何与Facebook集成...
使用“站点URL:”和“移动站点URL:”分别保存您的生产和开发URL。两个站点都将被允许进行身份验证。我只是使用Facebook进行身份验证,因此不需要任何移动网站重定向功能。我通常在测试身份验证时将“移动站点URL:”更改为我的“ localhost:12345”站点,然后在完成后将其设置回正常。
有 !创建您的应用程序时,我的解决方案有效,但是您想在网站上使用Facebook身份验证。当您要创建集成到FB页面的应用时,不需要以下解决方案。
问题是您不能在应用程序的Facebook配置页面中将“ localhost”作为域。安全原因?
您需要转到OSX / Linux etc / hosts中的主机文件,并添加以下行:127.0.0.1 dev.yourdomain.com
您想要放置的域。一个错误是添加以下行:localhost dev.yourdomain.com(至少在osx雪豹中不起作用)。
然后,您必须清除dns缓存。在OSX上:输入dscacheutil -flushcache在终端中。最后,返回在线Facebook开发人员网站,然后在应用程序的配置页面中添加域“ dev.yourdomain.com”。
如果您使用Mamp,Easyphp等程序,请确保Apache的端口为80。
此解决方案应适用于Windows,因为它也有一个hosts文件。不过,据我所知,Windows 7不再使用此文件,但是,如果您找到一种强制Windows使用主机文件的方法,则此技巧应起作用。
您必须选择Facebook产品“ facebook login”,然后启用“客户端OAuth登录”,“ Web OAuth登录”和“嵌入式浏览器OAuth登录”,即使您提供了localhost网址,它也能正常工作
我认为您应该能够使用Visual Studio开发Web服务器来开发应用程序:在http://www.facebook.com/developers/上启动新的FaceBook应用程序。然后将网站网址和画布url的设置设置为网站的运行实例,例如:http:// localhost:1062 /
这里有一些链接可以帮助您开始使用FaceBook:
希望这可以帮助。
试试这个 - -
https://www.facebook.com/help/community/question/?id=589302607826562
1-单击“应用程序”,然后选择您的应用程序。
2-单击屏幕左侧的“设置”按钮。
3-在基本设置中,单击设置配置下方的添加平台按钮。
4-在平台对话框中选择“网站”。
5-输入您的URL(本地主机在这里工作)。
6-在“应用程序域”文本输入中,添加与URL中的域匹配的域。
7-保存您的设置。
即使在HTTPS要求之后,此方法也能在2018年6月生效。似乎测试应用不需要https:
创建一个测试应用程序:https : //developers.facebook.com/docs/apps/test-apps/
然后在测试应用中,按照此视频中的简单步骤操作:https : //www.youtube.com/watch?v=7DuRvf7Jtkg
假设您已将应用程序注册为:
app.domain.com
您只需要通过添加来修改/ etc / hosts文件
127.0.0.1 dev01.app.domain.com
然后,修改您的apache配置
ServerName dev01.app.domain.com
并重新启动apache。
您需要将URL放入变量中,以便在某些调用中将其用作XML参数:
<fb:login-button registration-url="http://<?=$URL?>/register" />