问题标签 [aws-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.
aws-cognito - AWS Cognito token verification c#
I am trying to implement a signature verification endpoint - or ASP.net WebAPI action filter, to verify that a token has in fact come from AWS Cognito - validate its signature.
I am using the following code, but it always returns invalid. The Javascript code example also below works perfectly with the same keys / token.
Can anyone help?
Thanks, KH
CSharp
JavaScript
node.js - AWS Cognito adminCreateUser 可以发送临时密码吗?
TemporaryPassword 上的 Amazon Cognito adminCreateUser 文档指出:
该参数不是必需的。如果您未指定值,Amazon Cognito 会为您生成一个值。
用户如何获得它?起初我以为它会通过电子邮件发送给用户,但似乎并非如此。然后我想也许它会在回应中回来。没有。
这是我在节点 JS Lambda 函数中调用的代码:
这是我得到的回应:
密码去哪儿了?我们应该猜到吗?:-)
amazon-cognito - Cognito 用户池 - 刷新令牌是否与客户端 ID 相关联?
前几天在做一些跨团队工作时,试图获得一个 API 端点以促进刷新令牌的使用,但我有点困惑为什么我在尝试时会收到“无效的刷新令牌”错误尝试使用 REFRESH_TOKEN 或 REFRESH_TOKEN_AUTH 流时的 InitiateAuth 或 AdminInitiateAuth 操作。
在我们正在过渡到 Cognito 的 .NET API 中,我使用了一个客户端 ID。我们还在一个启动项目中使用了另一个客户端 ID,我们可以点击它来获取 JWT。据我所知,客户端 ID 与刷新令牌相关联,这就是我收到无效令牌错误的原因。
任何人都可以确认有更多的经验吗?
amazon-web-services - AWS Cognito 无法在 CognitoIdentityCredentials 上设置凭证
我在为 AWS Cognito 设置凭证时遇到问题。
我在用例 4 上有来自AWS amazon-cognito-identity-js 的以下代码。
我检查了我发送的方法是否正确IdentityPoolId
,但我在 accessKeyId 和 sessionToken 上未定义作为返回。Logins
CognitoIdentityCredentials
下面是我得到的。
CognitoIdentityCredentials {expired: true, expireTime: null, accessKeyId: undefined, sessionToken: undefined, params: Object…}
知道如何解决这个问题吗?
javascript - 未捕获的错误:n.onSuccess 不是 AWS Cognito 函数
当我尝试使用新密码设置经过身份验证的用户时,我收到以下 javascript 错误,但我无法弄清楚它发生在哪里。一旦我调用我的注册函数,用户实际上可以用一个新密码覆盖他们的临时密码,并且在 cognito 控制台中一切看起来都很好。他们还可以使用新密码登录。
我的注册功能:
注册.vue
node.js - AWS - nodejs SDK - CognitoIdentityServiceProvider.initiateAuth - CredentialsError:配置中缺少凭证
我正在尝试使用带有用户池的 AWS Cognito 通过我的 API 进行身份验证。我有一个通过 AWS Cognito 用户池创建的用户,我正在尝试使用该用户登录。
我得到的错误是CredentialsError: Missing credentials in config
. 具体来说,它告诉我我需要一个IdentityPoolId
. 但我似乎无法IdentityPoolId
在我的 AWS 控制台中找到它。我的用户池从哪里得到这个?我看到的只是一个 Pool id 和一个 Pool ARN。
相关源代码:
对于authParams
对象,我不确定AuthFlow
应该是什么。查看http://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/CognitoIdentityServiceProvider.html#initiateAuth-property似乎USER_SRP_AUTH
是我应该使用的。
编辑:
我相信我可能已经找到了我的IdentityPoolId
. 我查看了我的部分,并在编辑身份池时Federated Identities
添加了相应User Pool
的部分。Authentication Providers
我通过输入and为该用户池将Authentication Provider
for关联Cognito
到我创建的用户池。现在使用相同的代码,我得到了错误。它说。好的...我正在尝试授权用户...我是否需要创建一个未经身份验证的角色,以便用户在未经身份验证时可以进行身份验证?如果那是我需要做的,那似乎很愚蠢。User Pool ID
App Client ID
Identity pool ID
CredentialsError: Missing credentials in config
Unauthorized access is not supported for this identity pool
编辑2:
我还应该注意,我能够登录并获得以及AccessToken
使用Javascript SDK(不是 nodejs)。我在不需要. 我唯一需要的是 a和 a 。IdToken
RefreshToken
IdentityPoolId
UserPoolId
ClientId
ios - iOS 中的 AWS Cognito 更新用户登录问题
我正在AWS Cognito
登录。它在所有情况下都可以正常工作,例如注册、登录、忘记密码等。但是它编辑个人资料的情况下,我面临一些技术问题。我成功编辑了我的手机号码。
在一种情况下,我提供了错误的数字,它会引发这样的错误,
[AWSJSONResponseSerializer responseObjectForResponse:originalRequest:currentRequest:data:error:] | 响应正文:{"__type":"InvalidParameterException","message":"电话号码格式无效。"}
我正在使用这组代码来更新我的个人资料,
它仅提供成功响应。失败响应不会出现在此块内。任何人都可以帮助我如何在此获取失败消息。我尝试了很多方法,但仍然难以获得正确的解决方案。任何帮助将不胜感激。谢谢。
node.js - 使用 njwt 针对 JWK 集验证 AWS Cognito JWT IDToken
我试图弄清楚如何验证从 AWS Cognito Identity authenticateUser 调用获得的用户 IDToken。
按照此处找到的步骤:https ://docs.aws.amazon.com/cognito/latest/developerguide/amazon-cognito-user-pools-using-tokens-with-identity-providers.html#amazon-cognito-identity- user-pools-using-id-and-access-tokens-in-web-api我能够达到我拥有用户 ID 令牌的地步,并且我已经解码了标题和正文。
给定一个 IDToken,这就是我的标题和正文的样子:
标题:
身体:
那么IDToken的第三部分就是签名:
我坚持的部分实际上是根据我的签名密钥验证签名。我似乎无法让这部分工作。现在我正在尝试使用njwt
此处找到的节点模块:https ://www.npmjs.com/package/njwt 。
IDToken
以 3 部分.
分隔的 base64 编码字符串和secretKey
以下 Javascript 对象的形式给出:
这是我用njwt
node 模块尝试过的:
当我以这种方式尝试时,我得到:
所以我想也许我需要通过secretKey.n
而不是secretKey
像这样:
当我以这种方式尝试时,我得到:
其次是我的console.log(err);
:
我应该如何通过secretKey
?应该secretKey
是什么,应该是什么样子?老实说,我什至不确定会发生什么njwt.verify
。
ios - AWS Cognito,AWSIdentityProviderManager 协议的登录方法没有被 iOS 调用
我们正在尝试使用 AWS Cognito 进行 Facebook 登录,但是当按照 AWS 文档与代码集成时,如下所示
我们AppDelegate.swift
在didFinishLaunchingWithOptions
方法中编写的这段代码
在这里,我们看到 logins 方法没有被调用。
由于没有调用 logins 方法,我们无法将 facebook 身份验证令牌传递给 amazon cognito。
任何帮助将不胜感激。
amazon-web-services - 网关 API 中的 Cognito 用户池授权器是否需要对所有请求进行签名?
使用 Cognito User Pool Authorizer 和 Gateway API的文档只说我应该:
- 调用使用用户池授权方配置的 API 方法,在 Authorization 标头或您选择的其他标头中提供未过期的令牌。
网络上的其他一些文本也反映了这一点。
但是,当我尝试使用令牌时,我收到一条错误消息,提示缺少Credentials
, Signature
, Signed Headers
params (和Date
标头)。我使用的令牌很可能是正确的,因为通过了授权人的 web gui 中的测试。
我的问题有两个部分:
这是否意味着使用 Cognito 用户池授权器需要我签署每个请求?有没有办法将它配置为只接受一个有效的令牌?
如果我想保持对 Amazon Gateway 的 HTTP 调用简单并仅使用令牌对其进行授权(以便可以轻松地从 Python 后端等手动执行),我是否被迫使用 Lambda 编写自定义授权方?还是有更好的选择?