我可以将OAuth2WebServerFlow(CLIENT_ID,CLIENT_SECRET,OAUTH_SCOPE,REDIRECT_URI)保存到flask中的会话变量吗?

时间:2019-07-09 20:46:27

标签: python flask google-oauth

我正在构建一个烧瓶应用程序,该应用程序可以连接到Google Search Console API。

我想将OAuth2WebServerFlow(CLIENT_ID,CLIENT_SECRET,OAUTH_SCOPE,REDIRECT_URI)保存到会话变量,以便我可以在其他烧瓶路径中引用它,用户将在其中提交身份验证代码并完成授权过程。 >

我尝试了以下代码:

...
            flow = OAuth2WebServerFlow(CLIENT_ID, CLIENT_SECRET, OAUTH_SCOPE, REDIRECT_URI)
            authorize_url = flow.step1_get_authorize_url()
            webbrowser.open(authorize_url,new=1,autoraise=True)        
            response_text = { "message":  fulfillment_text }
            Session['flow'] = flow
            return jsonify(response_text)

但是,我收到以下错误消息:

会话['流程'] =流程 TypeError:“类型”对象不支持项目分配

有没有办法解决这个问题?

非常感谢。

1 个答案:

答案 0 :(得分:0)

您存储在session中的变量必须被序列化。

序列化对象的一种方法是使用__dict__

session['flow'] = flow.__dict__