Hi! I am working on building a dropbox like servi...
# ory-network
e
Hi! I am working on building a dropbox like service, which can host some data on user behalf. I am trying to figure out how I can leverage your service to implement user registration/authentication for my service and later allow integration for third party apps. I have come up with three scenarios so far, can someone help me architect this and suggest implementation options. I am more inclined towards option #3 in following, but open for suggestions Thanks
h
Two questions: • Does your service already have a user system? • Do you want to use OAuth2 delegation for the 3rd parties?
e
The service does not have users, it is still in conceptual phase. are there any options other for delegation with 3rd parties?
h
Got it, so you can definitely start with Ory Cloud then, for your own service! Then, once you're ready with the integration and your APIs, you can add Ory's OAuth2 & OpenID Connect solution on top. That should by then be available in the cloud as well, or, if not, you can use the open source server Ory Hydra to do the same (we run Ory Hydra in the cloud basically, so it's 1:1 compatible on everything).
e
thanks, is there any documentation or reference diagram that i can follow to visualize what you said.
h
Hhhmm, maybe this could help: https://www.ory.sh/docs/ecosystem/projects You can also reach out to @magnificent-energy-493 tomorrow (it's 10.30pm in germany) and he can help you get started also! I will now also sign off to get some rest 🙂
But basically, what I'm saying is - your use case is 100% possible with Ory! And it's actually a use case where we're really good at. My recommendation would be starting with the user profiles (so Ory Cloud) and then, if you have that, put the OAuth2, 3rd party things, on top. We can also engage more when you need assistance for these, as OAuth2 can be tricky sometimes 🙂
e
cool! thank you very much for quick insights... let me put together a bit detailed diagram and may be you can help me to architect it 🙂
here, i have outlined two scenarios that i can think of. Would greatly appreciate if you can help me design this! thank you... its holiday weekend here in US, but I'll try to check messages as I get chance ;)
m
Hey @early-carpenter-81693 This looks interesting, very neat use case. Happy to talk a bit about details with you. Do you have plans to open source this? No problem if you don’t, am just curious!
h
Nice, thank you @magnificent-energy-493 🙂 From my side, looking at the diagrams - this is totally up our ally. For “My Application” you should use Ory Cloud with Ory Kratos as it is today. For “App using My App” you should then use Ory Hydra. Ory Hydra is currently not available in Ory Cloud but we are targeting Q1/Q2 2022 for releasing it in Cloud. You can however use all Ory Software together regardless of where you run it! So you can use cloud + self hosted and vice versa!
e
yes sure it can be open sourced! I dont see a problem.. however let me follow up with my office compliance, even thought its not office project, compliance sometimes have issues
that aside, i came across https://www.keycloak.org/ the SSO features mentioned here are similar to what I was thinking... do you know how Ory would be diff compare to keycloak... plus its integration with lets say https://www.krakend.io/docs/authorization/keycloak/ (apologies, i am totally new to modern tech stack and learning as much as i can by going through various documentation)
m
Hey Jolly, we are in the process of putting together more documentation for comparing Ory to other projects. Keycloak is very similar in that it also adresses the full IAM space and is open source, but it is a much older project and thus comes as a single package, it doesn’t do things the _cloud native_ way. Ory also has OpenAPI compliant SDKs for all languages and scales very smoothly. You can run it on a Raspberry PI and easily add new instances, whereas Keycloak is a pretty heavyweight package. Keycloak also has some advantages, due to its age it has a lot of integrations, especially in the enterprise specialized sector I believe. You can also use krakend with Ory of course!
e
Thanks Vincent! helpful information, I am enterprise dev, and have been relying on active directory for authentication, and first time trying out to build something for outside world... there are so many options available now that its confusing sometimes.
here is another interesting arch document that i came across https://3factor.app/ the state in 3factor app is my "my app" and "App" and "serverless functions" are external apps... now how do we manage authentication/authorization in this distributed architecture...