有没有办法发出一次使用有效的访问权限?我的用例是从浏览器调用Lambda函数,但希望将每个令牌的调用次数限制为一个。
如果发出了短期令牌,那么它仍有可能被用于多次调用。
我正在使用DeveloperAuthenticatedIdentities发布临时令牌。
答案 0 :(得分:1)
AWS Cognito没有这样的东西。
您可以使用API网关实施自定义授权程序来管理您的调用计数。如果多次访问相同的URL,您可以拒绝该服务。
有关自定义授权人的更多信息。
https://docs.aws.amazon.com/apigateway/latest/developerguide/use-custom-authorizer.html
希望它有所帮助。
答案 1 :(得分:0)
AWS Cognito不是为此而设计的,但您可以通过以下方式实现此目的 抛出不需要的昂贵计算:
confirmed
用户。 您可以看到即使对于少量用户,这种方法也不可行。
更好的方法,如果路线是唯一的(仍然使用Cognito)
您在S3中有路由列表,作为存储桶名称;每个都有一个文件 包括,像
{ access:false }
如果用户使用令牌访问路线,您的应用会检查以上内容 访问,并将其设置为true。你甚至可以没有上面的文件,只有 桶;代表路线并在被访问时被删除。
更好的方法
2.与上述方法相同(使用S3)。
答案 2 :(得分:0)
对于限制使用,我认为最好的方法是使用使用计划。
限制使用不是令牌责任,API密钥用于此目的。
看看这个AWS页面。
https://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-api-usage-plans.html