authnzerver.authdb module

This contains SQLAlchemy models for the authnzerver.

authnzerver.authdb.create_authdb(authdb_url: str, database_metadata: sqlalchemy.sql.schema.MetaData = MetaData(), echo: bool = False, returnconn: bool = False) → Optional[Tuple[sqlalchemy.engine.base.Engine, sqlalchemy.sql.schema.MetaData]][source]

This creates an authentication database for an arbitrary SQLAlchemy DB URL.

authnzerver.authdb.create_sqlite_authdb(auth_db_path: str, database_metadata: sqlalchemy.sql.schema.MetaData = MetaData(), echo: bool = False, returnconn: bool = False) → Optional[Tuple[sqlalchemy.engine.base.Engine, sqlalchemy.sql.schema.MetaData]][source]

This creates the local SQLite auth DB.

authnzerver.authdb.get_auth_db(authdb_path: str, database_metadata: sqlalchemy.sql.schema.MetaData = MetaData(), echo: bool = False, returnconn: bool = True) → Union[Tuple[sqlalchemy.engine.base.Engine, sqlalchemy.engine.base.Connection, sqlalchemy.sql.schema.MetaData], Tuple[sqlalchemy.engine.base.Engine, sqlalchemy.sql.schema.MetaData]][source]

This just gets a connection to the auth DB.

authnzerver.authdb.initial_authdb_inserts(auth_db_path: str, permissions_json: str = None, database_metadata: sqlalchemy.sql.schema.MetaData = MetaData(), superuser_email: str = None, superuser_pass: str = None, echo: bool = False)[source]

This does initial set up of the auth DB.

  • adds an anonymous user
  • adds a superuser with: - userid = UNIX userid - password = random 16 bytes)
  • sets up the initial permissions table

Returns the superuser userid and password.