oauth - 在 Cognito 用户池应用程序客户端的回调 URL 中放置什么以用于与 FB Messenger 的帐户链接?
问题描述
我正在尝试使用 OAuth 在 FB Messenger 机器人和 AWS Cognito 用户池之间建立帐户链接。
我使用了 Messenger 帐户链接按钮模板并将其指向我的 Cognito 域登录端点。然后将 Cognito 应用程序客户端中的回调 URL 设置为https://facebook.com/messenger_platform/account_linking/,因为这是 Messenger 发送的。
我不断从 Cognito 收到“redirect_mismatch”错误。我观察到登录时 Messenger 附加的重定向 URI 有一个名为“account_linking_token”的查询字符串参数。这有关系吗?由于 account_linking_token 是动态的,并且随着每个请求而变化。
我在这里做错了什么?
解决方案
您收到此错误是因为 Cognito 中的重定向 URI 与您使用动态查询字符串参数获取的 URI 不是 1:1。目前,Cognito 不支持回调/重定向 URI 中的正则表达式或基于模式的字符串。
如果您没有坚如磐石且不易更改的回调 URI,您将无法使用 Amazon Cognito 实现您的功能。
因此,您会得到"redirect_mismatch"
您所看到的错误,并且没有 Cognito 怪癖可以避免这种情况。
推荐阅读
- python - 在 VS Code 中打开项目文件夹时如何自动激活 python 虚拟环境?
- javascript - webpack 正在关注 node_modules/micromatch/index.js:44 的变化
- database - 具有数百个只读副本的分布式数据库,可以通过 HTTP 异步同步
- oozie - 将 Oozie 作业的 SLA 设置为 WAITING 状态
- python-3.x - TypeError:无法将系列转换为
- c# - 如何使用 32feet.net 从 C# 向蓝牙发送数据
- javascript - 解决承诺时如何保持顺序(Promise.allSettled)?
- python - 如何根据 if 语句改变画布的颜色?
- mongodb - MongoDB 和 Robo 3T - 错误“无法将 mapReduce 结果输出到内部数据库管理员”/“Location31321”
- python - Python并行运行多个程序