I want to use Keycloak as an authentication system to register, log in, and overall maintain the users of my app which consists of React.js in the frontend and Spring Boot in the backend. The users shall be able to register themselves without the interference of an admin and therefore also without requiring an initial access token as anyone shall be able to register on demand. As far as I can see there is no solution provided by Keycloak to directly register a user without having an access token or using the admin endpoints e.g. with this URL: http://localhost:8089/auth/realms/mrtapp/protocol/openid-connect/registrations. An idea that I have is to send the user registration credentials to the backend and use the admin URL in the backend to register the user but I am unsure if this is safe. Also, I managed to get to the registration page with Postman but I am having trouble coming up with the payload structure of the POST request for the registration of a user, so I would appreciate any incentive on how to come up with that.
EDIT: The URL which gets me to the login page is: http://localhost:8089/auth/realms/mrtapp/account/#/login
and the URL which gets me to the registration page is:
http://localhost:8089/auth/realms/mrtapp/account/#/register
At this point, I am stuck as I can't come up with the URL to send the payload (firstname,lastname,username,...) and also do not know what the payload looks like exactly. Does at this point Keycloak handle the User registration and there is no way to interfere and that's why I can't solve it with Postman?
I would appreciate any clarification if I am confusing something or if it is the right path to go. Even just giving me a heads-up if it is possible or not would be very helpful.
Thanks!
Okay, now I put a JavaScript App using Keycloak.js in the frontend and this works fine, login and registering, but Postman still can't access the registration which I guess is because I am not including all required headers and payloads. I guess I will just continue using JS instead of Postman.