def get_user_info(user): wf = finger(user) return(wf.profile, wf.hcard) try: wf = finger(user) return(wf.profile, wf.hcard) except: return(0)
def login(): # if g.current_user is not None: # return redirect(oid.get_next_url()) if request.method == 'POST': email_address = request.form['email'] info = finger(email_address, True) openid = info.open_id return oid.try_login(openid, ask_for=['email', 'fullname', 'nickname']) return oid.fetch_error()
def login(): if g.current_user is not None: return redirect(oid.get_next_url()) if request.method == 'POST': email = request.form['email'] try: info = finger(email, True) if info.open_id: return oid.try_login(info.open_id, ask_for=['email', 'fullname', 'nickname']) except URLError: pass # Both fall through to the error case return render_template('webfinger.html', email=email) return oid.fetch_error() or redirect(url_for('front'))
def validate(self): if not Form.validate(self): return False user = None openid_identifier = None # Account for webfinger addresses in OpenID input and fetch the OpenID # identifier from the webfinger identity if '@' in self.openid.data: webfinger = finger(self.openid.data) if not webfinger.open_id: self.webfinger.errors.append( 'Can\'t find any OpenID identifier for {0}'.format( self.webfinger.data)) else: openid_identifier = webfinger.open_id self.openid.data = self.openid.data or openid_identifier if openid_identifier or self.openid.data: openid = OpenID.query.filter_by(url=self.openid.data).first() if not openid: self.openid.errors.append('Unknown OpenID URL {0}'.format( self.openid.data)) return False else: user = openid.user if self.username.data and self.password.data: user = User.query.filter_by(username=self.username.data).first() if user is None: self.username.errors.append('Unknown username') elif not user.check_password(self.password.data): self.password.errors.append('Invalid password') if user: self.user = user return True return False