python - 如何在 Flask 中访问重定向 URI 中的参数?
问题描述
我正在 Flask 中创建一个 JMML(“加入我的邮件列表”)小部件,该小部件将数据提交到电子邮件营销平台,并且该平台遵循 OAuth2 流程。基本流程是:
- 我使用基本 API URL、API 密钥和重定向 URI 创建访问 URL
- 程序访问此 URL,程序的用户被重定向到营销平台以登录并授予访问权限。
- 营销平台执行另一个重定向回我提供的重定向 URI。URI 附加了访问令牌,我需要在 JMML 的应用程序 POST 请求中提供该令牌。以下是返回的 URI 的示例:
http://localhost:5000/redirect_url#access_token=2C1zxo3O0J1yo5Odolypuo9DSmcI
这是我遇到的问题:我不知道如何以编程方式将最终重定向 url/uri 用作 Python 中的变量。我可以让用户将其复制/粘贴到字段中,但必须有更好的方法. 老实说,我什至不知道这样的重定向重定向的术语。
这很可悲,我迷路了,但这是我到目前为止所拥有的:
@app.route('/redirect_url')
def redirect_url():
# I have no idea how to actaully get the parameter out of the redirect url.
pass
我查看了电子邮件营销公司 API 的 API 文档,但它们只提供了在 Ruby 和 PHP 中处理 Oauth2 的代码提示。帮助!
解决方案
Miguel Grinberg有一篇很好的博客文章,他在其中描述了如何在烧瓶应用程序中使用 OAuth。尽管我认为该工作流程将与任何其他 Web 应用程序保持一致。
推荐阅读
- flutter - Flutter Httpheaders 无效内容错误
- java - AWS S3 是否仅用于文件存储?我可以用它来存储复杂对象的列表吗?
- visual-studio-code - 如何更改“test git”以指向另一个文件目录?
- python - 套接字数据最大限制异常
- reactjs - 在 Gatsby 入门博客中,如何将主页中的最新帖子数量从 3 个增加到 20 个
- jquery - 尝试搜索时,Jqgrid 工具栏过滤给出无法在字符串“”上创建属性“过滤器”
- python - 调试 Shell 脚本 Pycharm
- bash - 如何在 Bash 中使用 namerefs?
- azure-functions - Azure Function cosmosdb 环境设置
- javascript - 对如何使用 axios 正确处理 javascript 承诺有些困惑