Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

Perimeter: parallel sign-ins fail with invalid code_verifier

Closed Beginner friendly
#437 0 comments 0 reactions 0 assignees View on GitHub

Maintainers usually reply within 1 day

Nobody has claimed this yet.

Assessment

Difficulty
2/5
Estimated time
1-3 hours
Newbie friendliness
83/100
Issue type
Bug
Clarity
Clearly specified
Activity status
Active
Tech stack
terraform

Research direction

Start by reading the perimeter module in infra/terraform/modules/access/perimeter and check how its oauth2-proxy instances are configured. Add the per-request CSRF cookie and expiry flags described in the issue, then verify that both portal and service sign-ins succeed in separate tabs of a fresh private window without an error page.

Written by the indexing model from the issue text.

Description

track: identity

Found in the fresh-cluster qualification (maintainer, 2026-10-19). Two sign-ins started at the same time, for example two tabs or the portal and a service opened together in a fresh window. The first callback failed:

oauthproxy.go:950 Error redeeming code during OAuth2 callback: token exchange failed: oauth2: "invalid_grant" "Invalid code_verifier."

The user got the perimeter's 500 page. The second sign-in succeeded 26 s later, and a reload fixed it.

Cause: oauth2-proxy keeps one CSRF/PKCE cookie per browser, so the second flow overwrites the first one's verifier.

Fix: add --cookie-csrf-per-request=true (and --cookie-csrf-expire, for example 5m) to the perimeter instances in infra/terraform/modules/access/perimeter. oauth2-proxy v7.15.5 supports both flags.

Acceptance: opening the portal and a service in two tabs of a fresh private window signs in both without an error page.

🤖 Generated with Claude Code

Dominant language
Python
Stars
26
Forks
6
Avg merge
12h 26m
Merged PRs (30d)
162

Getting set up

This project ships no dev container, Dockerfile or contributing guide, so setting up is up to you: start from its README, and see our first-contribution guide for the general steps.

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from OpenLakeForge/openlakeforge

All issues in OpenLakeForge/openlakeforge

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.