{"id":31424840,"url":"https://github.com/vercel-saleseng/traefik-oidc-auth-plugin","last_synced_at":"2026-03-04T21:04:59.099Z","repository":{"id":316491934,"uuid":"1063617795","full_name":"vercel-saleseng/traefik-oidc-auth-plugin","owner":"vercel-saleseng","description":"Vercel OIDC Plugin for Traefik","archived":false,"fork":false,"pushed_at":"2025-09-24T22:03:55.000Z","size":1112,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-20T19:37:17.586Z","etag":null,"topics":["openid-connect","security","traefik-middleware","traefik-plugin","vercel"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vercel-saleseng.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-24T22:02:54.000Z","updated_at":"2025-10-13T05:21:01.000Z","dependencies_parsed_at":"2025-09-25T00:08:15.094Z","dependency_job_id":"0165c994-8f8c-4fb1-be13-b7787a9c1c62","html_url":"https://github.com/vercel-saleseng/traefik-oidc-auth-plugin","commit_stats":null,"previous_names":["vercel-saleseng/traefik-oidc-auth-plugin"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/vercel-saleseng/traefik-oidc-auth-plugin","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vercel-saleseng%2Ftraefik-oidc-auth-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vercel-saleseng%2Ftraefik-oidc-auth-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vercel-saleseng%2Ftraefik-oidc-auth-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vercel-saleseng%2Ftraefik-oidc-auth-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vercel-saleseng","download_url":"https://codeload.github.com/vercel-saleseng/traefik-oidc-auth-plugin/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vercel-saleseng%2Ftraefik-oidc-auth-plugin/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30092931,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-04T20:42:30.420Z","status":"ssl_error","status_checked_at":"2026-03-04T20:42:30.057Z","response_time":59,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["openid-connect","security","traefik-middleware","traefik-plugin","vercel"],"created_at":"2025-09-30T04:06:19.590Z","updated_at":"2026-03-04T21:04:59.067Z","avatar_url":"https://github.com/vercel-saleseng.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Vercel OIDC Plugin for Traefik\n\nA Traefik middleware plugin that validates [Vercel OpenID Connect (OIDC) tokens](https://vercel.com/docs/oidc) for authenticating requests to your services.\n\nThis plugin integrates with Vercel's OIDC authentication system to protect your services hosted outside of Vercel and served behind Traefik. It validates JWT tokens issued by Vercel, ensuring that only authorized requests from your Vercel deployments can access your backend services.\n\n## Configuration\n\n### Traefik startup configuration\n\n\u003e Also known as \"install configuration\"; formerly known as the \"static configuration\".\n\nInclude in your your Traefik's startup configuration (usually `traefik.yaml`) the following to load the plugin:\n\n```yaml\n# traefik.yml\nexperimental:\n  plugins:\n    vercel-oidc-auth:\n      moduleName: github.com/vercel-saleseng/traefik-oidc-auth-plugin\n      version: v0.1.0\n```\n\n### Define the middleware\n\nOnce the plugin is defined, you can define middlewares of kind \"vercel-oidc-auth\" in the routing configuration (formerly known as _dynamic configuration_).\n\nUsing the YAML format for the routing configuration, this looks similar to:\n\n```yaml\nhttp:\n  middlewares:\n    vercel-oidc-auth:\n      plugin:\n        vercel-oidc-auth:\n          # If using the global issuer, set this to \"https://oidc.vercel.com\"\n          issuer: \"https://oidc.vercel.com/your-team\"\n          teamSlug: \"your-team\"\n          projectName: \"your-project\"\n          environment: \"production\"\n          # Optional, defaults to \"Authorization\"\n          # tokenHeader: \"Authorization\"\n```\n\n## Docker Compose Example\n\n```yaml\nversion: '3.7'\nservices:\n  traefik:\n    image: traefik:v3.5\n    command:\n      - --api.insecure=true\n      - --providers.docker=true\n      - --entrypoints.web.address=:80\n      - --experimental.plugins.vercel-oidc-auth.modulename=github.com/vercel-saleseng/traefik-oidc-auth-plugin\n      - --experimental.plugins.vercel-oidc-auth.version=v0.1.0\n    ports:\n      - \"80:80\"\n      - \"8080:8080\"\n    volumes:\n      - /var/run/docker.sock:/var/run/docker.sock\n\n  app:\n    image: your-app:latest\n    labels:\n      - \"traefik.enable=true\"\n      - \"traefik.http.routers.app.rule=Host(`your-domain.com`)\"\n      - \"traefik.http.routers.app.middlewares=vercel-oidc-auth\"\n      - \"traefik.http.middlewares.vercel-oidc-auth.plugin.vercel-oidc-auth.issuer=https://oidc.vercel.com/your-team\"\n      - \"traefik.http.middlewares.vercel-oidc-auth.plugin.vercel-oidc-auth.teamSlug=your-team\"\n      - \"traefik.http.middlewares.vercel-oidc-auth.plugin.vercel-oidc-auth.projectName=your-project\"\n      - \"traefik.http.middlewares.vercel-oidc-auth.plugin.vercel-oidc-auth.environment=production\"\n```\n\n## Configuration Parameters\n\n| Parameter | Required | Default | Description |\n|-----------|----------|---------|-------------|\n| `issuer` | ✓ | - | JWT issuer URL. Use `https://oidc.vercel.com` for global or `https://oidc.vercel.com/team-name` for team-specific |\n| `teamSlug` | ✓ | - | Your Vercel team slug |\n| `projectName` | ✓ | - | The name of your Vercel project |\n| `environment` | ✓ | - | Environment name (e.g., \"production\", \"preview\") |\n| `tokenHeader` | - | \"Authorization\" | HTTP header containing the JWT token |\n| `jwksEndpoint` | - | `{issuer}/.well-known/jwks` | JWKS endpoint URL for key retrieval |\n\n## Usage with Vercel\n\n### 1. Configure OIDC in your Vercel project\n\nIn your Vercel project settings, OIDC is enabled with team-specific issuers by default.\n\nYou can refer to the [official documentation](https://vercel.com/docs/oidc) for more information.\n\n### 2. Make requests from Vercel Functions\n\nYou can obtain the OIDC token by invoking `getVercelOidcToken` from any Vercel Function.  \nThe result is a string that can be used as header in `fetch` requests.\n\n```js\nimport { getVercelOidcToken } from '@vercel/functions/oidc'\n\n// Get the OIDC token\nconst token = await getVercelOidcToken()\n\n// Make the fetch request\nconst response = await fetch('https://example.com/api/data', {\n  headers: {\n    // Note the \"Bearer\" prefix is optional\n    'Authorization': 'Bearer '+token,\n  }\n})\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvercel-saleseng%2Ftraefik-oidc-auth-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvercel-saleseng%2Ftraefik-oidc-auth-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvercel-saleseng%2Ftraefik-oidc-auth-plugin/lists"}