Eri*_* Hu 244
编辑:2-15-2012这是如何对localhost网站使用FB身份验证.
我发现设置第二个Facebook应用程序更具可扩展性和便利性.如果我正在构建MyApp,那么我将创建一个名为MyApp-dev的第二个.
Website
"选择你的应用程序如何与Facebook集成"下的复选框(在最近的Facebook版本中,你可以在设置>基本>添加平台下找到它 - 然后选择网站)if Rails.env == 'development' || Rails.env == 'test' Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook, 'DEV_APP_ID', 'DEV_APP_SECRET' end else # Production Rails.application.config.middleware.use OmniAuth::Builder do provider :facebook, 'PRODUCTION_APP_ID', 'PRODUCTION_APP_SECRET' end end
我更喜欢这种方法,因为一旦设置好,同事和其他机器就没有额外的设置.
sta*_*lin 26
当然你可以,只需在app_domain中添加url localhost(不带"http"),然后添加你的site_url http://localhost
(带http)
更新
Facebook现在改变了一些东西,只需转到应用程序设置,在网站URL中添加http: //localhost
并保留App Domain为空
小智 20
这是我的配置,它适用于PHP API:
应用域名
Run Code Online (Sandbox Code Playgroud)http://localhost
网站网址
Run Code Online (Sandbox Code Playgroud)http://localhost:8082/
Ale*_*kov 19
注意:截至2012年,Facebook允许将"localhost"注册为返回URL.您可能还需要其他提供程序(即Microsoft one)的类似解决方法.
如果您需要在Facebook注册的真实域名(如my.really.own.domain.com),您可以将本地域的请求重定向到您的计算机.在任何操作系统上最简单的开箱即用方法是更改"hosts"文件以将域映射到127.0.0.1(请参阅http://technet.microsoft.com/en-us/library/bb727005.aspx#EDAA和https:/ /serverfault.com/questions/118290/cname-record-alias-in-windows-hosts-file).
我通常使用Fiddler为我做这个(在Windows上使用本地IIS) - 请参阅http://www.fiddler2.com/Fiddler/Dev/ScriptSamples.asp上的示例.
if (oSession.HostnameIs("my.really.own.domain.com")) {
oSession.host="localhost:80";
}
Run Code Online (Sandbox Code Playgroud)
主机文件方法的方法不适用于Visual Studio Development Server,因为它要求传入的Urls为localhost/127.0.0.1.如果您需要使用它(或可能使用IIS express)来覆盖主机 - 使用Fiddler和IIS7 Express
我刚刚发现了一种解决方法:您可以使用http://localtunnel.com访问本地计算机.您需要(暂时)更改应用程序代码/ html中使用的某些URL,以便链接指向临时域,但至少facebook可以到达您的计算机.
在您的应用程序的基本设置(https://developers.facebook.com/apps)下设置 - >基本 - >选择您的应用程序如何与Facebook集成...
使用"站点URL:"和"移动站点URL:"分别保存您的生产和开发URL.两个站点都将被允许进行身份验证.我只是使用Facebook进行身份验证,因此我不需要任何移动站点重定向功能.我通常在测试身份验证时将"移动站点URL:"更改为我的"localhost:12345"站点,然后在完成后将其设置恢复正常.
有 !我的解决方案在您创建应用程序时有效,但您想在您的网站上使用facebook身份验证.当您想要创建集成到FB页面的应用程序时,不需要此解决方案.
问题是你不能把"localhost"作为一个域放在你的应用程序的Facebook配置页面中.安全原因?
您需要转到主机文件,在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使用hosts文件的方法,这个技巧应该可行.
即使在 HTTPS 要求之后,这也适用于 2018 年 6 月。似乎测试应用程序不需要 https:
创建一个测试应用程序:https : //developers.facebook.com/docs/apps/test-apps/
然后在测试应用程序中,按照此视频中的简单步骤操作:https : //www.youtube.com/watch?v=7DuRvf7Jtkg
归档时间: |
|
查看次数: |
142767 次 |
最近记录: |