ezidam: redirect: dont generate jwt + refresh token if already signed in
This commit is contained in:
parent
1dec56ed14
commit
bad54cece3
1 changed files with 54 additions and 51 deletions
|
|
@ -21,6 +21,7 @@ pub struct RedirectRequest<'r> {
|
||||||
#[get("/oauth/redirect?<redirect_request..>")]
|
#[get("/oauth/redirect?<redirect_request..>")]
|
||||||
pub async fn redirect_page(
|
pub async fn redirect_page(
|
||||||
mut db: Connection<Database>,
|
mut db: Connection<Database>,
|
||||||
|
jwt_user: Option<JwtUser>,
|
||||||
redirect_request: RedirectRequest<'_>,
|
redirect_request: RedirectRequest<'_>,
|
||||||
ip_address: &ClientRealAddr,
|
ip_address: &ClientRealAddr,
|
||||||
cookie_jar: &CookieJar<'_>,
|
cookie_jar: &CookieJar<'_>,
|
||||||
|
|
@ -75,6 +76,7 @@ pub async fn redirect_page(
|
||||||
.map(String::from)
|
.map(String::from)
|
||||||
.ok_or_else(|| Error::bad_request("Server url is not set"))?;
|
.ok_or_else(|| Error::bad_request("Server url is not set"))?;
|
||||||
|
|
||||||
|
if jwt_user.is_none() {
|
||||||
// TODO: refactor for "code" route
|
// TODO: refactor for "code" route
|
||||||
|
|
||||||
// Generate refresh token
|
// Generate refresh token
|
||||||
|
|
@ -133,6 +135,7 @@ pub async fn redirect_page(
|
||||||
cookie.set_same_site(SameSite::Strict);
|
cookie.set_same_site(SameSite::Strict);
|
||||||
cookie.set_max_age(Duration::minutes(access_token_duration));
|
cookie.set_max_age(Duration::minutes(access_token_duration));
|
||||||
cookie_jar.add(cookie);
|
cookie_jar.add(cookie);
|
||||||
|
}
|
||||||
|
|
||||||
transaction.commit().await?;
|
transaction.commit().await?;
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue