当前位置: 首页 > 知识库问答 >
问题:

AWS iOS Cognito-如何检查用户池中的用户?

颜阳炎
2023-03-14

我刚刚开始和AWS一起工作,学习AWS。我正在使用AWS移动中心的服务,到目前为止已经设置了登录

一切正常,现在我正在处理忘记密码和更新密码。

问题是,AWS设置忘记密码的方式是:

首先输入用户名,然后在用户输入用户名后,AWS通过SMS向与该用户名关联的电话号码发送验证码。

这是一个问题,因为这意味着任何人都可以输入任何用户名,并会发送一条短信,导致我的短信付款增加,老实说,这看起来很草率。

我想做的是:

  1. 用户输入用户名后,必须输入与帐户相关的电话号码
  • 如何检查用户池中是否存在用户?
  • 如果是这样,我如何获取与电话号码相关联的用户属性来检查它是否与用户输入的电话号码相匹配?
  • 这可能吗?我甚至可以得到不是登录用户的凭据吗?

提前谢谢!

共有2个答案

徐安康
2023-03-14

下面是您应该如何做的:1)使用APIGateway创建web API。理想情况下,您希望使用API密钥限制访问,您应该将其与应用程序捆绑在一起。2) 将POST方法连接到Lambda函数,该函数将(a)执行必要的检查(指定的电话号码是否确实正确,等等),调用admin_*函数。(b) 发出客户端版本的密码重置,这将触发SMS代码的发送。

通和裕
2023-03-14

Cognito用户池目前不允许在用户没有登录并获得访问令牌的情况下获取用户的属性(如电话号码)。

管理API可以执行您正在查找的查找,但不应从客户端调用它们,因为这意味着您必须嵌入凭据。若这是您必须拥有的,那个么您可以通过将其包装在API网关或类似的东西中,然后从您的客户机调用来保护这些凭据。

 类似资料:
  • 问题内容: 我正在使用任何具有唯一性的应用程序,每当最终用户输入他的应用程序时,我都会通过Ajax发出SQL查询,以检查是否存在该查询。在此之前,它工作正常,但现在我知道那是什么时候存在,那么我想在JSP页面上显示该ID已被使用,反之亦然。 所以我的问题是如何从struts应用程序获取响应并将其提供给Ajax或JSP页面,以及在“ struts.xml”结果标签中写入什么? 这是我的Ajax呼叫:

  • 我正在做一个简单的程序,要求用户输入0-19之间的五个数字。我想在每个数字后面添加一些东西(比如if语句),以确保它在这个范围内。如果不是,程序应该说“请再读指令”,然后system.exit(0)。这段代码是相关的: 如有任何帮助,将不胜感激。

  • 我正在尝试使用用户池注册一个用户,并且已经使用并修改了lambda中示例中的代码。 我以正常方式引用AWS: 并尝试引用现有用户池: 但我得到了以下错误: TypeError: AWS. Cognito标识服务提供商。CognitoUserpool不是一个函数 我是否使用了错误的SDK?设置页面解释了aws cognito sdk是如何运行的。js是完整SDK的变体,但只引用Cognito标识服务

  • 我在我的Dart/Flatter应用程序中使用Firebase云消息。下面的代码使用检索到的android通知令牌更新用户文档。 然后,我在我的云函数中读取。非常有效,但我错误地认为如果用户关闭了通知(例如,空或空),令牌将无效。确定是否为我的云应用程序功能启用通知的最佳方法是什么?我在我的搜索中发现了一些命中率,但很多已经过时,或者是针对不同的开发环境。

  • 问题内容: 我有一个简单的PHP邮件程序脚本,该脚本从通过POST提交的表单中获取值并将其邮寄给我: 如何清除输入内容? 问题答案: 用清理发布变量。 这里的例子。喜欢:

  • cmf_auth_check($userId, $name = null, $relation = 'or') 功能 检查用户权限 参数 $userId: int 要检查权限的用户 ID $name: string|array 需要验证的规则列表,支持逗号分隔的权限规则或索引数组 $relation:string 如果为 'or' 表示满足任一条规则即通过验证;如果为 'and'则表示需满足所有