soph_auth/config/
mod.rs

1use jsonwebtoken::Algorithm;
2use serde::Deserialize;
3
4#[derive(Debug, Default, Deserialize)]
5pub struct Auth {
6    #[serde(default)]
7    pub guard: Guard,
8    #[serde(default)]
9    pub jwt: Jwt,
10}
11
12#[derive(Debug, Deserialize, Default)]
13pub enum Guard {
14    #[default]
15    #[serde(rename = "jwt")]
16    Jwt,
17}
18
19#[derive(Debug, Deserialize, Default)]
20pub struct Jwt {
21    pub secret: String,
22    pub expiration: u64,
23    #[serde(default)]
24    pub algorithm: Algorithm,
25    pub location: Option<JwtLocation>,
26}
27
28#[derive(Debug, Deserialize)]
29pub enum JwtLocation {
30    #[serde(rename = "bearer")]
31    Bearer,
32    #[serde(rename = "query")]
33    Query { name: String },
34    #[serde(rename = "cookie")]
35    Cookie { name: String },
36}