authentik fork
This repository has been archived on 2024-05-31. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
Jens Langhammer 8e6bb48227 sources/saml: add mitigation for idp-initiated requests 2020-09-13 15:39:25 +02:00
.github new release: 0.10.0-rc6 2020-09-10 14:35:17 +02:00
docs new release: 0.10.0-rc6 2020-09-10 14:35:17 +02:00
e2e sources/saml: add mitigation for idp-initiated requests 2020-09-13 15:39:25 +02:00
helm helm: fix missing .Values prefix for replicas 2020-09-10 15:07:56 +02:00
lifecycle pytest (#209) 2020-09-11 23:21:11 +02:00
passbook sources/saml: add mitigation for idp-initiated requests 2020-09-13 15:39:25 +02:00
proxy proxy: fix listening on wrong ip 2020-09-10 21:13:26 +02:00
scripts Proxy v2 (#189) 2020-09-03 00:04:12 +02:00
.bumpversion.cfg new release: 0.10.0-rc6 2020-09-10 14:35:17 +02:00
.coveragerc Proxy v2 (#189) 2020-09-03 00:04:12 +02:00
.dockerignore ui: update static docker image to download NPM modules 2020-02-21 15:33:54 +01:00
.editorconfig repo cleanup, switch to new docker registry 2019-04-29 17:05:39 +02:00
.gitignore e2e: Add denied tests for oauth and oidc provider 2020-07-02 21:55:02 +02:00
.isort.cfg root: add process ID to logging output 2020-02-24 13:20:32 +01:00
.prospector.yaml root: fix pylint not correctly ignoring migrations 2020-05-27 11:15:10 +02:00
.pylintrc OAuth Provider Rewrite (#182) 2020-08-19 10:32:44 +02:00
Dockerfile root: automate system migrations, move docker to lifecycle folder 2020-09-10 00:18:39 +02:00
LICENSE repo cleanup, switch to new docker registry 2019-04-29 17:05:39 +02:00
Makefile pytest (#209) 2020-09-11 23:21:11 +02:00
Pipfile pytest (#209) 2020-09-11 23:21:11 +02:00
Pipfile.lock pytest (#209) 2020-09-11 23:21:11 +02:00
README.md new release: 0.10.0-rc6 2020-09-10 14:35:17 +02:00
SECURITY.md fix/Spelling error in SECURITY.md 2020-08-01 21:38:07 +01:00
azure-pipelines.yml ci: deploy to master.passbook.beryju.org on master (#113) 2020-09-07 11:59:15 +02:00
docker-compose.yml new release: 0.10.0-rc6 2020-09-10 14:35:17 +02:00
docker.env.yml e2e: add apply_default_data to load data from migrations after tables have been truncated 2020-06-07 19:31:16 +02:00
manage.py e2e: add OIDC Provider test against grafana, more formatting, minor bug fixes 2020-06-19 19:45:27 +02:00
mkdocs.yml docs: add docs for outposts 2020-09-09 19:34:19 +02:00
pyrightconfig.json Proxy v2 (#189) 2020-09-03 00:04:12 +02:00
pytest.ini pytest (#209) 2020-09-11 23:21:11 +02:00
setup.cfg OAuth Provider Rewrite (#182) 2020-08-19 10:32:44 +02:00
static.Dockerfile Proxy v2 (#189) 2020-09-03 00:04:12 +02:00
swagger.yaml providers/saml: disallow idp-initiated SSO by default and validate Request ID 2020-09-12 00:53:44 +02:00

README.md

passbook logopassbook

CI Build status Tests Code Coverage Docker pulls Latest version LGTM Grade

What is passbook?

passbook is an open-source Identity Provider focused on flexibility and versatility. You can use passbook in an existing environment to add support for new protocols. passbook is also a great solution for implementing signup/recovery/etc in your application, so you don't have to deal with it.

Installation

For small/test setups it is recommended to use docker-compose.

wget https://raw.githubusercontent.com/BeryJu/passbook/master/docker-compose.yml
# Optionally enable Error-reporting
# export PASSBOOK_ERROR_REPORTING=true
# Optionally deploy a different version
# export PASSBOOK_TAG=0.10.0-rc6
# If this is a productive installation, set a different PostgreSQL Password
# export PG_PASS=$(pwgen 40 1)
docker-compose pull
docker-compose up -d
docker-compose run --rm server migrate

For bigger setups, there is a Helm Chart in the helm/ directory. This is documented here

Screenshots

Development

To develop on passbook, you need a system with Python 3.7+ (3.8 is recommended). passbook uses pipenv for managing dependencies.

To get started, run

python3 -m pip install pipenv
git clone https://github.com/BeryJu/passbook.git
cd passbook
pipenv shell
pipenv sync -d

Since passbook uses PostgreSQL-specific fields, you also need a local PostgreSQL instance to develop. passbook also uses redis for caching and message queueing. For these databases you can use Postgres.app and Redis.app on macOS or use it the docker-compose file in scripts/docker-compose.yml.

To tell passbook about these databases, create a file in the project root called local.env.yml with the following contents:

debug: true
postgresql:
  user: postgres

log_level: debug

Security

See SECURITY.md