是否可以禁用congnito用户池?

时间:2020-08-27 17:28:49

标签: amazon-web-services amazon-cognito

我想禁用认知用户池以拒绝所有用户在执行维护时访问该应用程序,并且我们没有关闭机制。

可以这样做吗?

我尝试通过禁用“客户端应用程序”中的设置,但是没有用。

1 个答案:

答案 0 :(得分:1)

无法禁用用户池,但是您可以使用Lambda创建自定义的Pre身份验证钩子,并基本上使它拒绝所有身份验证请求。

然后,维护结束后,只需从池中卸下挂钩即可。

请参见Pre Authentication Lambda Trigger documentation

如何使用自定义Lambda实现此示例

exports.handler = (event, context, callback) => {
    if (downForMaintenance) {
        var error = new Error("App is down for maintenance. Please check back later.");

        // Return error to Amazon Cognito
        callback(error, event);
    }

    // Return to Amazon Cognito
    callback(null, event);
};

请注意,此方法只会阻止用户登录并在活动时从池中获取新令牌。根据您的应用服务器的实现,他们仍然可以使用维护之前已经拥有的令牌。