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.

Github stars Tracking Chart

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 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:

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.

CircleCI
Coverage Status
Go Report Card


Installation

Head over to the
ORY Developer Documentation 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. We thank everyone involved - from submitting bug reports and
feature requests, to contributing patches, to sponsoring our work. Our community
is 1000+ strong and growing rapidly. The ORY stack protects 1.200.000.000+ API
requests every month with over 15.000+ active service nodes. We would have never
been able to achieve this 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
hi@ory.sh now
!

Please consider giving back by becoming a sponsor of our open source work on
Patreon or
Open Collective.

We also want to thank all individual contributors

as well as all of our backers

and past & current supporters (in alphabetical order) on
Patreon: Alexander Alimovs, Billy, Chancy
Kennedy, Drozzy, Edwin Trejos, Howard Edidin, Ken Adler Oz Haven, Stefan Hans,
TheCrealm.

* 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 designed to run best on a Container Orchestration Systems 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 is an API-first Identity and User
Management system that is built according to
cloud architecture best practices.
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 is an OpenID Certified™ OAuth2 and OpenID Connect
Provider can connect to any existing identity database (LDAP, AD, KeyCloak, PHP+MySQL, ...)
and user interface.

ORY Oathkeeper: Identity & Access Proxy

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 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 and send us an email to
hi@ory.sh instead.

Telemetry

Our services collect summarized, anonymized data which can optionally be turned
off. Click here to learn
more.

Documentation

Guide

The Guide is available
here.

HTTP API documentation

The HTTP API is documented
here.

Upgrading and Changelog

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

Command line documentation

Run oathkeeper -h or oathkeeper help.

Develop

Developing with ORY Oathkeeper is as easy as:

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

Main metrics

Overview
Name With Ownerory/oathkeeper
Primary LanguageGo
Program languageGo (Language Count: 4)
Platform
License:Apache License 2.0
所有者活动
Created At2017-09-25 11:04:45
Pushed At2025-04-16 11:07:48
Last Commit At2025-03-17 11:12:21
Release Count116
Last Release Namev0.40.9 (Posted on 2025-01-30 11:09:47)
First Release Namev0.0.1 (Posted on )
用户参与
Stargazers Count3.3k
Watchers Count49
Fork Count362
Commits Count1.4k
Has Issues Enabled
Issues Count356
Issue Open Count63
Pull Requests Count572
Pull Requests Open Count26
Pull Requests Close Count157
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private