2020-11-22 20:50:30 +01:00
2020-11-16 00:21:56 +01:00
2020-11-22 20:50:30 +01:00
2020-11-16 00:21:56 +01:00
2020-11-15 16:15:01 +01:00
2020-11-16 00:21:56 +01:00
2020-11-21 18:34:45 +01:00
2020-11-15 16:15:01 +01:00
2020-11-16 00:21:56 +01:00
2020-11-15 16:15:01 +01:00
2020-09-03 00:04:12 +02:00
2020-10-19 11:12:57 +02:00
2020-08-19 10:32:44 +02:00
2020-11-22 19:36:40 +01:00

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, see the documentation

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.8+ (3.9 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

Languages
Python 51.7%
TypeScript 36.4%
MDX 5.1%
Go 3.7%
JavaScript 1.6%
Other 1.4%