$ luarocks install api7-lua-resty-openidclua-resty-openidc is a library for NGINX implementing the OpenID Connect Relying Party (RP) and the OAuth 2.0 Resource Server (RS) functionality.
When used as an OpenID Connect Relying Party it authenticates users against an OpenID Connect Provider using OpenID Connect Discovery and the Basic Client Profile (i.e. the Authorization Code flow). When used as an OAuth 2.0 Resource Server it can validate OAuth 2.0 Bearer Access Tokens against an Authorization Server or, in case a JSON Web Token is used for an Access Token, verification can happen against a pre-configured secret/key.
It maintains sessions for authenticated users by leveraging lua-resty-session, offering a configurable choice between storing the session state in a client-side browser cookie or using shared-memory, memcache, or Redis server-side storage.
It supports server-wide caching of resolved Discovery documents and validated Access Tokens.