I am on my first big solo task and I am required to create an application that allows companies to work with permits, fill them out, get them signed etc. This web-app is with invite only i.e. it is just for businesses and we will add a users details into the backend and they can then login and use the app. The main thing is that a user is linked to a company and that company issues the permits.

Now I am at the very start of the process and I have done some research and seen that keycloak would be a great tool to use for getting users to login to the system. When someone wants to sign up with us, I will add their details to keycloak and they will get a temporary password and be able to login and add their company (I get there is a manual step on my end but this needs to be the way)

So in my code I have added a company entity and endpoint where I can run the crud operations. Then it came to a user. So the user - company relationship is many-1 (many users can be with a company) and I have a foreign key of the company id in the users table. But I then thought that we have the user signed up with keycloak and that has about 90% of the required information I need (name, email, phone etc.) so why not just use have another column of keycloak id.

Trying to code this, something doesn't seem right!

  1. I started off with just using keycloak for login/signup and now I find myself getting more n more coupled with the product
  2. But then there is also duplication where we save the user information in both keycloak and our own db

I feel I am stuck in this and need some advice on where to go/how to do this. Should keycloak just be used for login and that's that? Should I utilize keycloak to its full capabilities? Any advice/information/guidance would be much appreciated

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.