首页 > 解决方案 > 在 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 是动态的,并且随着每个请求而变化。

我在这里做错了什么?

标签: oauthamazon-cognitofacebook-messenger-bot

解决方案


您收到此错误是因为 Cognito 中的重定向 URI 与您使用动态查询字符串参数获取的 URI 不是 1:1。目前,Cognito 不支持回调/重定向 URI 中的正则表达式或基于模式的字符串。

如果您没有坚如磐石且不易更改的回调 URI,您将无法使用 Amazon Cognito 实现您的功能。

因此,您会得到"redirect_mismatch"您所看到的错误,并且没有 Cognito 怪癖可以避免这种情况。


推荐阅读