【问题标题】:InvalidAction: The action or operation requested is invalid. Verify that the action is typed correctlyInvalidAction:请求的操作或操作无效。验证是否正确键入了操作
【发布时间】:2018-07-15 11:28:26
【问题描述】:

我正在使用 AWS Cognito 服务提供商来创建和列出用户池客户端。我有一个本地安装的 DynamoDB 来存储其他数据。但我在回调中收到上述错误。我查找了很多错误上下文,但找不到一个。

const cognitoidentityserviceprovider = new AWS.CognitoIdentityServiceProvider();
cognitoidentityserviceprovider.listUserPoolClients(params, function(clientListError, clientListData) {
    console.log(clientListError)
    if(clientListError){
        return res.json({
            status: false,
            message: 'Error Fetching Client Apps',
            data: clientListError
        })
    }
    return res.json({
        status: true,
        message: 'List fetch success',
        data: clientListData
    })
});

这用于获取用户池客户端应用程序。以同样的方式创建用户池客户端,但我收到相同的错误“InvalidAction”

【问题讨论】:

    标签: node.js aws-sdk amazon-cognito


    【解决方案1】:

    引发的错误来自 Dynamodb,因为我连接到没有表和数据的本地数据库,而且我也没有传递令牌管理器生成的凭据。我从配置中删除了本地 DB URL,然后从令牌管理器传递了凭据,我得到了想要的结果。

    【讨论】:

    • 谢谢 - 我们遇到了同样的问题,这是我们摸索半天后的答案!
    • @kshitij:我没有得到这部分“传递令牌管理器生成的凭据”你是什么意思?我们需要通过什么证书?
    • @Amir 我使用 AWS 令牌管理器为用户生成凭证,使用其令牌检查给定 DyanamoDB 资源的 IAM 权限。
    【解决方案2】:

    我也面临同样的问题,但无法解决。你能指导我吗:

    我从配置中删除了本地数据库 URL,然后从令牌管理器传递了凭据,我得到了想要的结果。

    我是这样配置数据库的:

    static DB_CONFIG = AppConfig.ENVIRONMENT === 'localhost' ? { endpoint: 'http://localhost:8000', region: 'us-east-1' } : { region: 'us-east-1' };
    
    

    在我的例子中是 localhost 并且第一个对象被传入。

    【讨论】:

    • 我得到了解决。当我为CognitoIdentityProviderService 创建实例时,我只是在构造函数中添加了配置。像这样的东西:new AWS.CognitoIdentityServiceProvider({region: 'us-east-1', endpoint: null})。把它留在这里以防万一。
    • 对我来说,endpoint 是问题所在。谢谢你,拯救了我的下午。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-04-14
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多