OpenID Connect uses the JSON Web Token (JWT) and JSON Object Signing and Encryption (JOSE) specifications. Libraries implementing JWT and the JOSE specs JWS, JWE, JWK, and JWA are listed here.
C/C++
cjose
- C JOSE library
- License: MIT
- Supports: JWS, JWE, and JWK
- Target Environment: C/C++
C#
JsonWebToken DelegatingHandler for ASP.NET WebAPI
- description:
- License: MIT
- Supports: JWS, JWT
- Target Environment: ASP.NET WebAPI
JSON Web Token Handler For the Microsoft .Net Framework 4.5
- This package provides an assembly containing classes which extend the .NET Framework 4.5 with the necessary logic to process the JSON Web Token (JWT) format.
- License: Microsoft Software License
- Supports: JWS, JWT
- Target Environment: .Net Framework 4.5
JWT (JSON Web Token) implementation for .NET 3.5+
- This library supports generating and decoding JSON Web Tokens.
- License: Creative Commons Public Domain 1.0
- Supports: JWS, JWT
- Target Environment: .Net Framework 3.5+
Microsoft.Owin.Security.Jwt
- Middleware that enables an application to protect and validate JSON Web Tokens.
- License: Microsoft Software License
- Supports: JWS, JWT
- Target Environment: OWIN
OWIN Authentication Middleware for Auth0 JWT Bearer Token
- License:
- Supports: JWS, JWT
- Target Environment: OWIN
Haskell
Haskell jose-jwt package
- Haskell jose-jwt package. Also see http://hackage.haskell.org/package/jose-jwt-0.1/docs/Jose-Jwe.html.
- License: BSD3
- Supports: JWT, JWS, JWE and JWK.
- Target Environment: Haskell
Java
jose4j
- Open source implementation of JWT and the full JOSE suite. Developed by Brian Campbell.
- License: Apache 2.0
- Supports: JWT, JWS, JWE and JWK.
- Target Environment: Java 7 or 8
Nimbus JOSE+JWT
- Nimbus JOSE+JWT is an open source (Apache 2.0) Java library that implements the Javascript Object Signing and Encryption (JOSE) spec suite and the closely related JSON Web Token (JWT) spec. Developed by Connect2id.
- License: Apache 2.0
Supports: JWS, JWE, JWT
Target Environment: Java 6, 7 or 8
Java JWT
- a simple project to decode JSON Web Tokens in Java
- License:
- Supports: JWS, JWT
- Target Environment:
Resteasy
- description:
- License:
- Supports:
- Target Environment: JBOSS
Apache Oltu – JOSE
- Apache Oltu is an OAuth protocol implementation in Java. It also covers others “OAuth family” related implementations such as JWT, JWS and OpenID Connect.
- License: Apache 2.0
- Supports: JWS, JWT
- Target Environment: Apache
Apache CXF
- Apache CXF is a Java JAX-WS and JAX-RS 2.0 services framework. It also provides a complete JOSE implementation.
- License: Apache 2.0
- Supports: JWA, JWK, JWS, JWE, JWT
- Target Environment: Apache
Javascript
jose
-
jose is an implementation of the JOSE standard for Node.js with minimal dependencies and broad algorithm and feature support.
-
License: MIT
-
Supports: JWT, JWS, JWE, JWA, JWK, JWKS
-
Target Environment: Node.js
jsjws
- The ‘jsjws'(JSON Web Signature JavaScript Library) is a pure open source free JavaScript implementation of JWS. Furthermore, ‘jsjws’ provides JSON Web Signature JSON Serialization (JWS-JS) which is a kind of parallel or independent signature format by multiple signers. Created by Kenji Urushima (@kjur)
- License: MIT
- Supports: JWS, JWS-JS
- Target Environment: generic
node-jsonwebtoken
- node-jsonwebtoken is a JWS library for node.js.
- License: MIT
- Supports: JWS, JWT
- Target Environment: node.js
Ruby
PHP
phpOIDC
- phpOIDC is a PHP implementation of OpenID Connect, developed by Nomura Research Institute. It also includes the JWT, JWS, and JWE support.
- License: Apache 2.0
- Relying Party: Yes
- Identity Provider: Yes
- Target Environment: Apache, nginx
Python
Tools
http://jwt.io/ JWT debugger
- Description: Interactive JWT debugger
json-web-key-generator
- Description: a command-line Java app to generate JWKs and JWK sets