如何从redirect_uri获取访问令牌?

时间:2019-03-24 02:27:46

标签: python api oauth-2.0 basecamp

我正在创建一个基于Web的应用程序,并希望通过OAuth2使用其API从Basecamp获取数据。 我已成功将页面重定向到我的redirect_uri的此链接,但无法从页面获取任何访问令牌。

如何使用我创建的flask应用程序获取访问令牌? 任何代码示例将不胜感激。

@app.route('/')
def index():
    if 'basecamp_token' in session:
        ret = remote.get('email')
        return jsonify(ret.data)
        return redirect(url_for('login'))
    else:
        return redirect(url_for('redirecturl'))

@app.route('/login')
def login():
    return basecamp.authorize(callback=url_for('authorized', next=request.args.get('next') or request.referrer or None))

@app.route('/authorized')
@basecamp.authorized_handler
def authorized(resp):
    if resp is None:
        return 'Access denied: error=%s' % (
            request.args['error']
        )
    if 'basecamp_token' in resp:
        # session['example_oauth'] = resp
        print(resp)
        return jsonify(resp)
    return str(resp)

@app.route("/redirecturl")
def redirecturl():
    return redirect('http://basecamp.com/oauth2')

if __name__ == '__main__':
    app.secret_key = 'super_secret'
    app.run(port=8000, debug=True)

0 个答案:

没有答案