
Show HN: Torii – a framework agnostic authentication library for Rust by cmackenzie1
Warning
This project is in early development and is not production-ready. The API is subject to change without notice.
Torii is a powerful authentication framework for Rust applications that gives you complete control over your users’ data. Unlike hosted solutions like Auth0, Clerk, or WorkOS that store user information in their cloud, Torii lets you own and manage your authentication stack while providing modern auth features through a flexible plugin system.
With Torii, you get the best of both worlds – powerful authentication capabilities like passwordless login, social OAuth, and passkeys, combined with full data sovereignty and the ability to store user data wherever you choose.
Checkout the example todos to see Torii in action.
✅ = Supported
🚧 = Planned/In Development
❌ = Not Supported
Important
As this project is in early development, it has not undergone security audits and should not be used in production environments. The maintainers are not responsible for any security issues that may arise from using this software.
As this project is
9 Comments
croisillon
not related: A map of torii around the world (6 days ago – 49 comments) https://news.ycombinator.com/item?id=43141966
tptacek
I don't know that sovereignty is what a lot of apps want for this kind of hazmat data, which is why Cognito and Auth0 are so popular.
joseppudev
[dead]
heavensteeth
Perhaps a little petty, but I dislike that about half of the readme, at the beginning no less, is an AI generated image. I dislike images in readmes in general, and this one doesn't even provide any value.
alok-g
What similar libraries exist for other languages? (I could not find myself.) Thanks.
aanthonymax
[dead]
chrisweekly
I wonder if the name's similarity to "Tauri" (Rust-based alternative to Electron) will lead to confusion.
mleonhard
What are the reasons for using a string to identify the plugin?
This pattern has some downsides: reduced code clarity (navigating to the plugin is hard), and it changes a class of errors from compile-time to run-time.
jayy-lmao
About a week ago I was thinking about how much something like this is needed in Rust. Especially something web-framework and DB agnostic.
Great work, I’m sure this will save numerous dev-hours