Files
2026-07-15 07:49:11 -04:00

41 lines
1.2 KiB
Bash
Executable File

#!/usr/bin/env bash
set -eo pipefail
[[ $DOKKU_TRACE ]] && set -x
source "$(dirname "$(dirname "${BASH_SOURCE[0]}")")/functions"
cmd-google-auth-exclude() {
declare desc="exempt paths from Google sign-in (prefix: /path, regex: re:^/pattern)"
local cmd="google-auth:exclude"
[[ "$1" == "$cmd" ]] && shift 1
declare APP="$1"
shift 1 || true
[[ -n "$APP" ]] || dokku_log_fail "usage: dokku google-auth:exclude <app> <pattern...>"
verify_app_name "$APP"
if [[ $# -eq 0 ]]; then
dokku_log_info2 "excluded paths for $APP"
local pattern
while IFS= read -r pattern; do
[[ -n "$pattern" ]] && dokku_log_verbose "$pattern"
done < <(fn-ga-excludes "$APP")
return 0
fi
local pattern
for pattern in "$@"; do
fn-ga-validate-pattern "$pattern" ||
dokku_log_fail "invalid pattern '$pattern' — use a path prefix like /api/webhooks or a regex like re:^/v[0-9]+/public/ (no spaces, quotes, or ;{})"
fn-ga-exclude-add "$APP" "$pattern"
dokku_log_info1 "excluded: $pattern"
done
if fn-google-auth-app-enabled "$APP"; then
fn-ga-apply "$APP"
else
dokku_log_verbose "patterns saved; they take effect when google-auth is enabled for $APP"
fi
}
cmd-google-auth-exclude "$@"