From d21d9eee296a474afaa3bf1eb379733281ee0843 Mon Sep 17 00:00:00 2001 From: dongmucat <1127093059@qq.com> Date: Mon, 20 Jul 2026 10:29:30 +0800 Subject: [PATCH] fix(auth): preserve device verification URI default Signed-off-by: dongmucat <1127093059@qq.com> --- compose.release.yml | 2 +- scripts/tests/validate-release-config-test.sh | 28 +++++++++++++++++++ 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/compose.release.yml b/compose.release.yml index 5ed7086e..0f84880f 100644 --- a/compose.release.yml +++ b/compose.release.yml @@ -57,7 +57,7 @@ services: REDIS_PORT: 6379 SESSION_COOKIE_SECURE: ${SESSION_COOKIE_SECURE:-false} SKILLHUB_PUBLIC_BASE_URL: ${SKILLHUB_PUBLIC_BASE_URL:-} - DEVICE_AUTH_VERIFICATION_URI: ${DEVICE_AUTH_VERIFICATION_URI:-} + DEVICE_AUTH_VERIFICATION_URI: ${DEVICE_AUTH_VERIFICATION_URI:-${SKILLHUB_PUBLIC_BASE_URL}/device} SKILLHUB_DOWNLOAD_ANON_COOKIE_SECRET: ${SKILLHUB_DOWNLOAD_ANON_COOKIE_SECRET:?required} SKILLHUB_STORAGE_PROVIDER: ${SKILLHUB_STORAGE_PROVIDER:-s3} STORAGE_BASE_PATH: /var/lib/skillhub/storage diff --git a/scripts/tests/validate-release-config-test.sh b/scripts/tests/validate-release-config-test.sh index fd76ddfc..30907777 100755 --- a/scripts/tests/validate-release-config-test.sh +++ b/scripts/tests/validate-release-config-test.sh @@ -62,6 +62,13 @@ expect_fail() { fi } +render_verification_uri() { + local env_file="$1" + env -u DEVICE_AUTH_VERIFICATION_URI -u SKILLHUB_PUBLIC_BASE_URL \ + docker compose --env-file "$env_file" -f "$REPO_ROOT/compose.release.yml" config \ + | awk '$1 == "DEVICE_AUTH_VERIFICATION_URI:" {gsub(/"/, "", $2); print $2; exit}' +} + tmp="$(new_tmp)" valid_env="$tmp/valid.env" @@ -93,4 +100,25 @@ while IFS= read -r line || [[ -n "$line" ]]; do done <"$REPO_ROOT/.env.release.draft" >"$draft_env" expect_fail "$draft_env" "POSTGRES_PASSWORD" +rendered_uri="$(render_verification_uri "$valid_env")" +if [[ "$rendered_uri" != "https://skillhub.example.com/device" ]]; then + fail "expected rendered DEVICE_AUTH_VERIFICATION_URI default to be 'https://skillhub.example.com/device', got '${rendered_uri:-}'" +fi + +empty_override_env="$tmp/empty-override.env" +cp "$valid_env" "$empty_override_env" +printf '%s\n' "DEVICE_AUTH_VERIFICATION_URI=" >>"$empty_override_env" +rendered_uri="$(render_verification_uri "$empty_override_env")" +if [[ "$rendered_uri" != "https://skillhub.example.com/device" ]]; then + fail "expected rendered DEVICE_AUTH_VERIFICATION_URI default with an explicitly empty override to be 'https://skillhub.example.com/device', got '${rendered_uri:-}'" +fi + +override_env="$tmp/override.env" +cp "$valid_env" "$override_env" +printf '%s\n' "DEVICE_AUTH_VERIFICATION_URI=https://auth.example.com/verify" >>"$override_env" +rendered_uri="$(render_verification_uri "$override_env")" +if [[ "$rendered_uri" != "https://auth.example.com/verify" ]]; then + fail "expected rendered DEVICE_AUTH_VERIFICATION_URI override to be 'https://auth.example.com/verify', got '${rendered_uri:-}'" +fi + echo "validate-release-config-test passed"