Deep Link module and Mendix Cloud Login Guard issue when login via Deep Link

0
When I use Deep Link  module (5.2.0) in combination with Mendix Cloud Login Guard (3.0.0) I'm not able to login when using a DeepLink. Errors First error:  java.security.AccessControlException: access denied ("java.util.PropertyPermission" "org.eclipse.jetty.util.UrlEncoding.charset" "read") Second Error: Login failed for 'SomeUserAccount' : com.mendix.systemwideinterfaces.MendixRuntimeException: com.mendix.core.CoreRuntimeException: Exception occurred in action '{"before":[],"action":{"type":"LoginAction","user":"SomeUserAccount"},"after":[],"type":"EventExtendedAction"}', all database changes executed by this action were rolled back If I remove the After Startup microflow of Mendix Cloud Login Guard I'm able again to login, but then TLS 1.2 is not enforced anymore on a V3 node. Does anyone know a cause or sollution to this?
asked
1 answers
1

Mendix has found the root cause of this issue. The error occurs because the IMxRuntimeRequest parameter request isnullin CloudLoginHandler custom login action at the time the logic arrives.

In order to fix this, please change the Core.login call in the Deeplink module to pass on the IMxRuntimeRequest parameter so a custom login handler will have access to it. This can be achieved by modifying line 305 in the StartDeepLink.java action from:

  private ISession performLogin(IMxRuntimeRequest request,
    IMxRuntimeResponse response) throws Exception {
      String username = request.getParameter(ARGUSER);
      String password = request.getParameter(ARGPASS);
 
      try {
    ISession session =  Core.login(username, password); // line 305

to:

private ISession performLogin(IMxRuntimeRequest request,
    IMxRuntimeResponse response) throws Exception {
      String username = request.getParameter(ARGUSER);
      String password = request.getParameter(ARGPASS);
 
      try {
    ISession session =  Core.login(username, password, request); // line 305
answered