def authenticate(self, identity=None): try: openid_profile = OpenIDProfile.all() openid_profile.filter('identity = ', identity) #openid_profile.filter('site = ',Site.objects.get_current()) openid_profile = openid_profile.fetch(1) auth_user = openid_profile[0].user return auth_user #OpenIDProfile.objects.get( # identity=identity, #site=Site.objects.get_current() #).user except: return None
def authenticate(self, identity=None): try: openid_profile = OpenIDProfile.all() openid_profile.filter('identity = ',identity) #openid_profile.filter('site = ',Site.objects.get_current()) openid_profile = openid_profile.fetch(1) auth_user = openid_profile[0].user return auth_user #OpenIDProfile.objects.get( # identity=identity, #site=Site.objects.get_current() #).user except: return None
def authenticate(self, identity=None): return OpenIDProfile.all().filter('identity =', identity).get()
def openid_callback(request, template='socialregistration/openid.html', extra_context=dict(), account_inactive_template='socialregistration/account_inactive.html'): """ Catches the user when he's redirected back from the provider to our site """ client = OpenID( request, 'http%s://%s%s' % ( _https(), Site.objects.get_current().domain, reverse('openid_callback') ), request.session.get('openid_provider') ) # print 'hi' # print request.GET if client.is_valid(): if request.user.is_authenticated(): # Handling already logged in users just connecting their accounts try: profile = OpenIDProfile.all().filter('identity=',request.GET.get('openid.claimed_id')).fetch(1)[0] except IndexError: # There can only be one profile with the same identity profile = OpenIDProfile( user = request.user, identity=request.GET.get('openid.claimed_id'), real_name=request.GET.get('openid.ax.value.fullname'), username=request.GET.get('openid.ax.value.nickname'), email=request.GET.get('openid.ax.value.email'), pic_url=request.GET.get('openid.ax.value.image'), ) profile.save() return HttpResponseRedirect(_get_next(request)) user = authenticate(identity=request.GET.get('openid.claimed_id')) if user is None: user = User(username='******') request.session['social_suggested_username'] = request.GET.get('openid.ax.value.nickname') request.session['socialregistration_user'] = user if request.GET.get('openid.ext2.value.email'): request.session['social_suggested_username'] = request.GET.get('openid.ext2.value.email').split('@')[0] request.session['socialregistration_profile'] = OpenIDProfile( identity=request.GET.get('openid.claimed_id'), internal_username=request.session['social_suggested_username'], email=request.GET.get('openid.ext2.value.email'), pic_url= "http://www.gravatar.com/avatar/" + md5.md5(request.GET.get('openid.ext2.value.email')).hexdigest() , ) elif request.GET.get('openid.sreg.email'): request.session['social_suggested_username'] = request.GET.get('openid.sreg.nickname') request.session['socialregistration_profile'] = OpenIDProfile( identity=request.GET.get('openid.claimed_id'), real_name=request.GET.get('openid.sreg.fullname'), internal_username=request.GET.get('openid.sreg.nickname'), email=request.GET.get('openid.sreg.email'), pic_url="http://www.gravatar.com/avatar/" + md5.md5(request.GET.get('openid.sreg.email')).hexdigest(), ) elif request.GET.get('openid.ext1.value.email'): request.session['social_suggested_username'] = request.GET.get('openid.ext1.value.email').split('@')[0] request.session['socialregistration_profile'] = OpenIDProfile( identity=request.GET.get('openid.claimed_id'), internal_username=request.session['social_suggested_username'], email=request.GET.get('openid.ext1.value.email'), pic_url= "http://www.gravatar.com/avatar/" + md5.md5(request.GET.get('openid.ext1.value.email')).hexdigest() , ) else: request.session['socialregistration_profile'] = OpenIDProfile( identity=request.GET.get('openid.claimed_id'), real_name=request.GET.get('openid.ax.value.fullname'), internal_username=request.GET.get('openid.ax.value.nickname'), email=request.GET.get('openid.ax.value.email'), pic_url=request.GET.get('openid.ax.value.image'), ) for key, value in getattr(client, 'registration_data', {}).items(): request.session['social_suggested_%s' % key] = value return HttpResponseRedirect(reverse('socialregistration_setup')) else: login(request, user) return HttpResponseRedirect(_get_next(request)) if not user.is_active: return render_to_response( account_inactive_template, extra_context, context_instance=RequestContext(request) ) login(request, user) return HttpResponseRedirect(_get_next(request)) return render_to_response( template, dict(), context_instance=RequestContext(request) )