コード例 #1
0
ファイル: views.py プロジェクト: liorsion/Pairup-Israel
 def post(self, request, *args, **kwargs):
     cookie = facebook.get_user_from_cookie(request.COOKIES,
                                            settings.FACEBOOK_APP_ID,
                                            settings.FACEBOOK_API_SECRET)
     
     if cookie:
         uid = cookie['uid']
         facebook_api = facebook.GraphAPI(cookie['access_token']);
         try:
             profile = facebook_api.get_object('me')
         
             post_req = request.POST.copy()
             post_req["username"] = profile["name"]
             post_req["email"] = profile["email"]
             password = rand1(8)
             post_req["password1"]=post_req["password2"]=password
             request.POST = post_req
         
         except URLError:
             pass
     else:
             profile = {}
         
     http_response = register(request, form_class=RegistrationFormExpandedUsername, *args, **kwargs) 
     
     if "email" in profile and isinstance(http_response, HttpResponseRedirect):
         try:
             new_user = User.objects.get(email=profile["email"])
             UserSocialAuth.objects.create(user=new_user, 
                                           uid=uid,
                                           provider="facebook",
                                           extra_data=simplejson.dumps({u'access_token': cookie['access_token'], 
                                                                         u'expires': None, 
                                                                         u'id': uid,
                                                                         u'public_profile_url':'https://graph.facebook.com/%s' % (profile["username"])
                                                                       })
                                           )
         except User.DoesNotExist:
             pass
     return http_response
コード例 #2
0
ファイル: views.py プロジェクト: liorsion/Pairup-Israel
 def get(self, request, *args, **kwargs):
     twitter_cookie = twitter.get_user_from_cookie(request.COOKIES,
                                                   settings.TWITTER_CONSUMER_SECRET)
     if twitter_cookie:
         uid = twitter_cookie['uid']
         post_req = request.POST.copy()
         #post_req["email"] = profile["email"]
         password = rand1(8)
         post_req["password1"]=post_req["password2"]=password
         request.POST = post_req
     else:
         profile = {}
             
     http_response = register(request, form_class=RegistrationFormExpandedUsername, *args, **kwargs) 
     
     if twitter_cookie and isinstance(http_response, HttpResponseRedirect):
         try:
             new_user = User.objects.get(username=profile["username"])
             UserSocialAuth.objects.create(user=new_user, 
                                           uid=uid,
                                           provider="twitter")
         except User.DoesNotExist:
             pass
     return http_response