Skip to content
OAuth 2.0 and OpenID Connect C library
C M4 Makefile C++ Objective-C Dockerfile
Branch: master
Clone or download
zandbelt add unauth action handling basics
Signed-off-by: Hans Zandbelt <>
Latest commit 445d5cb Aug 21, 2019


Generic library that can be used to build OAuth 2.0 and OpenID Connect C-based servers and clients e.g. web-server plugins.


  • extends cjose into OAuth 2.0 and OpenID Connect specific claims, secrets and hashes
  • adds OAuth 2.0 / OpenID Connect protocols by abstracting HTTP requests/responses from web server implementation specifics
  • reusable code across for other OAuth 2.0 (and REST) related protocols e.g. token exchange with endpoint authentication, source token retrieval, target pass settings etc.
  • generic code with plugins for Apache, NGINX and possibly more (e.g. Envoy, HA Proxy, IIS)
  • cache backend/size/options per cache element type (i.e. no longer a single flat shared backend/storage/namespace)
  • configurable cache key hashing algorithm
  • shm: support configurable key sizes (ie. storage)



liboauth2 has the following dependencies:

  • openssl for SSL and crypto support
  • libcurl for HTTP client support
  • jansson for JSON parsing
  • cjose for JSON Object Signing and Encryption (JOSE) support
  • (optional) libmemcached for memcache cache backend support
  • (optional) libhiredis for Redis cache backend support
  • (optional) Apache 2.x for Apache 2.x bindings support
  • (optional) NGINX for NGINX bindings support
  • (optional, build time only) check for unit test support


Community Support

For generic questions, see the Wiki pages with Frequently Asked Questions at:
Any questions/issues should go to issues tracker.

Commercial Services

For commercial Support contracts, Professional Services, Training and use-case specific support you can contact:


This software is open sourced by ZmartZone IAM. For commercial support you can contact ZmartZone IAM as described above in the Support section.

You can’t perform that action at this time.