为了账号安全,请及时绑定邮箱和手机立即绑定

Django + Foursquare OAuth +用户登录

Django + Foursquare OAuth +用户登录

守着星空守着你 2021-03-30 21:14:49
我在google和stackoverflow上查看了有关此主题的其他一些问题,但似乎找不到正确的解决方案。我正在尝试使用foursquare验证用户的应用程序。当用户使用foursquare登录时,我想以用户身份在数据库中创建然后存储他们的一些信息。这一切都很好。同时,我想以经过身份验证的用户身份登录。这是我遇到麻烦的地方。我的看法如下所示:def foursq_done(request):# get the access_tokenaccess_token = request.session.get('access_token')print access_token# request user details from foursquareparams = {'oauth_token': access_token}data = urllib.urlencode(params)url = 'https://api.foursquare.com/v2/users/self'full_url = url + '?' + dataprint full_urlresponse = urllib2.urlopen(full_url)response = response.read()user_data = json.loads(response)['response']['user']name = user_data['firstName']try:    user = User.objects.get(username=user_data['contact']['email'])except User.DoesNotExist:    # Save information on user    user = User.objects.create_user(username=user_data['contact']['email'],        first_name=user_data['firstName'], last_name=user_data['lastName'],        email=user_data['contact']['email'], password=access_token)    profile = Profile()    profile.user = user    profile.oauth_token = access_token    profile.save()user = authenticate(username=user_data['contact']['email'], password=access_token)login(request, user)# show the page with the user's name to show they've logged inreturn TemplateResponse(request, 'foursq_auth/foursq_welcome.html', {'name': name}这与我之前创建Django用户时使用的登录过程相同,我不希Foursquare用户成为AnonymousUser,但是当我运行authenticate()时显然无法正常工作。我究竟做错了什么?
查看完整描述

2 回答

  • 2 回答
  • 0 关注
  • 117 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号