我的生产环境使用AWS Cognito联合身份(AKA:身份池)来允许用户使用其Google / FB帐户登录。一切正常。
但是,对于我的登台环境,我想提供类似的登录功能(即:用户通过Google登录),但我想限制仅登录到特定白名单(例如@)的功能。 gmail.com帐户)。这是因为暂存环境仅应由团队成员和一堆受信任的用户访问。
我的问题是:是否可以定义仅允许白名单用户登录的Cognito身份池?如果答案是“是”,那怎么办?
我知道我可以在后端进行白名单检查(即:在分阶段环境的后端。我将拒绝不是来自这些列入白名单的用户的每个请求),但这有点不干净。特别是,我希望拒绝能够尽早发生,并且理想情况下,应该由cognito本身而不是后端执行。
说明:
我提到了@ gmail.com帐户列表作为白名单。我对定义白名单的任何其他机制都持开放态度。
我在某种程度上询问我是否可以使用认知身份池具有用户目录功能(特别是:确定用户是否在特定的用户组中)。
答案 0 :(得分:1)
Identity pool的目的是提供对已验证身份的访问。因此,该资源无法管理用户(即:白名单用户组)。
有两种方法可以做到这一点:
链接3rd Party Identity into a User Pool和white list by User Group。您的用户组将具有“角色和权限”,并假定该角色和权限将允许您的测试用户拥有所需的功能,而不允许其他登录用户拥有该功能。
通过3rd Party Identity管理用户-我不是Google身份验证专家。.但是有些OpenID提供程序允许您创建具有不同访问角色的用户组。这是example for Google。
答案 1 :(得分:0)