Skip to content

feat: handle Microsoft Graph subscription validation automatically#17

Merged
nickmarden merged 1 commit intomainfrom
feature/microsoft-graph-validation
Jan 27, 2026
Merged

feat: handle Microsoft Graph subscription validation automatically#17
nickmarden merged 1 commit intomainfrom
feature/microsoft-graph-validation

Conversation

@nickmarden
Copy link
Contributor

When creating or renewing a Microsoft Graph subscription, Graph sends a validation request with the validationToken as a query parameter and an empty body. Previously this would fail json_field verification since there was no body to parse.

Now gatekeeper detects validationToken query params on json_field verifier routes and responds immediately with the token value, bypassing verification. This mirrors how Slack URL verification challenges are handled.

This enables Graph webhook subscription setup without backend involvement, which is especially important in relay mode where latency could cause validation timeouts.

When creating or renewing a Microsoft Graph subscription, Graph sends a
validation request with the validationToken as a query parameter and an
empty body. Previously this would fail json_field verification since
there was no body to parse.

Now gatekeeper detects validationToken query params on json_field verifier
routes and responds immediately with the token value, bypassing verification.
This mirrors how Slack URL verification challenges are handled.

This enables Graph webhook subscription setup without backend involvement,
which is especially important in relay mode where latency could cause
validation timeouts.
@sonarqubecloud
Copy link

@nickmarden nickmarden merged commit 595188a into main Jan 27, 2026
7 of 8 checks passed
@github-actions
Copy link

Docker Images Built

Images are available for testing:

# gatekeeperd
docker pull ghcr.io/tight-line/gatekeeperd:pr-17-66f793d

# gatekeeper-relay
docker pull ghcr.io/tight-line/gatekeeper-relay:pr-17-66f793d

docker-compose.yml

GATEKEEPERD_IMAGE=ghcr.io/tight-line/gatekeeperd:pr-17-66f793d \
RELAY_IMAGE=ghcr.io/tight-line/gatekeeper-relay:pr-17-66f793d \
docker-compose --profile relay up

Helm (values override)

image:
  repository: ghcr.io/tight-line/gatekeeperd  # or gatekeeper-relay
  tag: "pr-17-66f793d"

Images expire ~15 days after PR closes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant