因此,我尝试使用此示例让Stripe Connect与flask一起使用:
https://gist.github.com/amfeng/3517668
我遇到的问题:如何从
传递access_token@app.route('/oauth/callback', methods=['GET','POST'])
def callback():
到另一个视图中的另一个函数,例如:
@app.route('/charge', methods=['POST'])
def charge():
这是我无法记住怎样做的一件事。将局部变量传递给另一个函数。
抱歉,这是一个愚蠢的问题,我知道。在这种情况下,我无法弄明白。
感谢。
答案 0 :(得分:1)
您要做的是存储访问令牌,以便以后加载和使用它。您可以存储的最简单且最不安全的位置是会话:
@app.route("/oauth/callback")
def callback():
# retrieve access_token
session["stripe_token"] = access_token
return redirect(to_somewhere_that_makes_sense)
然后,当您需要令牌时,您可以查找它:
@app.route('/charge', methods=['POST'])
def charge():
access_token = session.get("stripe_token")
if not access_token:
raise MyMissingAccessTokenException()
# Or whatever you want to do here
# User has an access token - try to use it here
现在会话被序列化并通过cookie发送到客户端,因此不是一种传递访问令牌等数据的安全方式。您需要将令牌存储在另一个数据存储(Redis,数据库)中,或者使用Flask-KVSession之类的扩展来将会话转换为服务器端会话。