def facebook_connect(request, template='socialregistration/facebook.html', extra_context=dict()):
    """
    View to handle connecting existing accounts with facebook
    """
    fb = Facebook(settings.FACEBOOK_API_KEY, settings.FACEBOOK_SECRET_KEY)
    if not fb.check_session(request) \
        or not request.user.is_authenticated():
        extra_context.update(
            dict(error=FB_ERROR)
        )
        return render_to_response(
            template,
            extra_context,
            context_instance=RequestContext(request)
        )

    try:
        profile = FacebookProfile.all().filter('uid=',fb.uid).fetch(1)[0]
    except IndexError:
        fb_profile = fb.users.getInfo(fb.uid, ['name','email','pic_square','username', ])[0]
        profile = FacebookProfile(user=request.user,
            uid=fb.uid,
            username = fb_profile['username'],
            real_name = fb_profile['name'],
            email = fb_profile['email'],
            pic_url = fb_profile['pic_square'],
            )
        profile.save()


    return HttpResponseRedirect(_get_next(request))
Пример #2
0
 def authenticate(self, uid=None):
     try:
         # GAE implementation:
         query = FacebookProfile.all()
         query.filter('uid =', uid).filter('site = ', Site.objects.get_current())
         profile = query.get()
         return profile.user
         #return FacebookProfile.objects.get(
         #    uid=uid,
         #    site=Site.objects.get_current()
         #).user
     except:
         return None
Пример #3
0
    def authenticate(self, uid=None):
        try:
            facebook_profile = FacebookProfile.all()
            facebook_profile.filter('uid = ', uid)
            #facebook_profile.filter('site = ',Site.objects.get_current())
            facebook_profile = facebook_profile.fetch(1)
            auth_user = facebook_profile[0].user

            return auth_user
            #return FacebookProfile.objects.get(
            #    uid=uid,
            #    site=Site.objects.get_current()
            #).user
        except:
            return None
    def authenticate(self, uid=None):
        try:
            facebook_profile = FacebookProfile.all()
            facebook_profile.filter('uid = ',uid)
            #facebook_profile.filter('site = ',Site.objects.get_current())
            facebook_profile = facebook_profile.fetch(1)
            auth_user = facebook_profile[0].user

            return auth_user
            #return FacebookProfile.objects.get(
            #    uid=uid,
            #    site=Site.objects.get_current()
            #).user
        except:
            return None
Пример #5
0
 def authenticate(self, uid=None):
     return FacebookProfile.all().filter('uid =', uid).get()