传递access_token从回调函数中收取函数

时间:2014-07-01 07:05:25

标签: python flask stripe-payments

因此,我尝试使用此示例让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():

这是我无法记住怎样做的一件事。将局部变量传递给另一个函数。

抱歉,这是一个愚蠢的问题,我知道。在这种情况下,我无法弄明白。

感谢。

1 个答案:

答案 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之类的扩展来将会话转换为服务器端会话。