diff options
| author | Samantaz Fox <coding@samantaz.fr> | 2023-02-02 21:28:24 +0100 |
|---|---|---|
| committer | Samantaz Fox <coding@samantaz.fr> | 2023-02-02 21:28:24 +0100 |
| commit | 6c687a3cac231473abe050b51dc076f783e2d685 (patch) | |
| tree | 2c7e317bd17f05cb668e71f731597ffa674dddae /src | |
| parent | 3b8e6c6040fe341fe4b9fc16cdbd3aea697dfad3 (diff) | |
| parent | f6a4d04070203111c294520301ef6e439e110ade (diff) | |
| download | invidious-6c687a3cac231473abe050b51dc076f783e2d685.tar.gz invidious-6c687a3cac231473abe050b51dc076f783e2d685.tar.bz2 invidious-6c687a3cac231473abe050b51dc076f783e2d685.zip | |
Login redirect to referer on logged-in user (#3556)
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious/helpers/utils.cr | 2 | ||||
| -rw-r--r-- | src/invidious/routes/account.cr | 2 | ||||
| -rw-r--r-- | src/invidious/routes/login.cr | 6 |
3 files changed, 5 insertions, 5 deletions
diff --git a/src/invidious/helpers/utils.cr b/src/invidious/helpers/utils.cr index 72fdb187..500a2582 100644 --- a/src/invidious/helpers/utils.cr +++ b/src/invidious/helpers/utils.cr @@ -259,7 +259,7 @@ def get_referer(env, fallback = "/", unroll = true) end referer = referer.request_target - referer = "/" + referer.gsub(/[^\/?@&%=\-_.0-9a-zA-Z]/, "").lstrip("/\\") + referer = "/" + referer.gsub(/[^\/?@&%=\-_.:,0-9a-zA-Z]/, "").lstrip("/\\") if referer == env.request.path referer = fallback diff --git a/src/invidious/routes/account.cr b/src/invidious/routes/account.cr index 9bb73136..e6a70ed2 100644 --- a/src/invidious/routes/account.cr +++ b/src/invidious/routes/account.cr @@ -203,7 +203,7 @@ module Invidious::Routes::Account referer = get_referer(env) if !user - return env.redirect referer + return env.redirect "/login?referer=#{URI.encode_path_segment(env.request.resource)}" end user = user.as(User) diff --git a/src/invidious/routes/login.cr b/src/invidious/routes/login.cr index 99fc13a2..6454131a 100644 --- a/src/invidious/routes/login.cr +++ b/src/invidious/routes/login.cr @@ -6,14 +6,14 @@ module Invidious::Routes::Login user = env.get? "user" - return env.redirect "/feed/subscriptions" if user + referer = get_referer(env, "/feed/subscriptions") + + return env.redirect referer if user if !CONFIG.login_enabled return error_template(400, "Login has been disabled by administrator.") end - referer = get_referer(env, "/feed/subscriptions") - email = nil password = nil captcha = nil |
