Skip to content

[PMT] - Streamlit Authenticator #82

@SamratSahoo

Description

@SamratSahoo

Overview

We want to add an authenticator to our streamlit dashboard to prevent public access (kinda). We will add the following module: https://github.com/mkhorasani/Streamlit-Authenticator

Acceptance Criteria

  • Briefly read through the README of https://github.com/mkhorasani/Streamlit-Authenticator
  • Add the streamlit authenticator dependency to the requirements.txt (do not pip freeze the requirements file, please)
  • Create a yaml config file for the streamlit authenticator
    • Make sure to set autohash to false - we are going to set the password as the hash directly instead of putting the password in plain text (as this would be a pretty bad idea, especially if we are committing it to GitHub)
    • When setting the credentials in the config file, ask samrat for the credentials to use for the email + password
  • Create a hashing script that we can run to get a hash of the password
    • The usage should look something like "python3 hash_password.py "
  • Add the streamlit authenticator to the streamlit app
  • Only once the user has successfully authenticated, make the API calls to get the list of projects (instead of immediately loading in projects like it is right now

Testing

  • Run docker compose -f docker-compose.yml up
  • Go to http://localhost:8501 to access the app
  • Login with the credentials
  • Check whether the API call to get the list of projects happens immediately or after you login (you want the latter to happen)

Notes

  • Ask samrat if you have any questions 🐱 <3

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions