如何在本地主机中使用 python 社交身份验证来测试 Facebook 身份验证?编辑了更多细节

How to test Facebook authentication using python social auth in localhost? Edited with more details

这个问题几乎解释了一切。我正在编写一个 Django 应用程序,它将通过 Python 社交身份验证使用 Facebook 身份验证。我使用 Facebook 开发人员创建了一个应用程序。问题是,我没有在我的网站上设置域,因为我仍在本地主机上进行测试。我无法在 Facebook 应用程序设置中输入本地主机 URL。当我尝试通过本地主机登录时,它说 URL 必须与域匹配。

现在怎么办?如果不进行测试,我也无法托管我的网站,因为我不确定是否一切都会像我想要的那样工作。

编辑:

我创建了一个测试应用程序,并且能够将 localhost:8000 作为站点 url 并将本地主机作为应用程序域。但是,同样的问题仍然存在。它说 2 urls 必须匹配或什么的。注意:在我的本地主机中,登录名是 127.0.0.1:8000/login/facebook。是的,我确实更新了我的测试应用程序的 ID 和应用程序密码。

现在怎么办?

您应该能够在 Facebook(有一个 'Create Test App')菜单选项中创建一个测试应用程序。可能是你需要先创建一个App,有了它之后,你就可以为它创建Test App,但是你肯定可以创建一个Test App。

在该测试应用中,使用 http://localhost:8000/ 作为本地 URL。只需确保它与 URL 完全相同(即您不能在 Facebook 上使用 'localhost',然后启动“127.0.0.1”的服务器)。请注意,您将使用的 AppID 和 AppSecret 属于测试应用(而非生产应用)。

这应该有效。我没有在 python-social-auth 中使用它,但在 django-allauth 中使用它进行测试,没有理由会有所不同。