I’m using Vaadin Flow 13.beta3 in a JEE Wildfly environment and am having trouble configuring the JEE security. I basically block all url patterns and then specifically list the unsecured pages, however I get errors when accessing the unsecured page ‘/resetpassword’ when logged out. Is there an official list of url patterns that need to be open for a vaadin app to work properly?
<security-constraint>
<display-name>pages_auth</display-name>
<web-resource-collection>
<web-resource-name>standard</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>User</role-name>
<role-name>Administrator</role-name>
<role-name>Root</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<display-name>UnSecuredPages</display-name>
<web-resource-collection>
<web-resource-name>login-required</web-resource-name>
<url-pattern>/VAADIN/*</url-pattern>
<url-pattern>/favicon.ico</url-pattern>
<url-pattern>/manifest.json</url-pattern>
<url-pattern>/sw.js</url-pattern>
<url-pattern>/offline-page.html</url-pattern>
<url-pattern>/icons/*</url-pattern>
<url-pattern>/images/*</url-pattern>
<url-pattern>/frontend/*</url-pattern>
<url-pattern>/webjars/*</url-pattern>
<url-pattern>/h2-console/*</url-pattern>
<url-pattern>/frontend-es5/*</url-pattern>
<url-pattern>/frontend-es6/*</url-pattern>
<url-pattern>/login</url-pattern>
<url-pattern>/resetpassword/*</url-pattern>
<http-method>POST</http-method>
<http-method>GET</http-method>
<http-method>PUT</http-method>
<http-method>DELETE</http-method>
</web-resource-collection>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>DBLogin</realm-name>
<form-login-config>
<form-login-page>/login</form-login-page>
<form-error-page>/login?error</form-error-page>
</form-login-config>
</login-config>
<security-role id="SecurityRole_User">
<role-name>User</role-name>
</security-role>
<security-role id="SecurityRole_Administrator">
<role-name>Administrator</role-name>
</security-role>
<security-role id="SecurityRole_Root">
<role-name>Root</role-name>
</security-role>