自定义 UI 的 Cognito 授权代码授予流程

Jak*_*nek 7 amazon-web-services amazon-cognito

我正在尝试复制 cognito 托管的 ui 登录页面的功能(https://docs.aws.amazon.com/cognito/latest/developerguide/login-endpoint.html),但 aws sdk 不提供任何方法用户名、密码并将返回可用于获取访问/ID 令牌的授权代码。initiateAuth 和 adminInitiateAuth 仅支持直接返回 access/id 令牌的隐式流。有没有解决方法,如何检索授权码?

最好的问候, Jakub

小智 9

没有支持此功能的 API。如果initiateAuth并且adminInitiateAuth可以使用授权代码进行响应,那就太好了。

AWS 建议的解决方法之一是让您的后端将带有登录名和密码的 POST 请求发送到托管 UI 中的登录页面。不过我不推荐这个解决方案。它不必要地复杂并且不适用于 MFA 挑战。它还可能会影响暴力攻击检测以及高级安全功能,因为用户的原始 IP 地址被您的后端 IP 地址屏蔽了。