예제 #1
0
 def get_existing_user(self, access_token):
     unique_id = helper.get_unique_id(access_token)
     try:
         service = models.FacebookService.objects.get(unique_id=unique_id)
     except models.FacebookService.DoesNotExist:
         return None
     return service.user
예제 #2
0
def authenticate(request, access_token, redirect_to=settings.LOGIN_REDIRECT_URL):
    if request.user.is_authenticated():
        service, created = FacebookService.objects.update_or_create(user=request.user, defaults={
            'access_token': access_token,
            'unique_id': helper.get_unique_id(access_token),
        })
        return HttpResponseRedirect(redirect_to)
    return HttpResponse('fail! This often happens because you dont have the auth backend installed.') # TODO: real response
예제 #3
0
def authorize(request, access_token, redirect_to=settings.LOGIN_REDIRECT_URL):
    service, created = FacebookService.objects.update_or_create(user=request.user, defaults={
        'access_token': access_token,
        'unique_id': helper.get_unique_id(access_token),
    })
    if created:
        message = "Facebook account added."
    else:
        message = "This Facebook account has already been adeed."
    request.user.message_set.create(message=message)
    return HttpResponseRedirect(redirect_to)