标签: amazon-cognito

延长 AWS 临时安全凭证的有效期

当调用AssumeRole时,我们可以设置从900秒(15分钟)到最大3600秒(1小时)的时间。默认值为 1 小时。这能超过1个小时吗?比如12小时?

amazon-web-services amazon-cognito aws-api-gateway aws-sts

1
推荐指数
1
解决办法
213
查看次数

使用 response_type=code 时,AWS Cognito 内置 UI 错误发布凭证

我花了大量时间在这里寻找解决方案,但找不到。这是情况:

  • 我正在使用内置的 Cognito UI
  • 当我使用 response_type=code 将我的应用程序重定向到 UI 时,我可以正常进入登录页面。当我输入我的凭据并单击“登录”时,对 /login cognito 端点的 post 请求导致 405 方法不允许
  • 如果我改为使用 response_type=token 重定向我的应用程序,它会毫无问题地重定向到我的 return_url,但参数很难检索,因为它们是哈希参数而不是查询参数。

我实际上对任何一个都有效,因为文档似乎表明 /login 端点仅是 GET,我感到有些惊讶:https : //docs.aws.amazon.com/cognito/latest/developerguide/login-endpoint.html

无论如何,我更喜欢使用代码 response_type 。我在这里做错了吗?还有其他人有这个问题吗?我不认为我在做任何不寻常的事情。对我来说,就像内置 ui 流程中的某些东西被破坏了一样。我确实发现我不应该使用内置 UI,但我想让它工作,然后如果可能的话替换它。

如果您需要更多信息,请告诉我,我很乐意提供。

编辑:如果我将 redirect_url 设为 google.com,它实际上确实有效,这意味着它与我的应用程序和重定向有关,但基本上没有迹象表明出了什么问题。有谁知道我在哪里可以找到与 Cognito 中这些类型的错误相关的任何类型的相关日志或信息?

amazon-cognito

1
推荐指数
1
解决办法
1878
查看次数

Terraform aws_cognito_identity_pool :客户端 ID 和提供程序名称应该是什么?

错误:“cognito_identity_providers.0.client_id 必须仅包含字母数字字符和下划线”

此问题来自 aws_cognito_identity_pool 资源上的 client_id 和 provider_name。我们从哪里得到这些值。Terraform 不遵循 AWS 命名。我已经尝试过 Pool id 和 Pool ARN。但那些不起作用我也试过应用程序客户端ID

下面文档中提供的示例不清楚

cognito_identity_providers {
    client_id               = "6lhlkkfbfb4q5kpp90urffae"
    provider_name           = "cognito-idp.us-east-1.amazonaws.com/us-east-1_Tv0493apJ"
    server_side_token_check = false
  }
Run Code Online (Sandbox Code Playgroud)

amazon-cognito terraform

1
推荐指数
2
解决办法
1394
查看次数

AWS Cognito:支持 SSO IdP 启动的工作流程

我有我的 UI 应用程序,它使用 AWS Cognito 进行用户身份验证。我们已成功将 SAML 身份提供程序集成到我们的 Cognito 用户池中。

现在我想使用 AD FS 支持 SSO。

以下是我可用于 ADFS 登录的 URL。

https://adfs.DOMAIN.com/adfs/ls/IdpInitiatedSignOn.aspx

我已阅读此AWS Doc以配置任何 aws 管理控制台。

但是我应该遵循哪些步骤来为 Cognito 启用此功能。

有什么帮助吗?

adfs single-sign-on adfs2.0 amazon-cognito adfs3.0

1
推荐指数
1
解决办法
3111
查看次数

导入 Cognito 时遇到问题,“AmazonCognitoIdentity 未定义”

我是 Node JS 的初学者,并尝试在线学习示例并从 AWS 文档中学习得相当好。到目前为止,我只使用 AWS 提供的基于 Web 的 lambda 编辑器。以下代码给我带来了麻烦并指出,“errorMessage”:“AmazonCognitoIdentity 未定义”,

有人可以建议我如何仅使用网络编辑器成功开始使用 Cognito 吗?

var aws = require('aws-sdk');
var CognitoUserPool = AmazonCognitoIdentity.CognitoUserPool;



exports.handler = (event, context, callback) => {

  console.log("Do something here...");
}
Run Code Online (Sandbox Code Playgroud)

amazon-web-services node.js amazon-cognito aws-lambda

1
推荐指数
1
解决办法
3027
查看次数

.yml 文件中的 AWS 无服务器框架用户组?

有没有人在无服务器框架的认知用户池中设置用户组?我知道我可以在 .yml 文件的资源部分中创建用户池和用户组,但我面临的问题是用户组需要用户池 ID(直到用户池已创建)。我总是可以在没有用户组的情况下进行部署,然后在获得用户池 ID 后使用用户组进行第二次部署,但我很好奇是否有人对如何在一次部署中执行此操作有任何经验或想法。我相信你们中的许多人都遇到过这个问题,但作为参考,我在下面添加了有关资源的无服务器文档以及有关添加用户池和用户组资源的 AWS 文档。谢谢大家的帮助!!

无服务器文档:https : //serverless.com/framework/docs/providers/aws/guide/resources/

用户池文档:https : //docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpool.html

用户组文档:https : //docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-cognito-userpoolgroup.html

amazon-web-services amazon-cognito serverless-framework

1
推荐指数
1
解决办法
899
查看次数

aws 客户端 cognito list_users() 函数的分页替代方法

为了列出认知用户池的所有用户,我想到了使用 boto3 的client.list_users()- 功能,包括分页。

不过,如果我打电话print(client.can_paginate('list_users'))False返回,因为该功能list_users()分页。

是否有替代方法可以列出认知用户池的所有用户而不过滤那些已经被选中的用户?

我当前没有分页的代码如下所示:

client = boto3.client('cognito-idp',
                         region_name=aws_region,
                         aws_access_key_id=aws_access_key,
                         aws_secret_access_key=aws_secret_key,
                         config=config)

response = client.list_users(
UserPoolId=userpool_id,
AttributesToGet=[
    'email','sub'
] 
)
Run Code Online (Sandbox Code Playgroud)

提前谢谢了!

python paginator amazon-cognito boto3

1
推荐指数
1
解决办法
1824
查看次数

如何在 lambda 中读取 AWS Cognito 自定义属性和登录用户

我在 aws congnito 池中创建了一个自定义属性,现在添加 Post authentication lambda 并且在 lambda 内部想要读取“自定义属性”和登录用户名。

在 Node.js lambda 中:

  var email=event.request.userAttributes.email;
  var refNumber=event.request.userAttributes.ref_number; //custom attribute
  var loginid=event.request.userAttributes.username;//loggedin id in cognito
Run Code Online (Sandbox Code Playgroud)

我能够正确获取电子邮件 ID,但是登录用户名和自定义属性都未定义。

amazon-web-services amazon-cognito aws-lambda

1
推荐指数
1
解决办法
2013
查看次数

admin-create-user 命令无法正常工作

我正在尝试运行官方文档中所示的 admin-create-user cli 命令,但它似乎无法正常运行。

尽管它们在命令中,但我没有得到所有属性创建事件。我总是只得到命令中输入的最后一个属性。

难道我做错了什么?有什么解决办法吗?

aws cognito-idp admin-create-user --user-pool-id us-west-2_aaaaaaaaa --username diego@example.com --user-attributes=Name=email,Value=kermit2@somewhere.com,Name=phone_number,Value="+15555551212" --message-action SUPPRESS

Run Code Online (Sandbox Code Playgroud)

我得到

{
    "User": {
        "Username": "diego@example.com",
        "Enabled": true,
        "UserStatus": "FORCE_CHANGE_PASSWORD",
        "UserCreateDate": 1566470568.864,
        "UserLastModifiedDate": 1566470568.864,
        "Attributes": [
            {
                "Name": "sub",
                "Value": "5dac8ce5-2997-4185-b862-86cf15aede77"
            },
            {
                "Name": "phone_number",
                "Value": "+15555551212"
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

代替

{
  "User": {
      "Username": "7325c1de-b05b-4f84-b321-9adc6e61f4a2",
      "Enabled": true,
      "UserStatus": "FORCE_CHANGE_PASSWORD",
      "UserCreateDate": 1548099495.428,
      "UserLastModifiedDate": 1548099495.428,
      "Attributes": [
          {
              "Name": "sub",
              "Value": "7325c1de-b05b-4f84-b321-9adc6e61f4a2"
          },
          {
              "Name": "phone_number",
              "Value": "+15555551212"
          },
          {
              "Name": "email",
              "Value": "diego@example.com" …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services aws-cli amazon-cognito

1
推荐指数
1
解决办法
1144
查看次数

AWS Cognito - Amplify:Auth.signIn 无论什么在 React Native 中返回 NotAuthorizedException

我刚开始在我的应用程序中使用 AWS Cognito,我按照说明安装了 Amplify 并创建了用户池和身份池并设置了所有内容。我创建了一个注册表单并在没有问题Aut.signUp()和确认电子邮件的情况下进行了注册。

但是当我尝试登录时,我输入了我的凭据并得到 NotAuthorizedException,用户名或密码不正确。

我是这样登录的:

Auth.signIn(user.Username, user.Password)
    .then((res) => {
        AsyncStorage.setItem('token', JSON.stringify(user))
        .then(res =>{
            console.log('saved')
        })  
        .catch(err=>{
            console.log(err)
        })
Run Code Online (Sandbox Code Playgroud)

无论我在输入字段中输入什么,我都会收到此错误。我刚开始使用 Amazon AWS,实在想不出问题

amplifyjs amazon-cognito react-native aws-amplify

1
推荐指数
1
解决办法
2131
查看次数