Esempio n. 1
0
def login_post(client_id):
    login = request.form['login']
    password = request.form['password']
    login = Login.find(login)
    if login == None:
        flash('User not found!', 'error')
        return redirect(url_for('.login_get', client_id=client_id))
    p_ok = sha256_crypt.verify(password, login.password)
    if not p_ok:
        flash('Incorect password!', 'error')
        return redirect(url_for('.login_get', client_id=client_id))
    session['user'] = login
    app = Application.find(client_id)
    return redirect(url_for('.authorization_code', client_id=client_id,
                    redirect_uri=app.redirect_uri, response_type='code'))
Esempio n. 2
0
    def authorization_class(self):
        return AdverbResourceAuthorization

    def get_authorization_header(self):
        if 'Authorization' in request.headers:
            return request.headers['Authorization']

    def validate_access_token(self, access_token, authorization):
        access_key = 'oauth2.access_token:%s' % access_token
        data = self.redis.get(access_key)
        if data is not None:
            data = json.loads(data)
            authorization.is_valid = data.get('scope') == ''
            authorization.client_id = data['client_id']
            authorization.expires_in = self.redis.ttl(access_key)
            authorization.login_id = data['user_id']

if __name__ == '__main__':
    from flask import Flask, request
    from models import Login
    import logging
    logging.basicConfig(filename='example.log',level=logging.DEBUG)
    app = Flask(__name__)
    app.secret_key = 'secret'
    with app.test_request_context('/hello', method='POST'):
        session['user'] = Login.find('*****@*****.**')
        p = AdverbAuthorizationProvider()
        r = p.get_authorization_code_from_uri('http://localhost:5000/oauth2/auth?client_id=51051fa6d00cf2206b0d7db3&response_type=code&redirect_uri=http://localhost:5000/oauth/redirect')
        for k, v in r.headers.iteritems():
            print k, v