问题标签 [cognito]

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.

0 投票
1 回答
568 浏览

amazon-web-services - 使用 AWS 用户池创建用户时将用户数据保存到 dynamodb 表

我对认知相当陌生。我已成功设置我的用户使用用户池登录。

当他们使用 cognito 注册时,我想在服务器端为用户创建一个 dynamodb 条目。

这是否可以在注册工作流程中使用 lambda 触发器?我对 lambda 也不是很熟悉,但如果可能的话,我需要在他们使用 cognito 注册时访问用户属性并将这些属性保存到我的 dynamodb 用户表中。

0 投票
1 回答
2448 浏览

ios - 将 Facebook 登录与 AWS Cognito 用户池集成

我正在尝试将 aws 用户池集成到我的项目中。我设法使用电子邮件和密码进行正常登录,但我需要使用 Facebook 添加登录。

根据我在文档中阅读的内容,为此我需要在联合身份中创建一个身份池。我创建了一个并为身份验证提供程序添加了以下配置:- 在 Facebook 选项卡中添加我的 Facebook 应用程序 ID,- 在 Cognito 选项卡中为我的用户池添加我的用户池 ID 和应用程序客户端 ID。

在我的用户池中,在来自联邦的身份提供者中,我选择 Facebook,为此我添加了我的 Facebook 应用程序 ID 和应用程序密码。

在我的应用程序中,我实现了一个 AWSIdentityProviderManager,其中包含:

这是我的 Facebook 登录代码:

登录工作,但是当我在用户组部分查看我的用户池时,我看不到那里的用户。

有没有其他解决方案来集成 Facebook 登录,只使用用户池而不使用身份池?

0 投票
0 回答
163 浏览

amazon-dynamodb - 从identityId获取用户

我使用 id withAWS.config.credentials.identityId和限制 with在 dynamodb 中保存了一个元素${cognito-identity.amazonaws.com:sub}

us-east-1:14b37fe3-xxxx-xxxx-xxxx-xxxxxxxxxxxx这会在 dynamodb 中为 cognito 用户池中具有 sub 的用户生成一条记录:20a3902b-xxxx-xxxx-xxxx-xxxxxxxxxxxx

现在,我需要在 dynamodb 中创建一个触发器并检索一些用户属性(如姓名和电子邮件)以生成账单,我如何检索此信息?

我试过使用这个功能:

但它只适用于20a3902b-xxxx-xxxx-xxxx-xxxxxxxxxxxx潜艇。

0 投票
1 回答
362 浏览

amazon-web-services - 无法在 AWS Mobile Hub 上切换用户池

我是 AWS 菜鸟,在开始使用我的应用程序进行用户身份验证时遇到了一些问题。我正在开发一个简单的网络应用程序,并开始使用 awsmobile cli 和 aws-amplify 工具。

我在移动集线器上创建了一个新项目,并且能够成功注册、验证和登录用户,但是移动集线器创建的默认用户池强制使用用户名。我的应用程序中的用户名没有真正的用处,最终我只想使用电子邮件地址、名字和姓氏作为创建帐户的必填字段。

我从 AWS 开发人员体验成员那里找到了答案,我按照推荐的步骤进行操作,但我现在在登录时遇到问题,因为在计算客户端密码的哈希时出现错误,请求被拒绝。

"Unable to verify secret hash for client ***********************6pl"

删除旧用户池后,我现在收到一个No userPool错误,这是有道理的,因为看起来新用户池尚未与身份池关联。

在移动集线器的用户资源视图中,我仍然可以看到旧用户池(即使我删除了它)。我已经更新了身份验证提供程序以匹配新用户池中的客户端 ID 和详细信息。

在我的客户端上,我手动修改了backend-details.json文件以匹配新用户池以及aws-exports.js文件。使用通过控制台推送更改awsmobile push似乎不起作用,因为它会从旧用户池中提取详细信息。

关于我做错了什么的任何想法?

0 投票
1 回答
1282 浏览

ruby - Cognito admin_initiate_auth 响应异常用户在创建新用户时不存在

我正在尝试从我的 ruby​​ 后端服务器的 Cognito 用户池中创建一个新用户。使用此代码:

我得到的回应是Aws::CognitoIdentityProvider::Errors::UserNotFoundException: User does not exist

我正在尝试遵循服务器身份验证流程(https://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-authentication-flow.html),据我了解我可以使用admin_initiate_auth.

我在这里做错了吗?

谢谢

0 投票
0 回答
537 浏览

c# - 如何在 iOS 的 Xamarin 上使用 Cognito 用户池和 Cognito 身份验证 AWS DynamoDB 的用户?

在使用 Xamarin 编写的 iOS 应用程序中,我试图允许用户使用 Cognito 用户池登录 AWS,然后允许他们从 DynamoDB 实例中读取数据。

我的设置是:我在我的用户池中创建了一个用户,配置了他们的 IAM 角色,所有这些。事实上,登录似乎有效。我的问题(我认为)是用户登录后,将该登录上下文传递给 Dynamo DB 客户端。

这是我的 iOS 应用程序中的 ViewController 代码的样子:

TryDynamoStuff 期间抛出的异常是:

我不明白的是为什么?“regUser”,即使我传递一个实例而不是使用静态变量,也应该进行身份验证?

在崩溃之前设置断点我什至已经确认 AWSFlowResponse 上下文已分配了会话 ID。

我还需要做些什么来让 AWSFlowResponse 上下文应用于 Dynamo 登录吗?

对于任何可以提供帮助的人——你是我的英雄。

参考

亚马逊的代码:Amazon.Extensions.CognitoAuthentication 发布

AWS 的另一个代码示例:CognitoHelper.cs

从 DynamoDB 存储和检索数据:AWS Docs

0 投票
1 回答
979 浏览

cognito - 配置congnito刷新token过期时间

在我的应用程序中,如果用户刷新页面或尝试访问需要对用户进行身份验证的客户端路由,我会调用 getSession。

我看到的问题是 refreshToken 永不过期。

所以我这样做:

但是单步执行代码后,如果 cachedSession.isValid() 调用返回 false,则调用 refreshToken 无论我离开多长时间,它似乎总是返回新令牌。

refreshToken 是否永不过期,或者我可以将其配置为在一小时左右到期吗?

事情过期的唯一方法是调用 localStorage.clear() ,这显然不是一个真正的解决方案。

0 投票
8 回答
16772 浏览

amazon-web-services - Cloudformation Cognito - 如何通过 SAM 模板设置应用程序客户端设置、域和联合身份

我已经让我的 cognito 用户池 cloudformation 模板正常工作,并将其集成到我的 api 网关中。但不知何故,我仍然必须手动配置应用程序客户端设置、域和联合身份,以便为用户提供一个有效的登录门户。我一直在到处寻找自动化这些可能的解决方案,但我似乎找不到任何接近它的东西。

我想通过 cloudformation sam 模板自动配置应用程序客户端设置、域和联合身份,因此我不必手动执行这些操作。

任何建议都非常感谢。谢谢你。

(附加信息发布的附件)

0 投票
1 回答
318 浏览

amazon-web-services - AWS Cognito 与谷歌提供商,如何处理来自谷歌的响应?

所以我使用 cognito 用户池和谷歌作为身份提供者。我配置了所有内容,并将数据发送到谷歌,谷歌重定向回亚马逊身份验证端点,然后使用 URL 中的以下参数重定向回我的应用程序:

现在,我不知道如何使用这些来实际创建一个 Cognito “会话”,该“会话”进入 javascript api 工作流程并变得自动(发送、接收和更新令牌)

我如何实现这一目标?

0 投票
0 回答
890 浏览

reactjs - 创建 Cognito 用户并将用户添加到数据库

我对全栈开发相当陌生,这个问题更像是一个最佳实践问题/我做得对吗?

我正在构建一个使用 aws Cognito 进行身份验证的网站,但我还想在 RDS 中为每个用户保存各种统计信息。目前我只是在客户端使用来自 AWS 的 Auth 创建用户。添加 RDS 代码时,是否应该从客户端调用创建 AWS 用户和 RDS 用户行?或者我应该将信息发送到我的后端 API 来完成吗?如果我在客户端这样做,我主要关心的是意外创建一个而不是另一个。

另外,如果我在做的事情看起来不正确或者他们是更好的方法,请告诉我。