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.
Find a file
Jens Langhammer 8dd05d5431 Squashed commit of the following:
commit 270739a45a
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Thu May 28 21:50:43 2020 +0200

    admin: fix policy testing form not showing the correct result

commit df8995deed
Author: Jens L <jens@beryju.org>
Date:   Thu May 28 21:45:54 2020 +0200

    policies/*: remove Policy.negate, order, timeout (#39)

    policies: rewrite engine to use PolicyBinding for order/negate/timeout
    policies: rewrite engine to use PolicyResult instead of tuple

commit fdfc6472d2
Author: Jens Langhammer <jens.langhammer@beryju.org>
Date:   Thu May 28 10:36:10 2020 +0200

    admin: fixup some urls

commit bc495828e7
Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Date:   Thu May 28 09:39:28 2020 +0200

    build(deps): bump django-redis from 4.11.0 to 4.12.1 (#38)

    Bumps [django-redis](https://github.com/jazzband/django-redis) from 4.11.0 to 4.12.1.
    - [Release notes](https://github.com/jazzband/django-redis/releases)
    - [Changelog](https://github.com/jazzband/django-redis/blob/master/CHANGES.rst)
    - [Commits](https://github.com/jazzband/django-redis/compare/4.11.0...4.12.1)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>

commit fa138a273f
Author: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
Date:   Thu May 28 08:59:19 2020 +0200

    build(deps): bump boto3 from 1.13.17 to 1.13.18 (#37)

    Bumps [boto3](https://github.com/boto/boto3) from 1.13.17 to 1.13.18.
    - [Release notes](https://github.com/boto/boto3/releases)
    - [Changelog](https://github.com/boto/boto3/blob/develop/CHANGELOG.rst)
    - [Commits](https://github.com/boto/boto3/compare/1.13.17...1.13.18)

    Signed-off-by: dependabot-preview[bot] <support@dependabot.com>

    Co-authored-by: dependabot-preview[bot] <27856297+dependabot-preview[bot]@users.noreply.github.com>
2020-05-28 21:56:18 +02:00
.github ci: add cleanup to CI to remove old tags 2020-05-27 17:33:27 +02:00
docker docker: fix import order on wait_for_db 2020-05-16 22:56:14 +02:00
docs root: update readme 2020-05-27 17:26:35 +02:00
gatekeeper providers/appgw(major): rewrite to use oauth2_proxy 2019-11-11 18:13:46 +01:00
helm helm: fully remove domain, add log_level 2020-05-20 12:16:56 +02:00
passbook Squashed commit of the following: 2020-05-28 21:56:18 +02:00
scripts admin: add generic tests 2020-05-19 20:59:43 +02:00
.bumpversion.cfg new release: 0.8.15-beta 2020-04-10 21:57:20 +02:00
.coveragerc policy(minor): add unittests for policy engine 2019-10-14 16:08:24 +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
.fossa.yml root: add fossa 2020-05-08 21:08:36 +02:00
.gitignore root(minor): add script to run coverage 2019-12-02 16:43:50 +01: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 root: fix pylint not correctly ignoring migrations 2020-05-27 11:15:10 +02:00
docker-compose.yml root: update readme 2020-05-27 17:26:35 +02:00
Dockerfile root: rewrite bootstrap in python, remove management command 2020-05-16 22:46:17 +02:00
LICENSE repo cleanup, switch to new docker registry 2019-04-29 17:05:39 +02:00
manage.py admin: add flows 2020-05-08 18:45:53 +02:00
mkdocs.yml docs: add upgrade page 2020-05-16 23:46:25 +02:00
Pipfile root: remove prospector from Pipfile as it causes lock issues, install in CI 2020-02-17 17:48:18 +01:00
Pipfile.lock Squashed commit of the following: 2020-05-28 21:56:18 +02:00
pyrightconfig.json stages/password: fix possibility of password in logs 2020-05-09 20:53:32 +02:00
README.md root: update readme 2020-05-27 17:57:43 +02:00
SECURITY.md root: update readme 2020-05-27 17:26:35 +02:00
setup.cfg core: cleanup 2018-12-09 21:07:38 +01:00
static.Dockerfile providers/oidc: fix skip_authorization not being synced to oidc_client 2020-03-02 17:40:38 +01:00
swagger.yaml Squashed commit of the following: 2020-05-28 21:56:18 +02:00

passbook

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.8.15-beta
# 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 exec server ./manage.py 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 via docker-comppose:

version: '3.7'

services:
  postgresql:
    container_name: postgres
    image: postgres:11
    volumes:
    - db-data:/var/lib/postgresql/data
    ports:
    - 127.0.0.1:5432:5432
    restart: always
  redis:
    container_name: redis
    image: redis
    ports:
    - 127.0.0.1:6379:6379
    restart: always

volumes:
  db-data:
    driver: local

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

Security

See SECURITY.md