mirror of
				https://github.com/TheAnachronism/docspell.git
				synced 2025-10-31 09:30:12 +00:00 
			
		
		
		
	Use same meta data for creating and deleting cookie
The cookie might not be removed by browsers, if these infos don't match.
This commit is contained in:
		| @@ -34,4 +34,16 @@ object CookieData { | ||||
|   def fromHeader[F[_]](req: Request[F]): Either[String, String] = { | ||||
|     req.headers.get(CaseInsensitiveString(headerName)).map(_.value).toRight("Couldn't find an authenticator") | ||||
|   } | ||||
|  | ||||
|   def deleteCookie(cfg: Config): ResponseCookie = | ||||
|     ResponseCookie( | ||||
|       cookieName, | ||||
|       "", | ||||
|       domain = cfg.baseUrl.host, | ||||
|       path = Some(cfg.baseUrl.path / "api" / "v1" / "sec").map(_.asString), | ||||
|       httpOnly = true, | ||||
|       secure = cfg.baseUrl.scheme.exists(_.endsWith("s")), | ||||
|       maxAge = Some(-1) | ||||
|     ) | ||||
|  | ||||
| } | ||||
|   | ||||
| @@ -37,7 +37,7 @@ object LoginRoutes { | ||||
|           flatMap(res => makeResponse(dsl, cfg, res, "")) | ||||
|  | ||||
|       case POST -> Root / "logout" => | ||||
|         Ok().map(_.addCookie(ResponseCookie(CookieData.cookieName, "", maxAge = Some(-1)))) | ||||
|         Ok().map(_.addCookie(CookieData.deleteCookie(cfg))) | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   | ||||
		Reference in New Issue
	
	Block a user