如何为 Oauth2 传递 Google 客户端 Python 库的重定向 URL?



我正在努力遵循此文档-https://developers.google.com/api-client-library/python/guide/aaa_oauth

我使用这个函数来创建auth-urlstep1_get_authorize_url(),它工作得很好。我已经成功地编写了回调处理程序并创建了凭据对象。

我该如何重定向到一个继续的url以返回到原始页面,现在凭据已经创建。

我不知道如何在step1_get_authorize_url()中传递这个参数,这似乎是有意义的。

步骤1/url-1创建登录链接,/oauth2callbackckler接收代码并创建凭证对象;如何重定向回/url-1?

我通过Flow对象的state参数发现这是可能的。

    state = ''.join(random.choice(string.ascii_uppercase + string.digits)
              for x in xrange(32))
    flow.params['state'] = 'security_token%3D' + state + '%26url%3D' + urllib.quote_plus(self.request.url)

我将安全令牌存储在会话中以进行验证。

https://developers.google.com/accounts/docs/OAuth2WebServer

step1_get_authorize_url()是流对象的一个方法,该流对象保存重定向URL,并在创建时传递。

flow = client.flow_from_clientsecrets(
        secrets_file,
        scope='https://www.googleapis.com/auth/analytics.readonly',
        redirect_uri='urn:ietf:wg:oauth:2.0:oob')
auth_uri = flow.step1_get_authorize_url()

你可以在这里找到一个完整的例子和解释。本教程提供了一个控制台应用程序,但这个过程与您在使用web应用程序时需要做的类似。

相关内容

  • 没有找到相关文章

最新更新