Python 2.7 使用自定义OAuth提供程序创建OAuth

Python 2.7 使用自定义OAuth提供程序创建OAuth,python-2.7,flask,oauth,authorization,flask-sqlalchemy,Python 2.7,Flask,Oauth,Authorization,Flask Sqlalchemy,我正在尝试将OAuth与自定义OAuth提供程序结合使用。我已成功地将其与上述服务提供程序(如github)集成。 但当我尝试使用authorize:github和OAuth使用自定义提供程序时,它没有获得authorize,account_info.ok打印为false。 我想做的是使用自定义提供程序,我将能够授权任何可用的OAuth提供程序。 我不知道如何使用上提到的自定义提供程序 这是我的密码: from flask import Flask from flask_dance.consum

我正在尝试将OAuth与自定义OAuth提供程序结合使用。我已成功地将其与上述服务提供程序(如github)集成。 但当我尝试使用authorize:github和OAuth使用自定义提供程序时,它没有获得authorize,account_info.ok打印为false。 我想做的是使用自定义提供程序,我将能够授权任何可用的OAuth提供程序。 我不知道如何使用上提到的自定义提供程序 这是我的密码:

from flask import Flask
from flask_dance.consumer import OAuth2ConsumerBlueprint
from flask import Flask, redirect, url_for

#export OAUTHLIB_INSECURE_TRANSPORT=1

app = Flask(__name__)
app.config['SECRET_KEY']='thisissupposedtobesecretkey'

client_id = "*********************",
client_secret = "********************",

example_blueprint = OAuth2ConsumerBlueprint("github", __name__,
                                    client_id=client_id,
                                    client_secret=client_secret,
                                    scope=None,
                                    base_url="https://api.github.com/",
                                    authorization_url="https://github.com/login/oauth/authorize",
                                    token_url="https://github.com/login/oauth/access_token",
                                    redirect_url=None,
                                    redirect_to=None,
                                    login_url=None,
                                    authorized_url=None,
                                    session_class=None,
                                    backend=None,
                                    )

app.register_blueprint(example_blueprint, url_prefix="/login")

@app.route('/example')
def login():
    if not example_blueprint.authorized:
        return redirect(url_for('example_blueprint.login'))
    try:
        account_info=example_blueprint.session.get("/user")
        print "i m here ....."
        print account_info.ok
        return account_info
    except Exception as e:
        print "i m here .....",e

    #

if __name__=='__main__':
    app.run(debug=True)

您需要从OAuth2Session实例调用authorized方法,该实例将自动从存储中加载OAuth提供程序的令牌。因此,您需要更改以下代码行:

@app.route('/example')
def login():
    if not example_blueprint.authorized:
        return redirect(url_for('example_blueprint.login'))


干杯

您收到了什么错误消息?
@app.route('/example')
    def login():
        if not example_blueprint.session.authorized:
            return redirect(url_for('example_blueprint.login'))