Skip to content

ComputerScienceHouse/self-service

Repository files navigation

CSH Self Service Account Management

Python 3.6 Code style: black

Features

  • Account Recovery
    • Based on information stored about the user, allow them to reset a potentially forgotten password.
    • Administrators can also manually generate these reset tokens, allowing for manual identity verification.
  • Two Factor Management
    • Allow users to generate and verify a two factor secret which will then be created in both Keycloak and FreeIPA.
    • Also provides the ability to disable two-factor, removing the secret from both locations.
  • Password Changing
    • Provide a central web interface for changing known passwords.

Recovery Techniques

  • SMS Number
    • Uses Twilio to send temporary verification pin. Once verified the user is redirected to the reset page.
  • External Email
    • Emails a direct link to the reset page.

Development Environment

  1. Bring up dependencies:

    1. docker-compose up -d
  2. Copy configuration template and set necessary secrets:

    1. cp ./config.env.py ./config.py
  3. Run migrations:

    1. flask db migrate
  4. Run the application:

    1. FLASK_ENV=development python ./wsgi.py