4 ms·
For Rust web APIs, Actix and Rocket are both very good. For adjunct pieces such as web app authentication, including some common features such as user sign up
by jph 6y ago
For Rust web APIs, Actix and Rocket are both very good.
For adjunct pieces such as web app authentication, including some common features such as user sign up via email or phone, recover a password, multi-factor auth, social sign in, and the like, there's not yet a good solution (AFAIK).
I will gladly donate money toward developers working on this, especially if it's something simple such as Elixir Phoenix `mix phx.gen.auth` doing a one-time setup with good defaults, then fully customizable.
- Klonoar 6y agoI've actually "ported" Django's auth system (including their email verification pieces) to actix-web, and reused it across a few projects. I've thought about open sourcing it, but the problem is... well, then you have to maintain it, and I'm not really interested in doing that. But if someone wants to take up the project I don't mind donating the code. If anyone ever saw my version years ago[1], it's effectively Jelly 2.0. [1] https://github.com/ryanmcgrath/jelly https://github.com/ryanmcgrath/jelly
- monadic3 6y ago> I've thought about open sourcing it, but the problem is... well, then you have to maintain it I re-purpose abandoned code all the time. It's not a moral failing to release unfinished code, especially if you label it as such.
- dbrgn 6y agoYeah, dump it with a note that it's just for yourself and that you have no interest in maintaining it. Someone might take over! Otherwise, it may at least be an inspiration.
- Klonoar 6y agoYou say that like I didn’t do that in the past with Jelly. It’s not my first day. ;P I’ll consider dropping it later tonight or this weekend.
- cbzehner 6y agoPlease do. This has been a consistent pain point in my Rust web dev experience and even seeing some examples of how others structure solutions really helps!
- Klonoar 6y agohttps://github.com/secretkeysio/jelly-actix-web-starter https://github.com/secretkeysio/jelly-actix-web-starter Enjoy. :)
- ibraheemdev 6y agoI would love to see you open source this, or just dump it on GitHub as others mentioned. I'm currently developing a Rust web framework and this would be really helpful!
- Klonoar 6y agohttps://github.com/secretkeysio/jelly-actix-web-starter https://github.com/secretkeysio/jelly-actix-web-starter Enjoy. :)
- bschwindHN 6y ago> including some common features such as user sign up via email or phone, recover a password, multi-factor auth, social sign in, and the like, there's not yet a good solution Are you looking for a framework-agnostic solution here, or one Really Good Solution for the leading framework (whichever that may be)?
- ibraheemdev 6y agoOne problem with the current Rust ecosystem is that you can't really create framework-agnostic solutions because the popular frameworks (actix, rocket, tide, warp) all have different http types (albeit very similar). Unlike other languages like Go, there is not http implementation in the standard library. A standardized http crate would be a huge win for the ecosystem.
- hckr1292 6y agoThe http crate seems to be used by many popular frameworks: https://crates.io/crates/http/reverse_dependencies https://crates.io/crates/http/reverse_dependencies It's used by at least Actix-web, Tide, Hyper, and Warp. Generally, this crate's types aree re-exported from the main framework so you can avoid adding extra dependencies to your application, but AFAIK the compiler can "see through" the type alias to see that the types are the same. I think the older generations of web frameworks (like Iron, Nickel, and Gotham) might not have leveraaged the http crate, so your point still stands.
- ibraheemdev 6y agoHyper and Warp both use the http crate because they were written by the same person who wrote the http crate. All the other frameworks, including actix-web, tide, and rocket only use it for repetitive types (headers, statuscode) but have their own request, response, etc. types
- mamcx 6y agoYeah, I think exist a lack of convergence in build the "batteries" for common web flows (auth, admin site, etc). It not help rust still lack the "#1" in some key areas but maybe what we need is to people to voice the interest here. I'm in the fence about doing something that could be the "auto-admin" alike django, and the maintenance cost is what make me doubt this. In the other hand, maybe following the model of tailwindcss with a full open source + a very nice styling to get the proper founding will help (and btw, i plan to use tailwind)