将Cognito外部GUI与Tomcat安全约束集成

将Cognito外部GUI与Tomcat安全约束集成,tomcat,amazon-cognito,Tomcat,Amazon Cognito,AWS的Cognito服务提供了一个登录/注册GUI,允许用户注册一个站点(通过各种验证:电子邮件、电话)、登录、管理忘记的密码等。当用户登录时,Cognito将用户引导到您提供的回调URL。附加到回调URL的是JWT令牌(或代码) 带有用户池的Cognito部分工作正常 该网站已部署到Tomcat。Tomcat保护资源的内置方式带有安全约束。例如,通过将以下内容添加到web.xml文件: <security-constraint> <web-resource-coll

AWS的Cognito服务提供了一个登录/注册GUI,允许用户注册一个站点(通过各种验证:电子邮件、电话)、登录、管理忘记的密码等。当用户登录时,Cognito将用户引导到您提供的回调URL。附加到回调URL的是JWT令牌(或代码)

带有用户池的Cognito部分工作正常

该网站已部署到Tomcat。Tomcat保护资源的内置方式带有安全约束。例如,通过将以下内容添加到web.xml文件:

<security-constraint>
    <web-resource-collection>
        <web-resource-name>User Stuff</web-resource-name>
        <url-pattern>/protected/*</url-pattern>
    </web-resource-collection>
    <auth-constraint>
        <role-name>user</role-name>
    </auth-constraint>
</security-constraint>

<login-config>
  <auth-method>FORM</auth-method>
  <realm-name>Authentication</realm-name>
  <form-login-config>
    <form-login-page>login.html</form-login-page>
    <form-error-page>error.html</form-error-page>
  </form-login-config>
</login-config>

用户资料
/保护/*
用户
形式
认证
login.html
error.html
为用户名和密码(或哈希)存储配置了域

Tomcat的部分工作正常

问题是,我的目标是将Tomcat安全约束与Cognito的外部注册/登录GUI集成

人们会这样做吗?如果有的话,有什么胶水可以在Cognito外部GUI和Tomcat领域之间架起桥梁

明显的问题

  • 登录配置不允许当前域之外的URL(即。https://... (被拒绝)

  • 触发Tomcat的身份验证需要表单POST到j_安全检查。它与Cognito的回调URL方案不直接兼容

  • 或者这需要一个完整的OAuth/框架堆栈,比如SpringSecurity才能工作