This message was deleted.
# general
m
This message was deleted.
r
From when I looked at different solutions, it boils down to two things: • most solutions are very opinionated on how you have to run and integrate them • most solutions may look more "turn key", but they end up being really hard to extend to make it seamless • lbnl, a lot of the "nicer" solutions are exclusively SaaS, no on premise With ory, you get a couple products/projects for different parts of the lifecycle. E.g. need a permission check, Keto, need OAuth2/etc hydra, need a gateway/doorman, oathkeeper. This is (arguably) more complex in the beginning, but it also allows you to pick and choose carefully. You can use an oathkeeper, or hydra, and not the rest of the suite. You don't have to use everything. Then in addition, all the products are very API-driven, so that's ultimately what I liked about it. I can put it into my stack where I want and not where it things is a good fit. And while a bit more "complex" in the beginning, it really allows for a great integration.
👍 2
For example, we started off with oathkeeper, we now have it running with ory cloud (kratos) (for authentication) on our new product, but the oathkeeper also has an integration into my existing homegrown "stack" (which is really an old PHP-based user management system, nothing fancy). It helps though and I can still use it. We also looked at hydra at some point, but with general direction, we haven't used it yet (for current or future developments). But my guess is that if we decide we need Oauth2, then it will probably what we go with, vs. another solution. Even though it doesn't have a fancy UI. Similar to Keto, still evaluating if we do that or maybe another Zanzibar-style project. Bottom-line, it's possible and feasible. May even do a more simple approach and e.g. build a similar API to Keto if we think it's too complex for our liking. There's literally no rush if you keep it somewhat clean and especially when requirements develop as you go vs. you have a 12 month roadmap ahead of you.
a
Thanks... I'm looking to replace our home grown auth for a series of node services which are a website platform (like a custom wordpress with a specific focus). So it must be self-hosted. We also need to integrate multiple instances of this platform using SSO - so that's the other reason.
Stuff like OTP is nice to have per-subdomain, since we want some more protected. Currently using traefik basicauth as another layer of protection on administrative subdomains
We won't integrate with any cloud services, like social media accounts. We will integrate with a self-hosted forum, which will be part of the SSO setup
Does that make sense?
I'm thinking I can pull it all off with ory kratos
r
Yeah, kratos is a good first step
b
SSO will not be integrated ‘the youtube way’ in Kratos: https://github.com/ory/kratos/issues/662 , so if you need SSO you need Hydra next to Kratos: https://github.com/ory/kratos/issues/273
a
not sure what the youtube way is...
we dont need integration with other's services, just our own
Not sure how we're doing SSO yet... We have many duplicate accounts between 3 sister sites. We will try to find their accounts and concatenate them. Or perhaps we should let them do it ("connect accounts"?) Not sure.
r
I think Sietse meant "login across multiple" domains. But the solution to use openid (e.g. Hydra) for that makes total sense to me. Everything else is a total hack.
b
Yeah, point is: you need SSO and thus you need OIDC and thus you need Hydra next to Kratos.
r
I do sso on the same domain with cookies or token 😆
b
Ah, yeah…, sorry. When I mention SSO I mean multi-domain SSO!
Sounds like Johnathan, mentioning ‘3 sister sites’, also means/ needs multi-domain SSO.
a
Yes each of the sister sites has its own domain...
So to make it symmetric, I'd have one hydra instance per site, and then one stand-alone kratos instance?
symmetric/coherent/de-coupled (I can't have situations where upgrades to one site affect the others)
b
I’m by no means an expert re Ory/ authentication, but AFAIK you’d just need one kratos and one hydra instance. By using a separate authentication service (Ory) you have decoupled authentication and all three sites can use it. Kratos would handle user management and Hydra would be using OIDC to enable SSO between these sites (and you would not use the oAuth2 server features of Hydra).
a
@adorable-scooter-1570