PipedreamHQ / PipedreamHQ/pipedream

MCP OAuth returns ID token without required nonce claim

Open
#19,516 0 comments 0 reactions 1 assignee Claimed by @s0s0physm View on GitHub
bug triaged
Dominant language
JavaScript
Stars
11.7k
Forks
5.8k
Avg merge
3d 10h
Merged PRs (30d)
102

Description

**Describe the bug**

When using Pipedream's MCP OAuth server with Open WebUI, the authorization flow completes successfully but the callback fails with "OAuth callback failed: missing_claim: Missing 'nonce' claim".

**To Reproduce**

Steps to reproduce the behavior:

1. Go to 'Open WebUI → Settings → Admin Panel → Tools'
2. Click on 'Add MCP server' and enter URL `https://mcp.pipedream.net/v2`
3. Select 'OAuth 2.1' as authentication method and click 'Save' (dynamic client registration succeeds)
4. Click 'Authorize' to start OAuth flow and complete Pipedream consent page
5. See error in URL: `/?error=OAuth+callback+failed%3A+missing_claim%3A+Missing+%27nonce%27+claim`

**Expected behavior**

When `openid` scope is requested and a nonce is sent in the authorization request, the ID token returned by Pipedream should include a `nonce` claim with the same value.

**Additional context**

- Authorization server metadata: `https://mcp.pipedream.com/.well-known/oauth-authorization-server`
- Metadata shows `"scopes_supported": ["openid", "profile", "email", "offline_access", "mcp"]` but `"claims_supported"` does not include `"nonce"`
- Client library (Authlib) rejects the ID token during validation: `authlib.jose.errors.MissingClaimError: missing_claim: Missing 'nonce' claim`

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.