Do you want to simplify your development process? Grab my free Clean Architecture template here: bit.ly/3Andaly Want to master Clean Architecture? Go here: bit.ly/3PupkOJ Want to unlock Modular Monoliths? Go here: bit.ly/3SXlzSt
@d3vil5oldier2 ай бұрын
Please more series on keyclock. In the past i tried to implement this but I was defeated. Thank you for sharing your knowledge.
@MilanJovanovicTech2 ай бұрын
Will do! I have a few more ideas for topics to cover
@d3vil5oldier2 ай бұрын
@@MilanJovanovicTech Awsome. Please show how to connect to a postgres database and manage user roles/permissions
@AndresValencia19852 ай бұрын
I'm writing to you from Colombia. You solved a problem I had been dealing with for several days while trying to integrate a small .NET project using Net Aspire Components
@MilanJovanovicTech2 ай бұрын
Ha! I'm glad this was helpful to unblock you 😁
@alexlo26212 ай бұрын
Great explanation of Keycloak for authentication and authorization! The setup and configuration steps were clear, and your examples made complex concepts easy to grasp. Looking forward to more in this series-super excited to dive deeper!
@MilanJovanovicTech2 ай бұрын
Great to hear!
@Comphonia2 ай бұрын
More of Keycloak please. I'm excited for the series! 😊
@MilanJovanovicTech2 ай бұрын
More to come!
@19balazs862 ай бұрын
This is a great video series! I remember in the past searching for content about Keycloak, but nothing compares to this.
@MilanJovanovicTech2 ай бұрын
Glad it was helpful! And I'm glad some results are coming up for Keycloak now 😁
@anatolia232 ай бұрын
Better to use cookie (http only) authentication for enhanced security, particularly when your client is a SPA. Utilise cookies for communication between the client and the API Gateway, and JWTs for interactions between the API Gateway and downstream services. Good content btw!
@MilanJovanovicTech2 ай бұрын
That could be something I cover in a future video
@JollyGiant192 ай бұрын
@@MilanJovanovicTech cookie based jwt authentication, if you could. It gives us all the security of cookie auth with the statelessness of JWTs
@lpsoldier3572 ай бұрын
Awesome video as always. Please do a video using microsoft entra as identity provider. There are few examples about it online.
@MilanJovanovicTech2 ай бұрын
Great suggestion!
@matejskerjanc77032 ай бұрын
Awesome as usual, I'd love to refresh auth code flow and claims transformations knowledge. It's been a while, you're best for this:))
@MilanJovanovicTech2 ай бұрын
I think I covered refresh token in previous Keycloak video, and I have a separate one on claims transformation
@rzaipАй бұрын
Would love to see how you set this up for production and deploy to Azure (or any other cloud provider).
@MilanJovanovicTechАй бұрын
Azure Container Apps?
@alibabapour74185 күн бұрын
excited for keycloack series 🔥
@MilanJovanovicTech5 күн бұрын
What do you think about it?
@alibabapour74185 күн бұрын
@MilanJovanovicTech it's offering so many benefits and suitable for microservices imo while everyone struggling with clouds alternative, it's free and could be run as a isolated containter can't ask more
@alibabapour74185 күн бұрын
@MilanJovanovicTech well it's offering so many benefits and suitable for microservices imo while everyone struggling with clouds alternative, it's free and could be run as a isolated containter, can't ask for more.
@alibabapour74185 күн бұрын
well it's offering so many benefits and suitable for microservices imo while everyone struggling with clouds alternative, it's free and could be run as a isolated containter, can't ask for more.
@alibabapour74185 күн бұрын
@MilanJovanovicTech well it's offering so many benefits and suitable for microservices imo while everyone struggling with clouds alternative, it's free and could be run as a isolated containter, can't ask for more. I'm considering for applying authorization using keyclock Do you think it's worth it?
@manliomarchica49112 ай бұрын
Great video as usual! Do you use Implicit flow for the sake of simplicity ? I know that it is not recommended to use the implicit flow for security reason
@MilanJovanovicTech2 ай бұрын
Yes, could've also used auth code flow just the same
@nagibatorbatcka862 ай бұрын
Hello Milan, What do you think about making video where you implement your own IdentityServer ? For example with Duende IdentityServer.
@MilanJovanovicTech2 ай бұрын
Perhaps, we'll see
@ydswd20032 ай бұрын
Great video! Could you implement an extra field in the user record?, gender, for example. Another interesting topic, although outside the C# scope, could be "Custom Themes". I would like to see more Keyclok videos. Thank you so much!
@MilanJovanovicTech2 ай бұрын
That's a good idea for a future video
@JoseMuinos19 күн бұрын
Super usefulll! Any plans on creating a guide for Azure AD B2C authentication? I've seen lots of companies migrating to 2FA auth these last months so im curious: is it Azure AD B2C the best option? Thank's for the content!
@MilanJovanovicTech18 күн бұрын
It's probably the best option if you're on Azure
@SaifKhan-s5i2 ай бұрын
Thank you for the amazing video. Will you prefer to use Keycloak or Microsoft Identity Server where you use user manager, role manager etc. Thank you.
@MilanJovanovicTech2 ай бұрын
I mostly use Keycloak. I always had to "fight" with Identity to get it to do what I want.
@rickjarr2 ай бұрын
Awesome series!
@MilanJovanovicTech2 ай бұрын
Glad you think so!
@edandersen2 ай бұрын
This was fantastic. Thanks!
@MilanJovanovicTech2 ай бұрын
Sure thing!
@ryankruger7401Ай бұрын
Love the series, I am trying to setup according to your video but I have fought for hours with this issue, after getting the bearer token and requesting from the /me endpoint. Bearer error="invalid_token", error_description="The signature key was not found"
@MilanJovanovicTechАй бұрын
Looks like Metadata endpoint is unreachable
@akashkarve19912 ай бұрын
Nice video. Waiting for more microservice scenario on Keycloak. Cheers :)
@MilanJovanovicTech2 ай бұрын
Working on it
@fahimahmedali2 ай бұрын
Another nice video on Keyclock, keep em coming
@MilanJovanovicTech2 ай бұрын
Much appreciated!
@thiembaotrinh43092 ай бұрын
I'm curious if Keycloak can point to an external IDP (AAD, PingId,...) for authentication and automatically sync the users from the external IDP to Keycloak. It would help a lot for enterprise applications.
@MilanJovanovicTech2 ай бұрын
Not sure, let's me check
@heikenem2 ай бұрын
Great video, congrats!
@MilanJovanovicTech2 ай бұрын
Thanks!
@aloussase2 ай бұрын
12:56 you said let's navigate to the SwaggerUI when navigating to the JaegerUI 14:16 you said let's open up swagger when opening postman You see Swagger everywhere 🤣
@MilanJovanovicTech2 ай бұрын
Ok ok get out of here 😂
@vinp20072 ай бұрын
just wanted clarification on authentication, so if i had multiple microservices each offering different api calls how would i use the authentication to make sure that all the api calls have a valid authentication/ authorization? Would i use the proxy approach just a little confused.
@MilanJovanovicTech2 ай бұрын
Typically yes, you'd have a proxy/gateway in front all your services
@imranaliikram4622 ай бұрын
Nice 👍.. Can you make videos on Keycloak 2 factor authentication via email and sms ? I was working on it and its required custom providers in java for this functionality and i was jot able to complete that ..
@MilanJovanovicTech2 ай бұрын
As soon as possible!
@bjarnenilsson80Ай бұрын
Ok this might be slightly ot, but I've noriced something,in every toturuazl where and postgresql is involved it spins up it's own posrgres container, which is fine if you have only one application running on a host, but what happens if you have 10, now all of a sudden you are runing 10 instances of postgresql, I might be stubid, but doeasn't this chew up a significant amount of ram ? Wouuldn't ir be better to gave a common postgresql container for all apps, where each app has their own db and postgresql user?
@MilanJovanovicTechАй бұрын
This is much simpler for demos
@dimzinnatov72422 ай бұрын
Do part 2, where you will create an SPA that will send a request to the API please
@MilanJovanovicTech2 ай бұрын
Sure, sure
@smnb66522 ай бұрын
Could you add the requests as http files next time? I'm neither using Swashbuckler nor Postman and getting the basic request was not clear for me.
@MilanJovanovicTech2 ай бұрын
Yeah, good suggestion. Thanks!
@esrefcagataydogan83082 ай бұрын
Hi Milan, I am developing an application using Keycloak and Spring Boot. I have implemented OTP login and Google Sign-In, but there is an issue. If a user has previously logged in with OTP and then tries to log in with Google using the same email, I get a "user already exists" error (federated identity account exists). In this case, I want the accounts to be merged. In other words, the user should be able to log in using both OTP and Google Sign-In with the same email. Could you help me with this?
@MilanJovanovicTech2 ай бұрын
Damn, that is a great question. I don't have an answer right now, but let's see if I can dig up some docs.
@yuravertsimaga60122 ай бұрын
Great! Thanks! What about passwordless approach, could we implement some sms code verification with Keyclock?
@MilanJovanovicTech2 ай бұрын
Yes we can, adding that to the list
@marko57342 ай бұрын
Can you create video how would auth work in microservices architecture?
@MilanJovanovicTech2 ай бұрын
Yes. It'll be very similar to this, with just copying the auth config in a few services.
@marko57342 ай бұрын
@@MilanJovanovicTechThat would be great
@sunzhang-d9v2 ай бұрын
What should I do if the repository needs to be associated with a user table, and I don't need to create a user table locally?
@MilanJovanovicTech2 ай бұрын
I'm not sure what you're asking here
@HeitorGiacominiАй бұрын
posting before finishig to see the video, i have been stuck on it for 3 months.
@MilanJovanovicTechАй бұрын
Do you have it figured out now?
@HeitorGiacominiАй бұрын
@@MilanJovanovicTech not yet. i'm trying to configure .net core back end and angular front but errors is confusing.
@aymenbachiri-yh2hdАй бұрын
Thank you so much
@MilanJovanovicTechАй бұрын
Any time
@piotrc9662 ай бұрын
why in "MetadataAddress" localhost:18080 not working? And must be docker address?
@MilanJovanovicTech2 ай бұрын
Because these containers are in a docker network
@MixuD2 ай бұрын
Both the API and Keycloak are running inside Docker Compose, which automatically sets up an internal Docker network. Within this network, each container (in this case, the API and Keycloak) has its own isolated "localhost" that refers only to itself. To enable communication between containers, you need to use the service names defined in the Docker Compose file. These service names act as hostnames, allowing the containers to find and communicate with each other. So instead of using "localhost" to connect to Keycloak, we need to use the Keycloak service name from the Docker Compose file. This is because "localhost" within the API container refers only to the API itself, not to other containers like Keycloak. Enjoy this visual representation: Host Machine → [ Docker Network { API Container Keycloak Container } ]
@piotrc9662 ай бұрын
OK. Thanks. I also guess that 'iss' address (localhost:18080) in token keycloak takes automatically from client request, because it has no access to this adress itself.
@Santalucesguy2 ай бұрын
How can I connect keycloack to a sql sever db? I’m still stuck with this Identity provider. Thanx
@MilanJovanovicTech2 ай бұрын
Check here: www.keycloak.org/server/db
@Santalucesguy2 ай бұрын
@@MilanJovanovicTech thanks! btw do you know if there is a way to custumize the view screen where keycloak asks for credentials?
@FabianoNalinАй бұрын
Is it possible to integrate Swagger into YARP?
@MilanJovanovicTechАй бұрын
Yes, but it's a bit tricky. You should be able to configure Swagger UI to fetch the Open API descriptions from the downstream APIs.
@myschool13612 ай бұрын
requesting for the RBAC using keycloak
@MilanJovanovicTech2 ай бұрын
On my list
@okanyurt3452 ай бұрын
Thank you 🙏
@MilanJovanovicTech2 ай бұрын
You bet
@DonLiang-n7w12 күн бұрын
It's very nice tutorial! Thank you! Can you please share your code also?
@MilanJovanovicTech10 күн бұрын
Code is here: www.patreon.com/milanjovanovic
@MkYentertainment19 күн бұрын
Why no confidential client?
@MilanJovanovicTech18 күн бұрын
We could use it, but we're still exposing the secret on the UI
@АнтонМешков-ф8х2 ай бұрын
I'm sorry but it doesn't work error when trying to login Bearer error="invalid_token", error_description="The signature key was not found"
@MilanJovanovicTech2 ай бұрын
You must've done something different
@goodgod17Ай бұрын
Антон, как починил?)
@goodgod17Ай бұрын
а то я с этой штукой уже устал. Буду рад, если подскажешь)
@ryankruger7401Ай бұрын
Yeah I got the same
@ryankruger7401Ай бұрын
@goodgod17 have you managed to fix the issue
@guilhermelinosp2 ай бұрын
repo?
@MilanJovanovicTech2 ай бұрын
This code is Patreon-only
@edwincarlsson90142 ай бұрын
Had an issue where the JWT did not get returned correctly to the dotnet authentication system. Something about a mismatch in models in the Token / JsonWebToken namespaces. I had to assign SignatureValidator in the TokenValidationParameters to return a new Microsoft.IdentityModel.JsonWebTokens.JsonWebToken from the encoded JWT parameter to that SignatureValidator delegate. Don't know why this happened, I followed your solution step by step.