2019-07-18 13:55:14 +02:00
## Auth Web Microservice with rust using Actix-Web 1.0
2018-12-09 16:55:36 +01:00
##### Flow of the event would look like this:
- Registers with email address ➡ Receive an 📨 with a link to verify
- Follow the link ➡ register with same email and a password
2019-07-18 13:55:14 +02:00
- Login with email and password ➡ Get verified and receive auth cookie
2018-12-09 16:55:36 +01:00
2019-07-18 13:55:14 +02:00
##### Crates Used
2018-12-09 16:55:36 +01:00
- [actix-web ](https://crates.io/crates/actix-web ) // Actix web is a simple, pragmatic and extremely fast web framework for Rust.
2019-07-18 13:55:14 +02:00
- [argonautica ](https://docs.rs/argonautica ) // crate for hashing passwords using the cryptographically-secure Argon2 hashing algorithm.
2018-12-09 16:55:36 +01:00
- [chrono ](https://crates.io/crates/chrono ) // Date and time library for Rust.
- [diesel ](https://crates.io/crates/diesel ) // A safe, extensible ORM and Query Builder for PostgreSQL, SQLite, and MySQL.
- [dotenv ](https://crates.io/crates/dotenv ) // A dotenv implementation for Rust.
2019-07-18 13:55:14 +02:00
- [derive_more ](https://crates.io/crates/derive_more ) // Convenience macros to derive tarits easily
2018-12-09 16:55:36 +01:00
- [env_logger ](https://crates.io/crates/env_logger ) // A logging implementation for log which is configured via an environment variable.
- [futures ](https://crates.io/crates/futures ) // An implementation of futures and streams featuring zero allocations, composability, and iterator-like interfaces.
2019-07-18 13:55:14 +02:00
- [lazy_static ](https://docs.rs/lazy_static ) // A macro for declaring lazily evaluated statics.
2018-12-09 16:55:36 +01:00
- [r2d2 ](https://crates.io/crates/r2d2 ) // A generic connection pool.
- [serde ](https://crates.io/crates/serde ) // A generic serialization/deserialization framework.
- [serde_json ](https://crates.io/crates/serde_json ) // A JSON serialization file format.
- [serde_derive ](https://crates.io/crates/serde_derive ) // Macros 1.1 implementation of #[derive(Serialize, Deserialize)].
- [sparkpost ](https://crates.io/crates/sparkpost ) // Rust bindings for sparkpost email api v1.
- [uuid ](https://crates.io/crates/uuid ) // A library to generate and parse UUIDs.
2019-07-18 13:55:14 +02:00
Read the full tutorial series on [gill.net.in ](https://gill.net.in )
2018-12-09 16:55:36 +01:00
2019-07-18 13:55:14 +02:00
- [Auth Web Microservice with rust using Actix-Web 1.0 - Complete Tutorial ](https://gill.net.in/posts/auth-microservice-rust-actix-web1.0-diesel-complete-tutorial/ )