{"repo":"sikt-no/clj-jwt","free":true,"listed":false,"github":"https://github.com/sikt-no/clj-jwt","clone":"git clone https://github.com/sikt-no/clj-jwt.git","description":"A Clojure library to handle validation of JWTs and signing claims using JSON Web Keys","language":"Clojure","stars":42,"topics":["clojure","jwt"],"license":"EPL-2.0","category":"auth-billing-email","readme_excerpt":"clj-jwt A Clojure library to handle validation of JWTs and signing claims using JSON Web Keys. clj-jwt wraps some of Buddy's functions for validating JWTs and signing claims. It uses a JWKS endpoint to fetch the public or private key to use for validation or signing respectively. By using this library you can abstract away key handling as the library will automatically fetch new keys as the JWK server issues new keys. Usage Validating JWTs You can use the unsign function which wraps buddy-sign's own unsign function: Or you can use the resolve-public-key function with the jws backend from buddy-auth: Signing claims (creating tokens) You can sign your own tokens if your JSON web token contains a private key component. The sign function expects a jwks URL/path, a key id, the claims to sign, and optionally options to the buddy sign function. Development Ensure you have Clojure installed. Then clone project and run Clojure Tools Deps targets. If you have rlwrap installed you can use the clj command in place of clojure . Refer to your editors documentation about how to connect or start a repl integrated with the editor. Installing 'work in progress' locally You can simply refer to your clj-jwt project in the other clojure project's deps.edn file: Making a new release Go to https://github.com/sikt-no/clj-jwt/actions/workflows/release.yml and press Run workflow . Further reading RFC 7519 - JSON Web Token (JWT) RFC 8725 - JSON Web Token Best Current Practices RFC 7517 - JSON Web Key (","default_branch":null,"files":null,"tree":[],"storefront":"/r/sikt-no","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/sikt-no/clj-jwt/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}