Django-Social在其功能列表中声称它支持将多个身份验证提供程序关联到单个用户帐户.
我似乎无法弄清楚如何使用该功能.
当我尝试使用新的身份验证提供程序登录时,它似乎自动为每个提供程序创建一个新帐户.
有任何想法吗?
Sarvi
我正在寻找一个Django应用程序来实现Facebook-connect,我找到了两个看起来非常稳定的选项:
它们似乎是彼此的分叉,但它们实际上是不同的应用程序.有人试过这两个吗?如果是这样,你会推荐我哪一个?
谢谢!
我正在尝试使用我从django-social-auth获取的OAuth令牌来访问用户日历.
所以在我设置的django-social-auth配置中:
GOOGLE_CONSUMER_KEY = 'anonymous'
GOOGLE_CONSUMER_SECRET = 'anonymous'
GOOGLE_OAUTH_EXTRA_SCOPE = ['https://www.google.com/calendar/feeds/']
Run Code Online (Sandbox Code Playgroud)
当用户从谷歌回来时,我在数据库中得到一个如下所示的条目:
{u'access_token': u'oauth_token_secret=vvvv&oauth_token=xxxx'}
Run Code Online (Sandbox Code Playgroud)
但现在,当我尝试做这样的事情时:
import gdata.calendar.client
client = gdata.calendar.client.CalendarClient()
client.auth_token = gdata.gauth.OAuthHmacToken('anonymous', 'anonymous', 'xxxx', 'vvvv', gdata.gauth.ACCESS_TOKEN)
client.GetOwnCalendarsFeed()
Run Code Online (Sandbox Code Playgroud)
我总是得到:
gdata.client.Unauthorized: Unauthorized - Server responded with: 401
<HEAD>
<TITLE>Token invalid - Invalid AuthSub token.</TITLE>
</HEAD>
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
我第一次使用Django-social-auth,似乎所有新用户都已在我的Django网站的social_auth应用程序的用户模型中注册。我有一个名为“用户”的模型,它具有一些特定的数据(与网站中的用户活动以及与其他实体的关系有关),我想将从用户的Facebook个人资料(用户名,个人资料图片等)中获取的数据放入“用户”中我自己做的模特 有什么办法可以扩展social_auth用户?
编辑 在阅读Django-social-auth文档后,我如下编辑了User类:
# User model
Run Code Online (Sandbox Code Playgroud)
类User(models.Model):
username = models.CharField(max_length=30)
last_login = models.DateTimeField(blank=True)
is_active = models.BooleanField(default=False)
playedHours = models.FloatField(default = 0)
userSlug = models.SlugField(unique = True)
playedSongs = models.ManyToManyField(Song, blank=True, null = True)
invitedFriends = models.ManyToManyField('self', blank = True, null = True)
def __unicode__(self):
return self.name
Run Code Online (Sandbox Code Playgroud)
另外,如何获取用户的个人资料图片,朋友列表等?我不明白这种机制。
非常感谢 !
当我访问时127.0.0:8000/associate/twitter,我的django获取除电子邮件地址之外的所有Twitter信息.
访问没有问题127.0.0:8000/associate/facebook,我只是想知道为什么我的django没有收到Twitter帐户的电子邮件?
有谁知道如何解决我的案子?提前致谢 ...
这是在我的settings.py中
FACEBOOK_APP_ID = '.....'
FACEBOOK_API_SECRET = '.........'
FACEBOOK_EXTENDED_PERMISSIONS = ['email']
#twitter
TWITTER_CONSUMER_KEY = '.........'
TWITTER_CONSUMER_SECRET = '.........'
Run Code Online (Sandbox Code Playgroud) 我已经开始使用https://github.com/omab/django-social-auth 并成功通过twitter,google和facebook登录.
需要
我需要查询登录用户以便做更多的事情,我将使用哪种模型?
我没有看到任何例子
谢谢
更新
@Omab,我不明白这是怎么回事,请你帮忙.当我使用twitter登录时,回调转到以下代码
@login_required
def done(request):
"""Login complete view, displays user data"""
ctx = {
'version': version,
'last_login': request.session.get('social_auth_last_login_backend')
}
logging.warn('context - ' + str(ctx))
logging.warn('request - ' + str(request))
return render_to_response('home.html', ctx, RequestContext(request))
Run Code Online (Sandbox Code Playgroud)
你能告诉我如何在这里访问用户实例吗?
谢谢
我使用 django-social-auth 作为我的身份验证机制,我需要使用登录用户测试我的应用程序。我想:
from django.test import Client
c = Client()
c.login(username='myfacebook@username.com", password='myfacebookpassword')
Run Code Online (Sandbox Code Playgroud)
尝试登录的用户成功从浏览器登录。该应用程序已被允许访问用户的数据。
在使用 django-social-auth 作为身份验证机制时如何从单元测试登录的任何想法?
谢谢
我已经在我的网络应用程序中使用facebook和google实现了社交身份验证(Django +使用了django-social-auth).我希望使用(Kendo UI + Icenium)构建的本机应用程序重用我的Web应用程序中的Oauth.
做这个的最好方式是什么?我在我的网络应用程序中使用了django-tastypie,但不确定如何将rest API与Oauth集成.
我想检查用户是通过社交身份验证还是使用django默认身份验证登录.
就像是
如果user.social_auth = true?