我想使用AWS Cognito(用户池和身份池)来管理对我的Web应用程序的访问。
此网络应用是报告生成器。它根据收集的传感器数据生成报告。
请求的数据的可能范围应因用户而异。某些用户只能访问指定区域或日期范围内的特定传感器ID或传感器。
但是,我想公开提供一些报告-例如。来自纽约的传感器的数据应该提供给所有人,而无需注册/登录。
对于经过身份验证的用户,我认为我可以向Cognito用户池添加一个自定义属性,其中包含指定用户应有权访问的传感器ID。 然后,在注册并使用Cognito登录后,用户可以向我的应用程序发出请求,然后我将验证JWT并从有效负载中获取有关用户可以请求哪些传感器的信息。
不幸的是,我不确定如何处理未经身份验证的用户。我看到这样的话:
custom:city
= New York
的签名JWT。也许我应该创建一个具有已知用户名和密码的用户,并将其硬编码在前端?
使用Cognito是否合适?我应该以其他方式实现它吗?