<div dir="ltr">Hi all,<br>I am trying to apply KC for:<br>1. Authentication. So far KC works well and as expected!<br>2. Change the authenticated user roles as part of the application logic- based on external credit card registration (by an external credit card processor) and paid plan selection by the user, the web app need to  move the authenticated user from &quot;free&quot; role to &quot;premium&quot; realm role, which correspond to the paid plan s/he selected.<br><br>Is there an example of how to use KC APIs to change the user&#39;s role from within the app? I could not find anything specific in the examples or documentation, but I see some things that go in that direction:<div><br>A. </div><div>It seems like I have to use the Admin REST API somehow, but I am not sure which rest calls from the vast REST APIs I need to use? Is it &quot;Add realm-level role mappings to the user&quot; and &quot;Delete realm-level role mappings&quot;? What is &quot;id&quot; param then? Is this the &quot;user id&quot;? Can you please categorize the REST APIs in groups - &quot;user management&quot;, &quot;role CRUDs&quot;, etc., to make it easier to navigate?<br>There  seems to be an example &quot;admin-access-app&quot;, but it is not clear where it gets the app username/password. Are they just hard-coded &quot;username&quot; and &quot;password&quot;? In the case of Wildfly adapter, the client secret is configured inside the standalone.xml configuration file,<br>so <u>I expect to not have to configure it or read it from file configurations</u>, but the container should provide it/inject it for me? Is this correct assumption? Any example wildfly code?<div><br>B. </div><div>It seems like i also need to use a  <a href="http://blog.keycloak.org/2015/08/service-accounts-support-in-keycloak.html">service account </a>, so that the app can change user roles behind the scene on its own? Correct? <a href="http://blog.keycloak.org/2015/08/service-accounts-support-in-keycloak.html">This blog post </a>seems obsolete as there is no more &quot;Service accounts enabled&quot; switch I could find. I figured, one need to switch to &quot;confidential&quot; access type instead. Is this correct? Unfortunately, the corresponding example, &quot;Service Account Example&quot; does not show how one should proceed when the client secret is configured in the Wildfly&#39;s  standalone.xml file and the developer is not expected to parse configuration files (either embedded in the WAR or elsewhere). Any example of how to get configured objects? I tried to get some clue from the <b>KeycloakDeploymentBuilderTest.java</b> file, but it is not clear how one can get <b>KeycloakDeployment</b> injected by the container rather than paring it from files. Any clue?<br><br>Thank you for the grate product! And thank you for any guidance you can provide - that would save me a lot of time and questions!<br></div></div><div><br></div><div>/Hristo</div></div>