Open dennyabrain opened 1 year ago
Wanted to share 2 tools that have been on my radar. ORY and Supertokens ORY is a lot more low level and allows for custom configuration. It is headless and hence we can plug in any custom UI (ideal). Supertokens has a self hosted option and a managed service.
Some Requirements to consider in authentication services :
Here is what I currently understand about Identity and Access Management (IAM) solutions
Identity and Access Management (IAM) Components
References:
What to avoid when implementing an IAM solution
References
Access Management - Open Standards
References
IAM Trade-Offs to consider
References
Multi-Component Solutions
References
Potential Single-Component Solutions
Identity Store
Identity Management
Access Management
Edit 1: Improved readability
Not Relevant - Other Solutions
Here are the choices to implement minimal number of solutions and get access to all IAM components. The following solutions are not considered -
Identity Store
Identity Management
Access Management
Event Monitoring and Alerting
Options
We're starting off with a task to explore some ways to allow secure authentication for uli. we want to allow people to contribute slurs to our servers and it be linked to their user ID. It will be an essential thing as we build access controls and governance features.
So there's the task to do it for just Uli, but I also want us to look into some similar tattle requirements and see how we can use this cost effectively for our other apps too.
There is a fair bit of complexity involved. I'll paint a picture of some use cases to illustrate
so lets say there is a community.uli.com that people can log into. Now setting up just this is fine. But its possible that as we are pitching to mastodon/reddit admins or a platform, we might have to create custom domains for them - platform.community.uli.com. People who login on this domain, their data should be isolated from the users of community.uli.com
Similarly there is viralspiral.net but there could also be a classroomA.viralspiral.net we might spin up for lets say the students of classroom A (like the ones we did a workshop with), then there's a possibility that maybe we should explore a Single Sign On for tattle, where no matter what url you are on, when you click signup or register, you are led to lets say a auth.tattle.co.in, and its taken care of.
Maybe you dont need to create new user ids everytime you want to use a tattle product.
So yeah thats the long term thinking we need to adopt as we evaluate and build in this sprint. the short term goal is just to setup an authentication for uli.
Constraints :
Data needs to stay in our database. Managed auth providers are not an option. They also charge per user so might not be a good idea for scaling up
I'd prefer to deploy authentication servers via docker and have our backend servers talk to them rather than mix same authentication code in our various (js,python) backend services