feat: add readme
Signed-off-by: kjuulh <contact@kjuulh.io>
This commit is contained in:
parent
b3f68c60c7
commit
102073bd0c
85
README.md
Normal file
85
README.md
Normal file
@ -0,0 +1,85 @@
|
||||
# Nefarious Login
|
||||
|
||||
## Overview
|
||||
|
||||
`Nefarious Login` is a plug-and-play authentication module designed for
|
||||
effortless integration into business applications. Part of a larger suite of
|
||||
Nefarious tools, it aims to remove the hassle from implementing logins by using
|
||||
various authentication engines like Zitadel.
|
||||
|
||||
## Quick Start
|
||||
|
||||
Install the crate via Cargo:
|
||||
|
||||
```bash
|
||||
cargo install nefarious-login
|
||||
```
|
||||
|
||||
## Code Sample
|
||||
|
||||
Integrate `Nefarious Login` into your application. The core setup is about
|
||||
configuring the `AuthService` as shown below:
|
||||
|
||||
```rust
|
||||
#[derive(Debug, Clone, Parser)]
|
||||
struct Command {
|
||||
#[clap(flatten)]
|
||||
auth: AuthClap,
|
||||
}
|
||||
|
||||
async fn main() -> anyhow::Result<()> {
|
||||
let cmd = Command::parse_from(vec![
|
||||
"base",
|
||||
"--auth-engine=zitadel", // Can also use a yaml file, or env variables, see app --help for more info
|
||||
"--zitadel-authority-url=https://personal-wxuujs.zitadel.cloud",
|
||||
"--zitadel-redirect-url=http://localhost:3001/auth/authorized",
|
||||
"--zitadel-client-id=<your-client-id>",
|
||||
"--zitadel-client-secret=<your-secret>",
|
||||
"--session-backend=postgresql",
|
||||
"--session-postgres-conn=postgres://como:somenotverysecurepassword@localhost:5432/nefarious-test",
|
||||
]);
|
||||
|
||||
let auth_service = AuthService::new(&cmd.auth).await?;
|
||||
|
||||
// .. Use in axum, raw apis etc. See examples for details
|
||||
}
|
||||
```
|
||||
|
||||
Complete code in the main function will be similar to the snippet you provided.
|
||||
|
||||
## Configuring with CLI
|
||||
|
||||
Use these CLI options to set up your authentication:
|
||||
|
||||
```bash
|
||||
app
|
||||
--auth-engine=zitadel
|
||||
--zitadel-authority-url=https://example.zitadel.cloud
|
||||
--zitadel-redirect-url=http://localhost:3001/auth/authorized
|
||||
--zitadel-client-id=your-client-id
|
||||
--zitadel-client-secret=your-client-secret
|
||||
--session-backend=postgresql
|
||||
--session-postgres-conn=postgres://username:password@localhost:5432/dbname
|
||||
```
|
||||
|
||||
## Examples
|
||||
|
||||
- **Basic Setup**: Check out [examples/basic](./examples/basic) for a minimal
|
||||
implementation.
|
||||
- **Using with Clap**: For integrating with Clap, see
|
||||
[examples/clap](./examples/clap).
|
||||
|
||||
## License
|
||||
|
||||
MIT License.
|
||||
|
||||
For more details, see [LICENSE](./LICENSE).
|
||||
|
||||
## Links
|
||||
|
||||
- Crate:
|
||||
[nefarious-login on crates.io](https://crates.io/crates/nefarious-login)
|
||||
|
||||
## Contributions
|
||||
|
||||
PRs welcome. For major changes, open an issue first.
|
@ -41,7 +41,7 @@ async fn main() -> anyhow::Result<()> {
|
||||
},
|
||||
session: nefarious_login::session::SessionClap {
|
||||
postgresql: PostgresqlSessionClap {
|
||||
conn: Some("postgres://como:somenotverysecurepassword@localhost:5432/como".into()),
|
||||
conn: Some("postgres://nefarious-test:somenotverysecurepassword@localhost:5432/nefarious-test".into()),
|
||||
},
|
||||
},
|
||||
};
|
||||
|
@ -39,7 +39,7 @@ async fn main() -> anyhow::Result<()> {
|
||||
"--zitadel-client-id=237412977047895154@nefarious-test",
|
||||
"--zitadel-client-secret=rWwDi8gjNOyuMFKoOjNSlhjcVZ1B25wDh6HsDL27f0g2Hb0xGbvEf0WXFY2akOlL",
|
||||
"--session-backend=postgresql",
|
||||
"--session-postgres-conn=postgres://como:somenotverysecurepassword@localhost:5432/como",
|
||||
"--session-postgres-conn=postgres://nefarious-test:somenotverysecurepassword@localhost:5432/nafarious-test",
|
||||
]);
|
||||
|
||||
let auth_service = AuthService::new(&cmd.auth).await?;
|
||||
|
Loading…
Reference in New Issue
Block a user