django socialauth twitter,google oauth,facebook不起作用

时间:2012-01-16 15:51:57

标签: django facebook twitter socialauth

这是我的第一篇文章,我有一个问题我无法使其工作django OMAB socialauth我需要google,facebook和twitter三个方面,google与open id配合得很好,但twitter不多我把我的

设置。吡啶:

TWITTER_CONSUMER_KEY              = '00' this is no real
TWITTER_CONSUMER_SECRET           = '00' this is no real
FACEBOOK_APP_ID                   = '' ihave no key
FACEBOOK_API_SECRET               = ''
LINKEDIN_CONSUMER_KEY             = ''
LINKEDIN_CONSUMER_SECRET          = ''
ORKUT_CONSUMER_KEY                = ''
ORKUT_CONSUMER_SECRET             = ''ihave no key
GOOGLE_OAUTH2_CLIENT_ID           = ''
GOOGLE_OAUTH2_CLIENT_SECRET       = ''
SOCIAL_AUTH_CREATE_USERS          = True
SOCIAL_AUTH_FORCE_RANDOM_USERNAME = False
SOCIAL_AUTH_DEFAULT_USERNAME      = 'socialauth_user'
SOCIAL_AUTH_COMPLETE_URL_NAME     = 'socialauth_complete'
LOGIN_ERROR_URL                   = '/login/error/'
#SOCIAL_AUTH_USER_MODEL            = 'app.CustomUser'
SOCIAL_AUTH_ERROR_KEY             = 'socialauth_error'
GITHUB_APP_ID                     = ''
GITHUB_API_SECRET                 = ''
FOURSQUARE_CONSUMER_KEY           = ''
FOURSQUARE_CONSUMER_SECRET        = ''

LOGIN_URL          = '/login-form/'
LOGIN_REDIRECT_URL = '/'
LOGIN_ERROR_URL    = '/login-error/'

我正在使用OMAB socialauth django拉链中的示例,但无效。

当我创建我的推特应用程序时,我写了我的域名www.sisvei.com,我正在测试本地社交论坛django,即127.0.0.1:8000,然后用twitter登录发送给我这个网址:  http://127.0.0.1:8000/login/error/以及是不正确的身份验证服务

的消息

这发生在facebook和google oauth和oauth2

我是django的新手,我的这项工作包括django socialath的这一部分希望能帮到我,非常感谢你。

2 个答案:

答案 0 :(得分:1)

你需要更具体地说明“为什么它不起作用”。你在哪里得到错误?

在Django中调试第三方oauth / openid应用程序时,通常归结为:

  • 配置&密钥 - 您是否确保为将要使用的服务获取所有必需的API密钥,并将它们添加到您的配置中?
  • urls - 您是否记得将必要的urlpatterns添加到基础urls.py文件中?
  • 服务器上的身份验证设置 - 通常,当身份验证服务到达您的服务器时,您需要提供可用文件或使用特定标头进行响应。您是否已检查以确保已设置?
  • 数据库 - 安装应用后,您是否运行syncdb?是否设置了所有表格?
  • 模板 - 如果第三方应用程序要求您设置模板,是否设置了它们?
  • 自定义视图 - 您使用自定义视图吗?如果是这样,请先尝试使用第三方应用程序附带的内置视图,看看它们是否正常工作

确认后,您将希望能够看到正在发生的请求。使用Chrome / Safari中包含的调试器,或者获取Firefox的Web开发人员插件,并在网络请求发生时查看它们。您是否看到除200以外的HTTP响应(例如,404,500,403等?),这些意味着服务没有正确响应。

根据您的错误,您似乎没有在Twitter上正确设置回调网址。它应该发送到www.sisvei.com,而不是127.0.0.1。或者,当您到达Twitter登录页面时检查URL - 是URL中的回调URL,它是否指向127.0.0.1?然后Django发送错误的回调URL。

最后:

  

我写了我的域名www.sisvei.com python不支持这个

目前尚不清楚。据我所知,Python并不关心域是什么。

等待一分钟 ......

您使用的是runserver吗?您收到以下错误吗?

  

错误:“www.sisvei.com”不是有效的端口号或地址:端口对。

如果是这样,有一个简单的解决方法!就像这样运行它:

python manage.py runserver www.sisvei.com:80

如果发生了这种情况,那应该可以解决您的错误。你可能正在运行它

python manage.py runserver 127.0.0.1

127.0.0.1是一个保留的IP地址,它指向您自己的计算机localhost。因此,不可能将其用于身份验证或在您自己的计算机上运行的程序之外的任何其他目的。有关详细信息,请参阅this article

答案 1 :(得分:0)

我不确定,但我可能遇到类似的问题,奥斯卡。对我来说,SocialAuth正在为facebook,foursquare和hotmail生成AuthenticationURL,但不支持google,twitter或其支持的任何其他地址。我认为API可能有问题,所以我在社交认证谷歌小组上发布了一个问题 ...你可能想检查一下是否有人更新!!

https://code.google.com/p/socialauth/issues/detail?id=282&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary%20Modified