问题标签 [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 投票
2 回答
1843 浏览

go - AWS Cognito 刷新令牌在秘密哈希上失败

我在 Go 中使用服务器端身份验证刷新 AWS Cognito 令牌时遇到问题。我能够得到,id_tokenaccess_token方法。我已经创建了一个带有秘密的用户池客户端,所以我必须在.refresh_tokencognitoidentityprovider.AdminInitiateAuthSECRET_HASHAuthParameters

登录时这一切都很好,但是刷新令牌时相同的秘密哈希不起作用。我已经三次检查了代码并验证了我发送的秘密哈希在登录和刷新令牌时是相同的(它应该是相同的,因为它使用不会改变的用户名、clientID 和 clientSecret)。

AWS API 返回以下错误:

我已经检查了设备跟踪是否关闭,因为文档提到在服务器端刷新令牌时这是一个问题(注意在“管理员身份验证流程”下,https://docs.aws.amazon.com/cognito/latest/ developerguide/amazon-cognito-user-pools-authentication-flow.html#amazon-cognito-user-pools-server-side-authentication-flow)。

我的刷新代码是:

秘密哈希码(来自https://stackoverflow.com/a/46163403/3515197):

我已经检查了其他 Stack Overflow 问题,但他们只提到了设备跟踪问题并且需要秘密哈希。我在这里想念什么?

0 投票
1 回答
640 浏览

amazon-cognito - How can i limit access to the aws-cognito service?

I would like to limit the access to my cognito service.

My scope is to filter all the calls to cognito adding a server layer that allow me to do specific actions when the user uses the service.

I know that triggering events is the right way to do this but the events in cognito are very limited and a lot of stuff can not be done. For example if the Authentication fails for some reason the postAuthentication event is not triggered.

Another use case can be the validation of the attribute, or limit the reading of some attribute.

The only idea I've is to hide the IdentityPoolId or the UserPoolClientId but seems pretty unsafe.

0 投票
0 回答
397 浏览

amazon-web-services - aws cognito 密码已重置无法正常工作

我是 aws cognito 服务的新手。这是我的代码片段。它不适用于重置密码过程。

请检查以下代码并回复我以更改代码。

此代码用于重置密码不起作用我尝试了代码中的大部分更改但没有响应:-

0 投票
1 回答
764 浏览

amazon-web-services - AWS Cognito 登录失败,Lambda 函数出现未知错误

我在我的 lambda 中使用了来自 cognito nodejs sdk 的登录功能来验证用户身份,但在我测试它时它不起作用。它在 lambda 控制台中以未知错误响应。

但是,它在我的静态网站上的代码中有效。

请帮忙。

这是我的 nodejs lambda 函数。

这是我的 package.json

这是我的 webpack.config

0 投票
2 回答
485 浏览

lambda - lambda 执行角色与 aws_iam

我有一个使用 cognito 联合用户的无服务器应用程序。对于 api 网关,我使用 aws_iam 授权器,并为对 a​​pi 网关的每个请求提供 aws 凭证。

现在,当我的 lambda 被执行时,我假设将使用分配给我的 cognito 用户的角色,并且我将可以访问所需的资源。但似乎 lambda 执行角色仍然需要具有执行这些资源的权限。

我真的需要拥有两个具有相同权限集的角色吗?如果是这样,认知角色的意义何在?

0 投票
0 回答
203 浏览

ios - AWS Cognito UserPool 自定义登录保护 AppClientSecret

我已经看到了链接(比如这个:https ://aws.amazon.com/blogs/mobile/how-amazon-cognito-keeps-mobile-app-users-data-safe/)说不存储 AppClientSecret 在移动应用程序,但是如何在不将 AppClientSecret 存储在应用程序中的情况下实现自定义登录?

0 投票
5 回答
6568 浏览

amazon-web-services - AWS Cognito - 重置用户 MFA

我有一个 Cognito 用户池,它的 MFA 设置为Required只有TOTP(即没有 SMS)。

我的问题是如何为用户重置 MFA?例如,如果用户丢失了他的手机,因此他无论如何都无法登录怎么办。

我尝试过重置密码,但这只会重置密码,不会删除 MFA。

在此AWS 文档的底部,它说

注意API 中当前不提供删除 TOTP 软件令牌操作。此功能计划在未来的版本中使用。使用 SetUserMFAPreference 为单个用户禁用 TOTP MFA。

所以我尝试了SetUserMFAPreferenceAdminSetUserMFAPreference他们只是返回 200 OK 但实际上并没有禁用 MFA。我猜这是由于用户池已将 MFA 设置为Required.

0 投票
1 回答
2497 浏览

amazon-web-services - 在前端 javascript 中存储 aws cognito JWT 密钥不安全吗?

我正在查看网站的 javascript 文件以找到我想要的端点,在此期间我发现了这样的一行。

当我解码上述 JWT 时,我发现了像孩子、用户名、用户邮箱、iss = http://cognito-idp.us-east-1.amazonaws.com/ {pool-id}这样的实体

我已经阅读了一些亚马逊资源,这些资源表明可以使用上述令牌获取 aws 凭据。鉴于我只有 jwt 令牌,有什么可能,我是否必须联系网站来撤销当前的令牌?

0 投票
2 回答
1189 浏览

amazon-web-services - Cognito 用户池中的自定义属性是否适合存储动态用户信息?

Cognito 的 AWS 文档说:

每个自定义属性:一旦添加到用户池,就无法删除或更改。

来自:https ://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-settings-attributes.html#user-pool-settings-custom-attributes

我相信他们指的是自定义属性的名称,而不是值本身。

因此,例如,可以从 Lambda 函数更改该值。假设我们为电子商务网站中的每个用户存储保真度积分。

自定义属性是否适合存储此类信息?还是应该在用户池中创建一个链接到 UserId 的新 DynamoDB 表?

0 投票
0 回答
723 浏览

google-oauth - 具有谷歌联合身份的 Aws Cognito:使用最后一个用户登录

问题: 我正在使用 Aws Cognito,使用 google 作为外部联合身份对我的应用程序进行身份验证:问题是当只有一个登录的 google 帐户时,我使用最后一个用户登录。基本上,它似乎根本无法完全注销用户。

继承人发生了什么:

  • 我使用例如用户 a@gmail.com 登录到谷歌
  • 我使用上述电子邮件并登录通过外部联合身份登录到 cognito。一切都很好。
  • 我现在注销并想使用'b@gmail.com'登录到cognito,现在说我使用另一个浏览器创建了帐户并且从未使用过当前浏览器,所以浏览器不知道这一点。(简而言之,我只是登录此浏览器中有一个 gmail 帐户。)
  • 当我尝试登录时,我看到了“使用 Google 登录”的选项,但它从未向我显示帐户选择屏幕并直接让我登录。

我正在使用https://mydomain.auth.auth.us-east-1.amazoncognito.com/login上显示的屏幕 cognito

使用提示:

我看到谷歌本身有一种方法可以强制用户使用“提示”选择一个帐户:select_account 选项。但我看不出有办法在 cognito 的任何地方指定这一点。

问题: - 有人对上述问题有任何修复/解决方法吗?我需要一种“始终”显示帐户选择的方法,以便他可以选择或使用不同的帐户。

您是否尝试过 cognito 的注销端点? - 是的,即使在我将用户发送到 cognito 的注销端点之后也会发生这种情况,这可能应该注销用户。