# One command to rule them all
./scripts/run-oidc-conformance.shThen follow the on-screen instructions to run tests at https://www.certification.openid.net/
Automated setup for testing the verifier-proxy OIDC Provider implementation against the official OpenID Connect Conformance Suite.
Scope: This tests the verifier-proxy's OIDC Provider capabilities (issuing ID tokens to relying parties). It does NOT test:
- Verifiable credential issuance (separate VC Issuer service)
- OpenID4VP presentation verification (covered by integration tests)
Architecture:
Local Machine Internet
┌─────────────────────┐ ┌──────────────────────┐
│ verifier-proxy:8080 │──── ngrok ─────>│ OpenID Connect │
│ MongoDB:27017 │ HTTPS │ Conformance Suite │
└─────────────────────┘ └──────────────────────┘
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
OpenID Connect Conformance Suite Configuration
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Issuer URL: https://abc123.ngrok.io
Discovery Endpoint: https://abc123.ngrok.io/.well-known/openid-configuration
Registration Endpoint: https://abc123.ngrok.io/register
Test Plan Setup:
1. Go to: https://www.certification.openid.net/
2. Create new test plan: 'oidcc-basic-certification-test-plan'
3. Configuration:
- Server metadata location: https://abc123.ngrok.io/.well-known/openid-configuration
- Client registration: DYNAMIC (automatic)
# Install ngrok (Ubuntu/Debian)
curl -s https://ngrok-agent.s3.amazonaws.com/ngrok.asc | \
sudo tee /etc/apt/trusted.gpg.d/ngrok.asc >/dev/null
echo "deb https://ngrok-agent.s3.amazonaws.com buster main" | \
sudo tee /etc/apt/sources.list.d/ngrok.list
sudo apt update && sudo apt install ngrok
# Authenticate (free account)
ngrok config add-authtoken YOUR_TOKEN
# Install jq
sudo apt-get install jqscripts/run-oidc-conformance.sh- Automated setup scriptscripts/conformance_validator.py- Endpoint validation toolscripts/README-conformance.md- Detailed documentationdocs/verifier-proxy/OIDC_CONFORMANCE_TESTING.md- Full strategy guide
- Discovery endpoint
- JWKS endpoint
- Dynamic client registration (RFC 7591)
- Client CRUD operations (RFC 7592)
- Metadata compliance
- Authorization Code Flow
- Token Exchange
- UserInfo endpoint
- PKCE validation
- Code replay prevention
ngrok not accessible:
curl http://localhost:4040/api/tunnels | jq .verifier-proxy not starting:
tail -f verifier-proxy.logMongoDB not initialized:
docker-compose up mongo-init-verifier-proxy- Run the automated script
- Copy the ngrok URL from output
- Go to OpenID Connect Conformance Suite
- Create test plan with your ngrok URL
- Run tests
- Review results
- Full guide:
docs/verifier-proxy/OIDC_CONFORMANCE_TESTING.md - Scripts README:
scripts/README-conformance.md - Dynamic registration:
docs/verifier-proxy/dynamic-client-registration.md
Questions? See the full documentation in docs/verifier-proxy/OIDC_CONFORMANCE_TESTING.md