PipedreamHQ / PipedreamHQ/pipedream
MCP OAuth returns ID token without required nonce claim
- 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
Assessment
This issue has not been assessed yet.