我在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()时显然无法正常工作。我究竟做错了什么?
添加回答
举报
0/150
提交
取消