Heimdall and Zitadel #1572
Replies: 5 comments 2 replies
-
Hi. Heimdall is not just another authorization or authentication system. It serves as an orchestrator that integrates and combines existing systems, allowing you to abstract away from dealing with authentication or authorization protocols/APIs in your own code. For example, while ZITADEL can use an authorization system and enforce access control during login, it cannot do so after a long-lived login session has been established. This means you would need to integrate with the appropriate authorization system yourself, or you could use heimdall to handle it for you. With that in mind, let me turn your question around: What challenges are you facing? Based on your specific needs, you might find heimdall helpful for simplifying your setup and reducing your efforts. |
Beta Was this translation helpful? Give feedback.
-
Hi and thank you for the response. My requirements: a reverse-proxy like Envoy, Mullti-tenant SSO, powerful authorization system, Graphql gateway/federation (like Apollo router), microservices hidden behind this gateway. So the challenge is to integrate all this stuff.
So this means if i am using Zitadel and its built-in authorization, I may escape using Heimdall. But if we integrate third-party authorization service like OPA, OpenFGA.. Zitadel's built-in session handling won't suffice and we need to use Heimdall that takes care of sessions (storing in redis) and access/refresh tokens etc. Is my perception correct Or am I missing something? If this is so, are we not maintaining sessions at two places: Heimdall and Zitadel. How should we handle this? This service is probably an alternative to Heimadall... but restricted to Envoy/Istio. It may help you improve Heimdall. |
Beta Was this translation helpful? Give feedback.
-
I just know the fundamentals of OIDC and OAuth.. not the details. Thank you for shedding some light in this subject. I had a quick look at your code and I found Redis/cache and Sessions are there. I quickly assumed Heimdall is maintaining the session in Redis. So what is the use of Redis in Heimdall? In case, we use Zitadel and Apollo Router, docker-compose.yaml would be like this: heimdall: upstream: idp: Pl. confirm. In the meantime, I am trying to figure out whether I can avoid using this Router service and does the split/aggregation at the Envoy proxy level itself.. probably using its middleware ability. |
Beta Was this translation helpful? Give feedback.
-
For everbody interested: https://dadrus.github.io/heimdall/v0.15.0/guides/authn/oidc_first_party_auth/ |
Beta Was this translation helpful? Give feedback.
-
Okay thanks, I had a quick, looking great. |
Beta Was this translation helpful? Give feedback.
-
Hi @dadrus
Do we need Heimdall if we are using Zitadel for authentication. Zitadel allows us to extend its capability with fine-grained access control.
Taken from the post whose link is mentioned above:
Despite the comprehensive features that come with ZITADEL, there may be instances where a more customized or fine-grained approach is needed. Currently, the most effective way to implement fine-grained authorization in ZITADEL is by using custom application logic for smaller projects, or for larger scale projects, leveraging an
available third-party tool such as warrant.dev, cerbos.dev, etc.
These tools can integrate with ZITADEL, further enhancing your capacity for nuanced, fine-grained authorization.Thank you for the guidance.
Beta Was this translation helpful? Give feedback.
All reactions