无法使用oauth2client.contrib.flask_util

时间:2019-05-24 12:24:09

标签: python flask oauth2client

在我的应用中,我有一个登录按钮,该按钮调用/oauth2authorize,效果很好。在服务器端注册的authorize_callback方法中,我获得了params中的凭据,并且可以毫无问题地调用Google API端点。

oauth2 = UserOAuth2()

def create_app(debug=False, testing=False, config_overrides=None):
    app = Flask(__name__, template_folder='templates')
    app.config.update(
        SECRET_KEY=b"XXX",
        GOOGLE_OAUTH2_CLIENT_ID='XXXX',
        GOOGLE_OAUTH2_CLIENT_SECRET='XXXX'
    )

    oauth2.init_app(
        app,
        scopes=[MY_SCOPES],
        authorize_callback=request_user_info)

def request_user_info(credentials):
   http = httplib2.Http()
   credentials.authorize(http)
   resp, content = http.request(u'https://www.googleapis.com/userinfo/v2/me')

问题是,当我想稍后在另一条路线中检索这些凭据以对Google API进行其他调用时。

我尝试不使用@oauth2.required装饰器,然后oauth2.credentials也是Noneoauth2.emailoauth2.user_id

我尝试使用@oauth2.required装饰器,当我尝试调用路由时,身份验证过程再次开始(并且失败,我不确定为什么,可能是URL配置错误)。

基本上,我想要获得的是凭据对象(就像在authorize_callback中传递的那样),因此我可以发出API请求。

看看我在做什么错吗?

仅供参考:这是我使用的flask-util库(属于oauth2client)

谢谢

0 个答案:

没有答案