首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >django socialauth twitter,google oauth,facebook不起作用

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

Stack Overflow用户
提问于 2012-01-16 15:51:56
回答 2查看 1.2K关注 0票数 0

这是我的第一篇文章,我有一个问题,我不能让它工作,我只需要谷歌,facebook和twitter三样东西,google很好地与开放的id,但没有太多的twitter和我的

设置。皮:

代码语言:javascript
复制
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压缩中的示例,但不起作用。

当我创建twitter应用程序时,我编写了域www.sisvei.com,我正在测试本地socialauth ie 127.0.0.1:8000,然后用twitter注册将我发送到这个url:http://127.0.0.1:8000/login/error/,并有一条消息说是不正确的认证服务

这发生在facebook、google oauth和oauth2上。

我是django的新手,我做了这么多工作,希望能帮助我,非常感谢。

EN

回答 2

Stack Overflow用户

发布于 2012-01-16 19:08:13

你需要更具体的“为什么它不起作用”。你从哪里搞到错误的?

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

  • configuration & keys -您是否确保为将要使用的服务获取所有必要的API密钥,并将它们添加到您的配置中?
  • urls -您记得向基本的urls.py文件中添加必要的url模式吗?
  • 服务器上的身份验证设置--通常,当身份验证服务访问您的服务器时,您需要有可用的文件或使用特定的标头进行响应。你检查过了没确定已经设置好了吗?
  • 数据库-安装应用程序后,您运行了syncdb吗?所有的桌子都布置好了吗?
  • 模板-如果第三方应用程序要求您设置模板,您是否设置了模板?
  • 自定义视图--您使用自定义视图吗?如果是这样的话,试着首先使用第三方应用程序附带的内置视图,看看它们是否有效。

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

从您的错误来看,您似乎没有在Twitter上正确设置回调URL。它应该将您发送到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“不是有效的端口号或地址:端口对。

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

代码语言:javascript
复制
python manage.py runserver www.sisvei.com:80

这应该可以解决你的错误,如果这是正在发生的。你可能把它当作

代码语言:javascript
复制
python manage.py runserver 127.0.0.1

127.0.0.1是一个保留的IP地址,指向您自己的计算机本地主机。因此,在您自己的计算机上运行的程序之外,不可能将它用于身份验证或任何其他用途。有关更多信息,请参见这篇文章

票数 1
EN

Stack Overflow用户

发布于 2013-07-29 20:24:00

我不确定,但我可能也有类似的问题,奥斯卡。对我来说,SocialAuth是为facebook、foursquare和hotmail生成一个AuthenticationURL,而不是为google、twitter或它支持的任何其他地址生成AuthenticationURL。我想这可能是API出了点问题,所以我在社交网站上发布了一个问题,google group...you可能想查看那里是否有人更新了!!

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8882507

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档