def login_facebook_connect(request): print request.POST status = 'unknown failure' try: userid = request.POST['userid'] username = request.POST['username'] email = request.POST['email'] try: fb = FacebookUser.objects.get(facebook_id=userid) status = "logged in existing user" print fb except FacebookUser.DoesNotExist: try: profile = Profile.objects.get(primary_email=email) except Profile.DoesNotExist: pass contrib_user = User() contrib_user.save() contrib_user.username = u"fbuser_%s" % contrib_user.id print contrib_user.username fb = FacebookUser() fb.facebook_id = user fb.contrib_user = contrib_user temp = hashlib.new('sha1') temp.update(str(datetime.datetime.now())) password = temp.hexdigest() contrib_user.set_password(password) fb.contrib_password = password fb.save() contrib_user.save() status = "created new user" print fb authenticated_user = auth.authenticate( username=fb.contrib_user.username, password=fb.contrib_password) auth.login(request, authenticated_user) else: status = 'wrong hash sig' logging.debug("FBConnect: user %s with exit status %s" % (user, status)) except Exception, e: logging.debug("Exception thrown in the FBConnect ajax call: %s" % e) print repr(e)
def login_facebook_connect(request): status = reverse('userena_signup') try: expires = request.POST['expires'] ss = request.POST['ss'] session_key = request.POST['session_key'] user = request.POST['user'] sig = request.POST['sig'] pre_hash_string = "expires=%ssession_key=%sss=%suser=%s%s" % ( expires, session_key, ss, user, settings.FACEBOOK_APPLICATION_SECRET, ) post_hash_string = hashlib.new('md5') post_hash_string.update(pre_hash_string) if post_hash_string.hexdigest() == sig: try: fb = FacebookUser.objects.get(facebook_id=user) except FacebookUser.DoesNotExist: fb = FacebookUser() fb.facebook_id = user temp = hashlib.new('sha1') temp.update(str(datetime.datetime.now())) #password = temp.hexdigest() #fb.contrib_password = password fb.save() if fb.contrib_user: fb.contrib_user.backend = 'django.contrib.auth.backends.ModelBackend' auth.login(request, fb.contrib_user) status = reverse("website-user-home") elif not request.user.is_anonymous(): fb.contrib_user = request.user fb.save() status = reverse("website-user-home") else: request.session['fb_pk'] = fb.pk else: status = reverse("website-home") logging.debug("FBConnect: user %s with exit status %s" % (user, status)) except Exception, e: status = reverse("website-home") logging.debug("Exception thrown in the FBConnect ajax call: %s" % e)
def login_facebook_connect(request): status = 'unknown failure' try: expires = request.POST['expires'] ss = request.POST['ss'] session_key = request.POST['session_key'] user = request.POST['user'] sig = request.POST['sig'] pre_hash_string = "expires=%ssession_key=%sss=%suser=%s%s" % ( expires, session_key, ss, user, settings.FACEBOOK_APPLICATION_SECRET, ) post_hash_string = hashlib.new('md5') post_hash_string.update(pre_hash_string) if post_hash_string.hexdigest() == sig: try: fb = FacebookUser.objects.get(facebook_id=user) status = "logged in existing user" except FacebookUser.DoesNotExist: contrib_user = User() contrib_user.save() contrib_user.username = u"fbuser_%s" % contrib_user.id fb = FacebookUser() fb.facebook_id = user fb.contrib_user = contrib_user temp = hashlib.new('sha1') temp.update(str(datetime.datetime.now())) password = temp.hexdigest() contrib_user.set_password(password) fb.contrib_password = password fb.save() contrib_user.save() status = "created new user" authenticated_user = auth.authenticate(username=fb.contrib_user.username, password=fb.contrib_password) auth.login(request, authenticated_user) else: status = 'wrong hash sig' logging.debug("Facebook connect: user %s with exit status %s" % (user, status)) except Exception, e: logging.debug("Exception thrown in the FBConnect ajax call: %s" % e)