Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ory/oathkeeper

A cloud native Identity & Access Proxy / API (IAP) and Access Control Decision API that authenticates, authorizes, and mutates incoming HTTP(s) requests. Inspired by the BeyondCorp / Zero Trust white paper. Written in Go.
https://github.com/ory/oathkeeper

api-gateway golang hacktoberfest oauth2 openid-connect ory ory-oathkeeper reverse-proxy

Last synced: 24 days ago
JSON representation

A cloud native Identity & Access Proxy / API (IAP) and Access Control Decision API that authenticates, authorizes, and mutates incoming HTTP(s) requests. Inspired by the BeyondCorp / Zero Trust white paper. Written in Go.

Awesome Lists containing this project

README

        

ORY Oathkeeper - Cloud Native Identity & Access Proxy


Chat |
Discussions |
Newsletter


API Docs |
Guide |
Code Docs


Support this project!


Work in Open Source, Ory is hiring!

---


Build Status
Coverage Status
Go Report Card
PkgGoDev


ORY Oathkeeper is an Identity & Access Proxy (IAP) and Access Control Decision
API that authorizes HTTP requests based on sets of Access Rules. The BeyondCorp
Model is designed by [Google](https://cloud.google.com/beyondcorp/) and secures
applications in Zero-Trust networks.

An Identity & Access Proxy is typically deployed in front of (think API Gateway)
web-facing applications and is capable of authenticating and optionally
authorizing access requests. The Access Control Decision API can be deployed
alongside an existing API Gateway or reverse proxy. ORY Oathkeeper's Access
Control Decision API works with:

- [Ambassador](https://github.com/datawire/ambassador) via
[auth service](https://www.getambassador.io/reference/services/auth-service).
- [Envoy](https://www.envoyproxy.io) via the
[External Authorization HTTP Filter](https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/ext_authz_filter)
- [AWS API Gateway](https://aws.amazon.com/api-gateway/) via
[Custom Authorizers](https://aws.amazon.com/de/blogs/compute/introducing-custom-authorizers-in-amazon-api-gateway/)
- [Nginx](https://www.nginx.com) via
[Authentication Based on Subrequest Result](https://docs.nginx.com/nginx/admin-guide/security-controls/configuring-subrequest-authentication/)

among others.

This service is stable, but under active development and may introduce breaking
changes in future releases. Any breaking change will have extensive
documentation and upgrade instructions.

## Ory Network Hybrid Support Plan

Ory offers a support plan for Ory Network Hybrid, including Ory on private cloud
deployments. If you have a self-hosted solution and would like help, consider a
support plan! The team at Ory has years of experience in cloud computing. Ory's
offering is the only official program for qualified support from the
maintainers. For more information see the
**[website](https://www.ory.sh/support/)** or
**[book a meeting](https://www.ory.sh/contact/)**!

## Project Renaming

The Ory Oathkeeper project was started in 2017 in Germany and owes its name to
the Sword [Oathkeeper](https://gameofthrones.fandom.com/wiki/Oathkeeper) from
Game of Thrones. We also understand that the name is politically charged in the
US as it is shared with a far-right militia organization in the US called "Oath
Keepers".

To take a stand against extremism and avoid any confusion to the name's origin,
we will be renaming the project in the near future. Please be patient with us as
we work on this complicated change of various CIs, tools, scripts, and
automations.

---

- [Installation](#installation)
- [Who's using it?](#whos-using-it)
- [Ecosystem](#ecosystem)
- [ORY Kratos: Identity and User Infrastructure and Management](#ory-kratos-identity-and-user-infrastructure-and-management)
- [ORY Hydra: OAuth2 & OpenID Connect Server](#ory-hydra-oauth2--openid-connect-server)
- [ORY Oathkeeper: Identity & Access Proxy](#ory-oathkeeper-identity--access-proxy)
- [ORY Keto: Access Control Policies as a Server](#ory-keto-access-control-policies-as-a-server)
- [Security](#security)
- [Disclosing vulnerabilities](#disclosing-vulnerabilities)
- [Telemetry](#telemetry)
- [Documentation](#documentation)
- [Guide](#guide)
- [HTTP API documentation](#http-api-documentation)
- [Upgrading and Changelog](#upgrading-and-changelog)
- [Command line documentation](#command-line-documentation)
- [Develop](#develop)

## Installation

Head over to the
[ORY Developer Documentation](https://www.ory.sh/oathkeeper/docs/install) to
learn how to install ORY Oathkeeper on Linux, macOS, Windows, and Docker and how
to build ORY Oathkeeper from source.

## Who's using it?

The Ory community stands on the shoulders of individuals, companies, and
maintainers. The Ory team thanks everyone involved - from submitting bug reports
and feature requests, to contributing patches and documentation. The Ory
community counts more than 33.000 members and is growing rapidly. The Ory stack
protects 60.000.000.000+ API requests every month with over 400.000+ active
service nodes. None of this would have been possible without each and everyone
of you!

The following list represents companies that have accompanied us along the way
and that have made outstanding contributions to our ecosystem. _If you think
that your company deserves a spot here, reach out to
[email protected] now_!



Type
Name
Logo
Website




Adopter *
Raspberry PI Foundation



Raspberry PI Foundation


raspberrypi.org


Adopter *
Kyma Project



Kyma Project


kyma-project.io


Adopter *
Tulip



Tulip Retail


tulip.com


Adopter *
Cashdeck / All My Funds



All My Funds


cashdeck.com.au


Adopter *
Hootsuite



Hootsuite


hootsuite.com


Adopter *
Segment



Segment


segment.com


Adopter *
Arduino



Arduino


arduino.cc


Adopter *
DataDetect



Datadetect


unifiedglobalarchiving.com/data-detect/


Adopter *
Sainsbury's



Sainsbury's


sainsburys.co.uk


Adopter *
Contraste



Contraste


contraste.com


Adopter *
Reyah



Reyah


reyah.eu


Adopter *
Zero



Project Zero by Commit


getzero.dev


Adopter *
Padis



Padis


padis.io


Adopter *
Cloudbear



Cloudbear


cloudbear.eu


Adopter *
Security Onion Solutions



Security Onion Solutions


securityonionsolutions.com


Adopter *
Factly



Factly


factlylabs.com


Adopter *
Nortal



Nortal


nortal.com


Adopter *
OrderMyGear



OrderMyGear


ordermygear.com


Adopter *
Spiri.bo



Spiri.bo


spiri.bo


Adopter *
Strivacity



Spiri.bo


strivacity.com


Adopter *
Hanko



Hanko


hanko.io


Adopter *
Rabbit



Rabbit


rabbit.co.th


Adopter *
inMusic



InMusic


inmusicbrands.com


Adopter *
Buhta



Buhta


buhta.com


Adopter *
Connctd



Connctd


connctd.com


Adopter *
Paralus



Paralus


paralus.io


Adopter *
TIER IV



TIER IV


tier4.jp


Adopter *
R2Devops



R2Devops


r2devops.io


Adopter *
LunaSec



LunaSec


lunasec.io


Adopter *
Serlo



Serlo


serlo.org



Adopter *
dyrector.io



dyrector.io


dyrector.io



Adopter *
Stackspin



stackspin.net


stackspin.net



Adopter *
Amplitude



amplitude.com


amplitude.com


Adopter *
Pinniped



pinniped.dev


pinniped.dev


Adopter *
Pvotal



pvotal.tech


pvotal.tech

Many thanks to all individual contributors

\* Uses one of Ory's major projects in production.

## Ecosystem

We build Ory on several guiding principles when it comes to our architecture
design:

- Minimal dependencies
- Runs everywhere
- Scales without effort
- Minimize room for human and network errors

Ory's architecture is designed to run best on a Container Orchestration system
such as Kubernetes, CloudFoundry, OpenShift, and similar projects. Binaries are
small (5-15MB) and available for all popular processor types (ARM, AMD64, i386)
and operating systems (FreeBSD, Linux, macOS, Windows) without system
dependencies (Java, Node, Ruby, libxml, ...).

### Ory Kratos: Identity and User Infrastructure and Management

[Ory Kratos](https://github.com/ory/kratos) is an API-first Identity and User
Management system that is built according to
[cloud architecture best practices](https://www.ory.sh/docs/next/ecosystem/software-architecture-philosophy).
It implements core use cases that almost every software application needs to
deal with: Self-service Login and Registration, Multi-Factor Authentication
(MFA/2FA), Account Recovery and Verification, Profile, and Account Management.

### Ory Hydra: OAuth2 & OpenID Connect Server

[Ory Hydra](https://github.com/ory/hydra) is an OpenID Certified™ OAuth2 and
OpenID Connect Provider which easily connects to any existing identity system by
writing a tiny "bridge" application. It gives absolute control over the user
interface and user experience flows.

### Ory Oathkeeper: Identity & Access Proxy

[Ory Oathkeeper](https://github.com/ory/oathkeeper) is a BeyondCorp/Zero Trust
Identity & Access Proxy (IAP) with configurable authentication, authorization,
and request mutation rules for your web services: Authenticate JWT, Access
Tokens, API Keys, mTLS; Check if the contained subject is allowed to perform the
request; Encode resulting content into custom headers (`X-User-ID`), JSON Web
Tokens and more!

### Ory Keto: Access Control Policies as a Server

[Ory Keto](https://github.com/ory/keto) is a policy decision point. It uses a
set of access control policies, similar to AWS IAM Policies, in order to
determine whether a subject (user, application, service, car, ...) is authorized
to perform a certain action on a resource.

## Security

### Disclosing vulnerabilities

If you think you found a security vulnerability, please refrain from posting it
publicly on the forums, the chat, or GitHub. You can find all info for
responsible disclosure in our
[security.txt](https://www.ory.sh/.well-known/security.txt).

## Telemetry

Our services collect summarized, anonymized data which can optionally be turned
off. Click [here](https://www.ory.sh/docs/ecosystem/sqa) to learn more.

## Documentation

### Guide

The Guide is available [here](https://www.ory.sh/oathkeeper/docs/).

### HTTP API documentation

The HTTP API is documented
[here](https://www.ory.sh/oathkeeper/docs/reference/api).

### Upgrading and Changelog

New releases might introduce breaking changes. To help you identify and
incorporate those changes, we document these changes in
[UPGRADE.md](./UPGRADE.md) and [CHANGELOG.md](./CHANGELOG.md).

### Command line documentation

Run `oathkeeper -h` or `oathkeeper help`.

### Develop

Developing with ORY Oathkeeper is as easy as:

```shell
$ cd ~
$ go get -d -u github.com/ory/oathkeeper
$ cd $GOPATH/src/github.com/ory/oathkeeper
$ export GO111MODULE=on
$ go test ./...
```