· 6 years ago · Mar 10, 2019, 04:54 PM
1twitter_user_dict = twitter.showUser(screen_name=request.session['request_token']['screen_name'])
2
3oauth_token = request.session['request_token']['oauth_token'],
4
5url(r'^twitter_connect/?$', 'portnoy.views.begin_auth', name='twitter_connect'),
6url(r'^twitter_callback/?$', "portnoy.views.thanks", name="twitter_callback"),
7url(r'^twitter_register/?$', "portnoy.views.twitter_register", name="twitter_register"),
8
9def begin_auth(request):
10 twitter = Twython(
11 twitter_token = TWITTER_KEY,
12 twitter_secret = TWITTER_SECRET,
13 callback_url = request.build_absolute_uri(reverse('portnoy.views.thanks'))
14 )
15 auth_props = twitter.get_authentication_tokens()
16 request.session['request_token'] = auth_props
17 return HttpResponseRedirect(auth_props['auth_url'])
18
19def thanks(request, redirect_url='/'):
20 c = RequestContext(request)
21 twitter = Twython(
22 twitter_token = TWITTER_KEY,
23 twitter_secret = TWITTER_SECRET,
24 oauth_token = request.session['request_token']['oauth_token'],
25 oauth_token_secret = request.session['request_token']['oauth_token_secret']
26 )
27 authorized_tokens = twitter.get_authorized_tokens()
28 request.session['request_token'] = authorized_tokens
29 try:
30 twitter_user_dict = twitter.showUser(screen_name=request.session['request_token']['screen_name'])
31
32twitter_id = str(twitter_user_dict['id'])
33 user_profile = UserProfile.objects.get(twitter_id=twitter_id)
34 user_profile.user.backend='django.contrib.auth.backends.ModelBackend'
35 auth.login(request,user_profile.user)
36 except UserProfile.DoesNotExist:
37 return render_to_response('twitter_register.html', c)
38 return HttpResponseRedirect(redirect_url)
39
40def twitter_register(request):
41 c = RequestContext(request)
42 if request.method == 'POST':
43 email = request.POST.get('email')
44 password = request.POST.get('password')
45 twitter = Twython(
46 twitter_token = TWITTER_KEY,
47 twitter_secret = TWITTER_SECRET,
48 oauth_token = request.session['request_token']['oauth_token'],
49
50oauth_token_secret = request.session['request_token']['oauth_token_secret']
51 )
52...