def callback(request): error = False token = request.session.get('token', None) if not token: error = True token = oauth.OAuthToken.from_string(token) if token.key != request.GET.get('oauth_token', 'no-token'): error = True token = get_authorized_token(token) # Actually login obj = is_authorized(token) if obj is None: error = True if error: return HttpResponseRedirect('/?msg=2') username_twitter = obj['screen_name'] try: # Connexion au compte existant u = User.objects.get(username=username_twitter) user = Account.objects.get(user=u) new_id = u.id password_value = user.password except User.DoesNotExist: # Creation du compte password_value = makePassword(39,40) new_user = User.objects.create_user(username=username_twitter, email='*****@*****.**', password=password_value) new_user.first_name = obj['name'] new_user.is_staff = False new_user.is_superuser = False new_user.save() usermod = new_user new_id = new_user.id user = Account(user=new_user) user.password = password_value user.oauth_token = token.key user.oauth_token_secret = token.secret user.url = obj['url'] user.location = obj['location'] user.description = obj['description'] user.avatar_url = obj['profile_image_url'] user.save() userco = authenticate(username=username_twitter, password=password_value) if userco is not None: login(request, userco) return HttpResponseRedirect('/?msg=2') else: return HttpResponseRedirect('/?msg=1')