oauth/client.py
changeset 3 3f52a017e6f5
parent 1 5f50937893ac
child 5 4407b131a70e
equal deleted inserted replaced
2:d5c583f9a035 3:3f52a017e6f5
     1 from flask import Flask, url_for, session, request, jsonify
     1 from flask import Flask, url_for, session, request, jsonify, render_template, redirect
     2 from flask_oauthlib.client import OAuth
     2 from flask_oauthlib.client import OAuth
     3 from settings.client_settings import ClientSettings
     3 from settings.client_settings import ClientSettings
     4 
     4 
     5 
     5 
     6 
     6 
    24 
    24 
    25 @app.route('/')
    25 @app.route('/')
    26 def index():
    26 def index():
    27     if 'remote_oauth' in session:
    27     if 'remote_oauth' in session:
    28         resp = remote.get('me')
    28         resp = remote.get('me')
    29         return jsonify(resp.data)
    29         username = resp.data.get("username", "")
       
    30         return render_template('client/index.html', username=username)
    30     next_url = request.args.get('next') or request.referrer or None
    31     next_url = request.args.get('next') or request.referrer or None
    31     return remote.authorize(
    32     return remote.authorize(
    32         callback=url_for('authorized', next=next_url, _external=True)
    33         callback=url_for('authorized', next=next_url, _external=True)
    33     )
    34     )
    34 
    35 
    41             request.args['error_reason'],
    42             request.args['error_reason'],
    42             request.args['error_description']
    43             request.args['error_description']
    43         )
    44         )
    44     print resp
    45     print resp
    45     session['remote_oauth'] = (resp['access_token'], '')
    46     session['remote_oauth'] = (resp['access_token'], '')
    46     return jsonify(oauth_token=resp['access_token'])
    47     return redirect('/')
    47 
    48 
    48 
    49 
    49 @remote.tokengetter
    50 @remote.tokengetter
    50 def get_oauth_token():
    51 def get_oauth_token():
    51     return session.get('remote_oauth')
    52     return session.get('remote_oauth')