[#1349] Basic Cookie Authentication (#1498)

* [#1349] Stub basic cookie authentication

* [#1349] Basic login page

Also adjusts WebView header color and shadow to match WebUI. WebUI uses
a background-image gradient to change the perceived color, which was not
noticed originally.

* [#1349] Handle login post

* [#1349] Redirect to previous URL

* [#1349] Return a basic 401 for api endpoints

Instead of redirecting to a visual login page, API should just indicate
the bad state

* Use more appropriate 303 redirect

* Update server/src/main/kotlin/suwayomi/tachidesk/server/JavalinSetup.kt

Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>

* Update server/src/main/kotlin/suwayomi/tachidesk/server/JavalinSetup.kt

Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>

* Lint

* Transition to AuthMode enum with migration path

* Make basicAuthEnabled auto property, Lint

* ConfigManager: Make sure to re-parse the config after migration

* basicAuth{Username,Password} -> auth{Username,Password}

* Lint

* Update server settings backup model

* Update comment

* Minor cleanup

* Improve backup legacy settings fix

* Lint

* Simplify config value migration

---------

Co-authored-by: Mitchell Syer <Syer10@users.noreply.github.com>
This commit is contained in:
Constantin Piber
2025-07-06 18:08:29 +02:00
committed by GitHub
parent 1411c02e18
commit 68a131dbeb
15 changed files with 432 additions and 34 deletions

View File

@@ -43,7 +43,8 @@ object WebView : Websocket<String>() {
}
}
@Serializable public sealed class TypeObject
@Serializable
sealed class TypeObject
@Serializable
@SerialName("loadUrl")
@@ -62,7 +63,7 @@ object WebView : Websocket<String>() {
@Serializable
@SerialName("event")
public data class JsEventMessage(
data class JsEventMessage(
val eventType: String,
val clickX: Float,
val clickY: Float,
@@ -94,7 +95,6 @@ object WebView : Websocket<String>() {
logger.info { "Resize browser" }
}
is JsEventMessage -> {
val type = event.eventType
dr.event(event)
}
}