4 ms·
We're using Ory Hydra and a modified version of Ory Oathkeeper in production, but our usecase might be a bit different (we already had a user database and auth
by AlbinoDrought 6y ago
We're using Ory Hydra and a modified version of Ory Oathkeeper in production, but our usecase might be a bit different (we already had a user database and auth system). Compared to implementing them from scratch, setup was simple and the end product is fantastic.
We're looking at migrating to Ory Kratos eventually. It seems to offer the things we would've wanted from Auth0, but selfhosted. Granted, you're right - I'm sure it's much more complex to selfhost Kratos than to pay for Auth0.
- alexeldeib 6y agoHow mature do you feel the Ory ecosystem is? Any major speedbumps?
- sebmellen 6y agoWould love to know as well. Considering a switch from Cognito here.
- thinkharderdev 6y agoWe are using Ory Hydra now (but not any of the other components like Kratos, Oathkeeper, etc) and no real complaints so far. It is important to understand though the Hydra is just a component and not an out-of-the-box solution. You still have to implement your own user interface is you plan on doing OIDC login (and not just client_credentials for service authentication). Basically Hydra just takes a self-hosted login/registration/etc UI which you build yourself and wraps it in an OIDC provider. Which is great if you need to build an OIDC provider and want tight control over the user experience and user management (our use case) but don't want to implement all the fussy details of the OAuth2 protocol.
- AlbinoDrought 6y agoHydra feels mature. I think it's their longest-developed product so far. Besides breaking changes during big upgrades(v0 -> v1beta -> v1), everything has been painless: - It runs anywhere with or without containers - API makes sense, good SDKs are available in all my used languages - RAM usage is surprisingly low compared to usage and has been great for resource-constrained environments - Stateless means horizontal scaling is as easy as `replicas++` - Sub-millisecond response times for some calls, much faster than our previous setup With Hydra, I know it's the client's fault when OAuth calls fail and not just a buggy server implementation. This is reinforced in dev mode with great errors like: - The authorization code has already been used - The request is missing the response_type parameter - Parameter "nonce" must be set when using the implicit flow - Redirect URL "https://example.com/callback https://example.com/callback" does not match On the flipside, Oathkeeper is not a mature product and has not yet reached v1. There are breaking changes planned [1]. It lacks support for at least one popular usecase (mine) out of the box [2]. Rules can be hard to create and debug. I wouldn't recommend Oathkeeper in its current state unless you're ready to dive in and fix things yourself. Once configured it sticks with the Ory trend: fast, lean, and stable. Depending on your usecase, Oathkeeper could be swapped out with any IAP like Pomerium or just with your reverse proxy's auth request support + some small custom shim. I haven't tried Keto (access control) or Kratos (user management) yet. Kratos is on my todo list. [1] https://github.com/ory/oathkeeper/issues/441 https://github.com/ory/oathkeeper/issues/441 [2] https://github.com/ory/oathkeeper/issues/521 https://github.com/ory/oathkeeper/issues/521
- robertlagrant 6y agoI'm extremely excited by ory. We're using some Auth0 and some AD B2C, but I'd love to move to ory and just run our own thing.
- jokethrowaway 6y agoNot that hard, when you run their quickstart (one docker-compose command) you get a self service node.js based app which uses Kratos client to offer authentication, registration, email reset, user data management, authentication with third parties. All of this backed up on a postgres / mysql / sqlite db and running on a (go) binary. MFA is in progress, other than that, I think it's a solid offering (and I'm using it for a product). Integrating with oathkeeper (tokens) or keto (permission control) is quite simple as well.
- akvadrako 6y agoThat's good to hear. I was skeptical to go that route since I would have needed to install 3 services instead of just a caddy plugin and I wasn't sure where I would find a UI. But maybe in the future it'll be a good option.