https://github.com/unitvectory-labs/jwks-catalog
A catalog of JWKS endpoints for popular websites.
https://github.com/unitvectory-labs/jwks-catalog
jwks oidc
Last synced: about 1 month ago
JSON representation
A catalog of JWKS endpoints for popular websites.
- Host: GitHub
- URL: https://github.com/unitvectory-labs/jwks-catalog
- Owner: UnitVectorY-Labs
- License: mit
- Created: 2025-01-15T22:40:59.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-03-08T02:40:45.000Z (about 2 months ago)
- Last Synced: 2025-03-08T03:23:54.812Z (about 2 months ago)
- Topics: jwks, oidc
- Language: Go
- Homepage: https://jwks-catalog.unitvectorylabs.com/
- Size: 53.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[](https://opensource.org/licenses/MIT) [](https://guide.unitvectorylabs.com/bestpractices/status/#active)
# jwks-catalog
A catalog of JWKS endpoints for popular websites.
Available at: [https://jwks-catalog.unitvectorylabs.com/](https://jwks-catalog.unitvectorylabs.com/)
## Overview
[JSON Web Key Sets](https://datatracker.ietf.org/doc/html/rfc7517) (JWKS) are a standard mechanism used in modern authentication systems to facilitate secure communication and validation of digital signatures. A JWKS URL provides a publicly accessible endpoint that hosts cryptographic keys used by identity providers to sign tokens like JSON Web Tokens (JWTs).
This catalog aggregates JWKS URLs from popular services such as Google, GitHub, Microsoft, Apple, and others creating a resource for developers to quickly find and reference JWKS endpoints.
## Contributing
This catalog is open to contributions which can be added by adding entries to the following file: [services.yaml](https://github.com/UnitVectorY-Labs/jwks-catalog/blob/main/data/services.yaml)
Each entry in the YAML file should contain the following fields:
- `id`: A unique identifier for the service
- `name`: The name of the service
- `openid-configuration`: The OpenID configuration URL for the service (optional)
- `jwks_uri`: The JWKS URL for the service## Site Generation
The JWKS Catalog utilizes lightweight tech stack for static page generation. This process converts the data defined in a YAML file into the static HTML website, hosted on GitHub Pages.
Tech Stack**:
- **Go**: The primary programming language used for the transformation of YAML data into structured HTML files.
- **HTMX**: Enhances the interactivity of the generated site by enabling dynamic content loading without full-page reloads. HTMX is used to fetch and display service-specific JWKS details without fully reloading the page.
- **HTML Templates**: Custom templates are used to define the layout and structure of the site. Go’s templating engine facilitates the seamless integration of dynamic data into the pre-defined templates.The workflow includes:
1. Parsing the [services.yaml](https://github.com/UnitVectorY-Labs/jwks-catalog/blob/main/data/services.yaml) which serves as the primary data source.
2. Using Go templates to generate the primary `index.html` and complete page for each service.
3. Generating “snippet” pages for each service to support HTMX-driven dynamic content loading without requiring a full-page reload.The final static files are deployed to GitHub Pages using the [go-pages-deploy.yml](https://github.com/UnitVectorY-Labs/jwks-catalog/blob/main/.github/workflows/go-pages-deploy.yml) GitHub Action workflow, which is automatically triggered on every push to the `main` branch.