Example #1
0
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)
Example #2
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()
Example #3
0
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'))
Example #4
0
    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