[PR #2527] [CLOSED] feat: add PKCE support to frontend OIDC authentication #5703

Closed
opened 2026-04-16 13:49:34 -05:00 by GiteaMirror · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/go-vikunja/vikunja/pull/2527
Author: @tink-bot
Created: 4/2/2026
Status: Closed

Base: mainHead: fix-oidc-pkce-support


📝 Commits (4)

  • fb8e4ea feat: add PKCE utility functions for OIDC auth
  • f5024e2 feat: include PKCE code_challenge in OIDC auth redirect
  • 4c56553 feat: send PKCE code_verifier during OIDC token exchange
  • f24b15c fix: pass PKCE code_verifier to OIDC provider during token exchange

📊 Changes

4 files changed (+50 additions, -6 deletions)

View changed files

frontend/src/helpers/pkce.ts (+30 -0)
📝 frontend/src/helpers/redirectToProvider.ts (+7 -2)
📝 frontend/src/stores/auth.ts (+4 -0)
📝 pkg/modules/auth/openid/openid.go (+9 -4)

📄 Description

The frontend OIDC flow never sent code_challenge / code_challenge_method parameters, causing authentication to fail against any provider that requires PKCE (RFC 7636) -- including Vikunja's own OAuth2 server.

Fixes #2410

Test plan

  • Configure an OIDC provider that requires PKCE (or use Vikunja's own OAuth2 server)
  • Click "Login with [Provider]" and verify the authorization redirect URL contains code_challenge=...&code_challenge_method=S256
  • After authenticating, verify the callback POST contains code_verifier in the body
  • Verify login succeeds end-to-end

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/go-vikunja/vikunja/pull/2527 **Author:** [@tink-bot](https://github.com/tink-bot) **Created:** 4/2/2026 **Status:** ❌ Closed **Base:** `main` ← **Head:** `fix-oidc-pkce-support` --- ### 📝 Commits (4) - [`fb8e4ea`](https://github.com/go-vikunja/vikunja/commit/fb8e4ea741b71397aad44fbd60d6e5ba3de9542f) feat: add PKCE utility functions for OIDC auth - [`f5024e2`](https://github.com/go-vikunja/vikunja/commit/f5024e2f2ce6b3b4fa0391fde1afaef69aa55bbd) feat: include PKCE code_challenge in OIDC auth redirect - [`4c56553`](https://github.com/go-vikunja/vikunja/commit/4c565537e4afe14297f0b1d22215895c2f783a40) feat: send PKCE code_verifier during OIDC token exchange - [`f24b15c`](https://github.com/go-vikunja/vikunja/commit/f24b15c6e953ecfd81ac611143bacc4be11c044a) fix: pass PKCE code_verifier to OIDC provider during token exchange ### 📊 Changes **4 files changed** (+50 additions, -6 deletions) <details> <summary>View changed files</summary> ➕ `frontend/src/helpers/pkce.ts` (+30 -0) 📝 `frontend/src/helpers/redirectToProvider.ts` (+7 -2) 📝 `frontend/src/stores/auth.ts` (+4 -0) 📝 `pkg/modules/auth/openid/openid.go` (+9 -4) </details> ### 📄 Description The frontend OIDC flow never sent `code_challenge` / `code_challenge_method` parameters, causing authentication to fail against any provider that requires PKCE (RFC 7636) -- including Vikunja's own OAuth2 server. Fixes #2410 ## Test plan - Configure an OIDC provider that requires PKCE (or use Vikunja's own OAuth2 server) - Click "Login with [Provider]" and verify the authorization redirect URL contains `code_challenge=...&code_challenge_method=S256` - After authenticating, verify the callback POST contains `code_verifier` in the body - Verify login succeeds end-to-end --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
GiteaMirror added the pull-request label 2026-04-16 13:49:34 -05:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: github-starred/vikunja#5703