mirror of
https://github.com/windmill-labs/windmill.git
synced 2026-08-18 16:02:10 +00:00
clear cookies for cloud windmill.dev subdomains
This commit is contained in:
@@ -47,6 +47,7 @@ use windmill_common::users::COOKIE_NAME;
|
||||
use windmill_common::users::{truncate_token, username_to_permissioned_as};
|
||||
use windmill_common::utils::paginate;
|
||||
use windmill_common::worker::CLOUD_HOSTED;
|
||||
use windmill_common::BASE_URL;
|
||||
use windmill_common::{
|
||||
auth::{get_folders_for_user, get_groups_for_user},
|
||||
db::UserDB,
|
||||
@@ -1718,13 +1719,30 @@ pub async fn create_session_token<'c>(
|
||||
if COOKIE_DOMAIN.is_some() {
|
||||
cookie.set_domain(COOKIE_DOMAIN.clone().unwrap());
|
||||
}
|
||||
|
||||
let mut expire: OffsetDateTime = time::OffsetDateTime::now_utc();
|
||||
expire += time::Duration::days(3);
|
||||
cookie.set_expires(expire);
|
||||
cookies.add(cookie);
|
||||
clear_windmill_dev(&cookies).await;
|
||||
Ok(token)
|
||||
}
|
||||
|
||||
async fn clear_windmill_dev(cookies: &Cookies) {
|
||||
if !*CLOUD_HOSTED && BASE_URL.read().await.ends_with(".windmill.dev") {
|
||||
//clear .windmill.dev cookie
|
||||
let mut cookie = Cookie::new(COOKIE_NAME, "".to_string());
|
||||
cookie.set_secure(IS_SECURE.read().await.clone());
|
||||
cookie.set_same_site(Some(tower_cookies::cookie::SameSite::Lax));
|
||||
cookie.set_http_only(true);
|
||||
cookie.set_path(COOKIE_PATH);
|
||||
cookie.set_domain(".windmill.dev");
|
||||
// set expire in min timestamp
|
||||
cookie.set_expires(time::OffsetDateTime::UNIX_EPOCH);
|
||||
cookies.add(cookie);
|
||||
}
|
||||
}
|
||||
|
||||
async fn create_token(
|
||||
Extension(db): Extension<DB>,
|
||||
authed: ApiAuthed,
|
||||
|
||||
Reference in New Issue
Block a user