<div dir="ltr">Hi guys,<div><br></div><div>in the UpdatePassword class we need to modify the string values that come from formData</div><div>so that there are not &quot;password-new&quot; but &quot;passwordNew&quot; (JS conform as we&#39;ve build the GUI with AngularJS on top of Freemarker actions):<br><div><a href="https://github.com/keycloak/keycloak/blob/de472dbd43dd2767afb3436835f77924a78e9f82/services/src/main/java/org/keycloak/authentication/requiredactions/UpdatePassword.java#L67">https://github.com/keycloak/keycloak/blob/de472dbd43dd2767afb3436835f77924a78e9f82/services/src/main/java/org/keycloak/authentication/requiredactions/UpdatePassword.java#L67</a><br></div><div><br></div><div><br></div><div>We&#39;ve created our own CustomUpdatePassword (similar with the class above except the two lines and own id -UPDATE_PASSWORD_CUSTOM) and tried to hook it in our own custom ResetPassword class:</div></div><div><div>    @Override</div><div>    public void authenticate(AuthenticationFlowContext context) {</div><div>        if (context.getExecution().isRequired() ||</div><div>                (context.getExecution().isOptional() &amp;&amp;</div><div>                        configuredFor(context))) {</div><div>            context.getClientSession().addRequiredAction(CustomUpdatePassword.UPDATE_PASSWORD_CUSTOM);</div><div>        }</div><div>        context.success();</div><div>    }</div></div><div><br></div><div>The custom classes are registered in META-INF services and everything, and we can add the custom reset password execution in the Reset Credentials workflow...</div><div><br></div><div>The result is a NPE in AuthenticationManager by trying to get the providerId from the model</div><div><div>RequiredActionProviderModel model = realm.getRequiredActionProviderByAlias(action);</div><div>RequiredActionFactory factory = (RequiredActionFactory)session.getKeycloakSessionFactory().getProviderFactory(RequiredActionProvider.class, model.getProviderId());</div></div><div><br></div><div>I am tired and cannot look through anymore, so your advice is more than welcomed...</div><div><br></div><div>Thanks,</div><div>Adrian</div><div><br></div><div><br></div></div>