我想禁用认知用户池以拒绝所有用户在执行维护时访问该应用程序,并且我们没有关闭机制。
可以这样做吗?
我尝试通过禁用“客户端应用程序”中的设置,但是没有用。
答案 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);
};
请注意,此方法只会阻止用户登录并在活动时从池中获取新令牌。根据您的应用服务器的实现,他们仍然可以使用维护之前已经拥有的令牌。