问题标签 [amazon-cognito-triggers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - 我们将如何发送不同的电子邮件模板以重置密码并确认在 AWS cognito 中注册
我想使用 AWS Cognito 的两个 api(signup, forgotPassword) 更改电子邮件模板。因为我需要在该页面上添加一个指向代码验证的链接。
aws-lambda - 具有多个应用程序的 Cognito 一个用户池
我是 aws 新手,无法登录 cognito。Cognito 一个用户池与许多其他应用程序将使用与 lambda 中相同的登录功能。google 或 fb 能够使用相同的用户池登录。如果用户无权访问应用程序,则登录过程将失败。一位用户将有权访问许多应用程序。任何可以帮助并请告诉我如何实施此解决方案的人?来自 lambda 的登录函数调用也可用于社交登录吗?
javascript - AWS Cognito 自定义身份验证流程-initiateAuth 给出错误
我正在尝试使用 AWS Cognito 进行自定义身份验证流程,以便我可以通过电子邮件而不是通过 cognito 触发器发送 MFA 代码。我正在使用initialAuth()方法来执行此操作,根据文档这是正确的;
https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#initiateAuth -财产
我的有效负载似乎是有效的,但是当我尝试使用用户登录时,我收到错误“t.getauthparameters 不是函数”
我浏览了其他一些stackoverflow帖子,但没有任何帮助
任何想法出了什么问题?
这是我下面代码的一个片段:
node.js - autoConfirmUser = true 时无法识别的 lambda 输出;
我正在尝试自动确认使用signUp
Cognito API 创建的用户。它运行良好,它在我的池中创建了一个 CONFIRMED 用户。但它抛出了这个错误:
我还在 PostConfirmation Cognito 触发器中收到了正确的事件格式:
CreateUser
功能:
Pre-signup
拉姆达:
奇怪的是,当尝试设置时event.response.autoVerifyEmail = false
,event.response.autoConfirmUser = false
它不会抛出任何错误......
有人可以告诉我我做错了什么吗?谢谢你!!
java - 基于 Java 的 AWS Cognito 预注册 Lambda 触发器:自动确认用户并验证电子邮件
我正在开发一个基于 Java 的 AWS Cognito Pre-Sign-up Lambda 触发器来自动确认用户并将他们的电子邮件设置为已验证。
根据AWS 文档,“Amazon Cognito 将事件信息传递给您的 Lambda 函数。然后该函数将相同的事件对象返回给 Amazon Cognito,并在响应中进行任何更改。” 我看过有关如何在注册前 Lambda 响应中使用“autoConfirmUser”和“autoVerifyEmail”的文档(以及大量 StackOverflow 讨论);甚至为 Node.js 和 Python 提供了示例。
虽然在 Java 中做类似的事情似乎很简单,但我显然没有返回预期的响应,并且我的用户是在没有自动确认和电子邮件验证的情况下创建的。
在我的 Cognito 用户池上注册并设置为注册前触发器后,我可以看到每次创建用户时都会调用我的 Lambda(例如通过管理控制台使用“创建用户”)。记录进入 Lambda 的请求,请求是:
我的 Lambda 是:
使用 AWS Cognito 常规设置 > 用户和组 > 创建用户,用户已创建,但账户状态列为“FORCE_CHANGE_PASSWORD”,验证的电子邮件列为“-”。在将 Lambda 表达式分配为通过确认/验证过程的触发器之前创建的用户的帐户状态列为“已确认”,并且电子邮件已验证列为“真”。
查看 CloudWatch,上面的 Lambda 产生了:
显然,创建了用户并解雇了 Lambda。然而,尽管 Lambda 将“autoConfirmUser”和“autoVerifyEmail”都返回为 true,但在创建用户时并未应用这些响应设置。
我错过了什么,我做错了什么?
amazon-web-services - 如何在自定义消息 Lambda 触发器中获取 ClientMetadata 参数值?
我正在使用 Cognito 的自定义消息 Lambda 触发器在验证之前发送动态消息。我想从 ClientMetadata 获取 tempPassword 和 applicationUrl 值并对其进行加密。如本文档所示,clientMetadata 是自定义消息请求参数之一。但是,虽然此处指定的其他参数将进入 Lambda 的输入,但 clientMetadata 参数不会。我在某处做错了吗?
amazon-web-services - Cognito 与 LDAP 的集成
我正在开始一个新项目,这个项目首先需要 Cognito 和 LDAP 之间的集成,这是我的第一次,我一直在做一些研究,但我还不清楚。
您可能给我的任何知识转移都非常感谢。
非常感谢。
amazon-web-services - 在 Cognito 中验证密码后,如何通过自定义质询使用可选 MFA 对 UserPool 强制 MFA_SETUP
我有一个用户池,希望在其中使用自定义挑战和 TOTP MFA 进行身份验证。我在 PASSWORD_VERIFIER 质询完成后检查用户是否在 DefineAuthChallenge 中设置了 TOTP。如果未设置,我将 next challengeName 设置为带有会话的“MFA_SETUP”,而不是发出令牌。但是当我尝试点击aws cognito-idp associate-software-token --session <<session from password-verifier challenge>>
它时,会出现以下错误:
An error occurred (NotAuthorizedException) when calling the AssociateSoftwareToken operation: Invalid session for the user.
即使该会话是有效的。
当我使用 access_token 尝试相同的事情时,它不会给我任何问题。此外,当用户池的 MFA 模式为 ON(强制)时,来自 PASSWORD_VERIFIER 质询的会话可用于通过 associate-software-token 设置 MFA。
观察到 MFA ON 与 OPTIONAL 设置的差异:对于 ON,在 PASSWORD_VERIFIER 忽略 CUSTOM_AUTH 触发器后自动发出以下质询,并获得以下响应:
对于 OPTIONAL,在 PASSWORD_VERIFIER 将下一个挑战设置为 MFA_SETUP 之后发出我的自定义挑战的 DefineAuthChallenge 触发器,并获得以下响应:
我不确定我在自定义流程中是否做错了什么。有什么方法可以强制用户通过此类自定义挑战在首次登录时设置 totp?