-
-
Notifications
You must be signed in to change notification settings - Fork 27
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #28 from broadfootmi/master
tidy up links and some grammar
- Loading branch information
Showing
1 changed file
with
23 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -3,32 +3,31 @@ | |
[](https://lgtm.com/projects/g/zmartzone/liboauth2/alerts/) | ||
|
||
# liboauth2 | ||
Generic library that can be used to build OAuth 2.x and OpenID Connect C-based servers and clients e.g. web-server plugins. | ||
Generic library to build C-based OAuth 2.x and OpenID Connect servers and clients e.g. web-server plugins. | ||
|
||
## Overview | ||
|
||
- extends [cjose](https://github.com/cisco/cjose) into OAuth 2.x and OpenID Connect specific claims, secrets and hashes | ||
- adds OAuth 2.x / OpenID Connect protocols by abstracting HTTP requests/responses from web server implementation specifics | ||
- reusable code across for other OAuth 2.x (and REST) related protocols | ||
- extends [cjose](https://github.com/cisco/cjose) into OAuth 2.x and OpenID Connect specific claims, secrets, and hashes | ||
- adds OAuth 2.x and OpenID Connect protocols by abstracting HTTP requests and responses from web server implementation specifics | ||
- reusable code across other OAuth 2.x 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) | ||
- generic code with plugins for Apache, NGINX, and possibly more (e.g. Envoy, HA Proxy, IIS) | ||
- configurable cache backend/size/options per cache element type | ||
- cookie-based session management (i.e. enforce inactivity timeout, expiry) | ||
|
||
## Features | ||
- OpenID Connect 1.0 [https://openid.net/specs/openid-connect-core-1_0.html](https://openid.net/specs/openid-connect-core-1_0.html) | ||
- OAuth 2.0 Resource Owner Password Credentials [https://tools.ietf.org/html/rfc6749#section-4.3](https://tools.ietf.org/html/rfc6749#section-4.3) | ||
- OAuth 2.0 Token Introspection [https://tools.ietf.org/html/rfc7662](https://tools.ietf.org/html/rfc7662) | ||
- JWT bearer token validation using: JWK, JWKS URI, shared symmetric key, X.509 cert, RSA public key [https://tools.ietf.org/html/rfc6750](https://tools.ietf.org/html/rfc6750) | ||
- OAuth 2.0 Authorization Server Metadata [https://tools.ietf.org/html/rfc8414](https://tools.ietf.org/html/rfc8414) | ||
- Proof Key for Code Exchange by OAuth Public Clients (PCKE) [https://tools.ietf.org/html/rfc7636] | ||
- OAuth 2.0 Mutual-TLS Certificate-Bound Access Tokens (MTLS) [https://tools.ietf.org/html/rfc8705] | ||
- (draft) OAuth 2.0 Demonstration of Proof-of-Possession at the Application Layer (DPoP) [https://tools.ietf.org/html/draft-ietf-oauth-dpop] | ||
- [OpenID Connect 1.0](https://openid.net/specs/openid-connect-core-1_0.html) | ||
- OAuth 2.0 Resource Owner Password Credentials ([RFC 6749](https://tools.ietf.org/html/rfc6749#section-4.3)) | ||
- OAuth 2.0 Token Introspection ([RFC 7662](https://tools.ietf.org/html/rfc7662)) | ||
- JWT bearer token validation using JWK, JWKS URI, shared symmetric key, X.509 cert, and RSA public key ([RFC 6750](https://tools.ietf.org/html/rfc6750)) | ||
- OAuth 2.0 Authorization Server Metadata ([RFC 8414](https://tools.ietf.org/html/rfc8414)) | ||
- Proof Key for Code Exchange (PCKE) by OAuth Public Clients ([RFC 7636](https://tools.ietf.org/html/rfc7636)) | ||
- OAuth 2.0 Mutual-TLS (MTLS) Certificate-Bound Access Tokens ([RFC 8705](https://tools.ietf.org/html/rfc8705)) | ||
- OAuth 2.0 Demonstration of Proof-of-Possession (DPoP) at the Application Layer ([Internet-Draft](https://tools.ietf.org/html/draft-ietf-oauth-dpop)) | ||
- Amazon ALB [EC key URL based `x-amzn-oidc-data` JWT verification](https://docs.aws.amazon.com/elasticloadbalancing/latest/application/listener-authenticate-users.html) | ||
- endpoint authentication methods: `client_secret_basic`, `client_secret_post`, [`client_secret_jwt`, `private_key_jwt`](https://tools.ietf.org/html/rfc7523), [TLS client certificate](https://tools.ietf.org/id/draft-ietf-oauth-mtls) and HTTP basic authentication | ||
- configurable cache backends: shared memory, file-based, memcache and Redis | ||
- retrieving a token from a header, a query parameter, a post parameter or a cookie | ||
- setting a token as a header, a query parameter, a post parameter or a cookie | ||
- endpoint authentication methods: `client_secret_basic`, `client_secret_post`, [`client_secret_jwt`, `private_key_jwt`](https://tools.ietf.org/html/rfc7523), [TLS client certificate](https://tools.ietf.org/id/draft-ietf-oauth-mtls), and HTTP basic authentication | ||
- configurable cache backends: shared memory, file-based, memcache, and Redis | ||
- retrieving a token from a header, a query parameter, a post parameter, or a cookie | ||
- setting a token as a header, a query parameter, a post parameter, or a cookie | ||
- Apache and NGINX bindings | ||
|
||
## Dependencies | ||
|
@@ -46,14 +45,13 @@ liboauth2 depends on the following libraries: | |
|
||
## Support | ||
|
||
#### Community Support | ||
For generic questions, see the Wiki pages with Frequently Asked Questions at: | ||
[https://github.com/zmartzone/liboauth2/wiki](https://github.com/zmartzone/liboauth2/wiki) | ||
Any questions should go to the [Discussions](https://github.com/zmartzone/liboauth2/discussions) tracker. | ||
### Community Support | ||
See [Frequently Asked Questions](https://github.com/zmartzone/liboauth2/wiki) on the Wiki. | ||
Ask questions in the [Discussions](https://github.com/zmartzone/liboauth2/discussions) tracker. | ||
|
||
#### Commercial Support | ||
For commercial support contracts, professional services, training and use-case specific support you can contact (ZmartZone IAM)[https://www.zmartzone.eu] at: | ||
[[email protected]](mailto:[email protected]) | ||
### Commercial Support | ||
For commercial support contracts, professional services, training, and use-case specific support, contact [ZmartZone IAM](https://www.zmartzone.eu) at: | ||
[[email protected]](mailto:[email protected]) | ||
|
||
Disclaimer | ||
---------- | ||
|