mirror of
https://github.com/Suwayomi/Suwayomi-Server.git
synced 2026-07-10 06:14:35 -05:00
* [#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:
@@ -419,9 +419,12 @@ object ProtoBackupExport : ProtoBackupBase() {
|
||||
globalUpdateInterval = serverConfig.globalUpdateInterval.value,
|
||||
updateMangas = serverConfig.updateMangas.value,
|
||||
// Authentication
|
||||
basicAuthEnabled = serverConfig.basicAuthEnabled.value,
|
||||
basicAuthUsername = serverConfig.basicAuthUsername.value,
|
||||
basicAuthPassword = serverConfig.basicAuthPassword.value,
|
||||
authMode = serverConfig.authMode.value,
|
||||
authUsername = serverConfig.authUsername.value,
|
||||
authPassword = serverConfig.authPassword.value,
|
||||
basicAuthEnabled = false,
|
||||
basicAuthUsername = null,
|
||||
basicAuthPassword = null,
|
||||
// misc
|
||||
debugLogsEnabled = serverConfig.debugLogsEnabled.value,
|
||||
gqlDebugLogsEnabled = false, // deprecated
|
||||
|
||||
@@ -32,6 +32,7 @@ import org.jetbrains.exposed.sql.transactions.transaction
|
||||
import org.jetbrains.exposed.sql.update
|
||||
import suwayomi.tachidesk.global.impl.GlobalMeta
|
||||
import suwayomi.tachidesk.graphql.mutations.SettingsMutation
|
||||
import suwayomi.tachidesk.graphql.types.AuthMode
|
||||
import suwayomi.tachidesk.graphql.types.toStatus
|
||||
import suwayomi.tachidesk.manga.impl.Category
|
||||
import suwayomi.tachidesk.manga.impl.Category.modifyCategoriesMetas
|
||||
@@ -57,6 +58,7 @@ import suwayomi.tachidesk.manga.model.dataclass.TrackRecordDataClass
|
||||
import suwayomi.tachidesk.manga.model.table.ChapterTable
|
||||
import suwayomi.tachidesk.manga.model.table.MangaTable
|
||||
import suwayomi.tachidesk.server.database.dbTransaction
|
||||
import suwayomi.tachidesk.server.serverConfig
|
||||
import java.io.InputStream
|
||||
import java.util.Date
|
||||
import java.util.Timer
|
||||
@@ -525,7 +527,15 @@ object ProtoBackupImport : ProtoBackupBase() {
|
||||
return
|
||||
}
|
||||
|
||||
SettingsMutation().updateSettings(backupServerSettings)
|
||||
SettingsMutation().updateSettings(
|
||||
backupServerSettings.copy(
|
||||
// legacy settings cannot overwrite new settings
|
||||
basicAuthEnabled =
|
||||
backupServerSettings.basicAuthEnabled.takeIf {
|
||||
serverConfig.authMode.value == AuthMode.NONE
|
||||
},
|
||||
),
|
||||
)
|
||||
}
|
||||
|
||||
private fun TrackRecordDataClass.forComparison() = this.copy(id = 0, mangaId = 0)
|
||||
|
||||
@@ -3,6 +3,7 @@ package suwayomi.tachidesk.manga.impl.backup.proto.models
|
||||
import kotlinx.serialization.Serializable
|
||||
import kotlinx.serialization.protobuf.ProtoNumber
|
||||
import org.jetbrains.exposed.sql.SortOrder
|
||||
import suwayomi.tachidesk.graphql.types.AuthMode
|
||||
import suwayomi.tachidesk.graphql.types.Settings
|
||||
import suwayomi.tachidesk.graphql.types.WebUIChannel
|
||||
import suwayomi.tachidesk.graphql.types.WebUIFlavor
|
||||
@@ -45,9 +46,13 @@ data class BackupServerSettings(
|
||||
@ProtoNumber(27) override var globalUpdateInterval: Double,
|
||||
@ProtoNumber(28) override var updateMangas: Boolean,
|
||||
// Authentication
|
||||
@ProtoNumber(29) override var basicAuthEnabled: Boolean,
|
||||
@ProtoNumber(30) override var basicAuthUsername: String,
|
||||
@ProtoNumber(31) override var basicAuthPassword: String,
|
||||
@ProtoNumber(56) override var authMode: AuthMode,
|
||||
@ProtoNumber(29) override var basicAuthEnabled: Boolean?,
|
||||
@ProtoNumber(30) override var authUsername: String,
|
||||
@ProtoNumber(31) override var authPassword: String,
|
||||
// deprecated
|
||||
@ProtoNumber(99991) override var basicAuthUsername: String?,
|
||||
@ProtoNumber(99992) override var basicAuthPassword: String?,
|
||||
// misc
|
||||
@ProtoNumber(32) override var debugLogsEnabled: Boolean,
|
||||
@ProtoNumber(33) override var gqlDebugLogsEnabled: Boolean,
|
||||
|
||||
Reference in New Issue
Block a user