added authentication #16
Generated
+17
-1
@@ -190,6 +190,22 @@ dev = ["PyYAML (>=5.4.1)", "coloredlogs (>=15.0.1)", "fire (>=0.4.0)"]
|
||||
diskcache = ["diskcache (>=5.2.1)", "multiprocess (>=0.70.12)", "psutil (>=5.8.0)"]
|
||||
testing = ["beautifulsoup4 (>=4.8.2)", "cryptography (<3.4)", "dash-testing-stub (>=0.0.2)", "lxml (>=4.6.2)", "multiprocess (>=0.70.12)", "percy (>=2.0.2)", "psutil (>=5.8.0)", "pytest (>=6.0.2)", "requests[security] (>=2.21.0)", "selenium (>=3.141.0,<=4.2.0)", "waitress (>=1.4.4)"]
|
||||
|
||||
[[package]]
|
||||
name = "dash-auth"
|
||||
version = "2.2.0"
|
||||
description = "Dash Authorization Package."
|
||||
optional = false
|
||||
python-versions = ">=3.8"
|
||||
files = [
|
||||
{file = "dash_auth-2.2.0-py3-none-any.whl", hash = "sha256:27453a31e5742d3b46273b0db199f9164ec47a396886aecb069f0d75fc169fe3"},
|
||||
{file = "dash_auth-2.2.0.tar.gz", hash = "sha256:2841586ca79459d6dfabc3ed1837a71a9731118852e99ef2c2078976c61e6fb5"},
|
||||
]
|
||||
|
||||
[package.dependencies]
|
||||
dash = ">=1.1.1"
|
||||
flask = "*"
|
||||
werkzeug = "*"
|
||||
|
||||
[[package]]
|
||||
name = "dash-bootstrap-components"
|
||||
version = "1.5.0"
|
||||
@@ -928,4 +944,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p
|
||||
[metadata]
|
||||
lock-version = "2.0"
|
||||
python-versions = "^3.12"
|
||||
content-hash = "9146cd32f0af25ddc99e5950dbf6ebc5a249f16238834b9a5db8d1b45fa9efb9"
|
||||
content-hash = "d4df77270fa7781e482a10c4671c5c22d23f4d461bbe007f98b929142078a653"
|
||||
|
||||
@@ -18,6 +18,7 @@ dash-mantine-components = "^0.12.1"
|
||||
pydantic = "^2.6.1"
|
||||
pillow = "^10.2.0"
|
||||
pymongo = "^4.6.1"
|
||||
dash-auth = "^2.2.0"
|
||||
|
||||
|
||||
[build-system]
|
||||
|
||||
@@ -15,6 +15,8 @@ necesasary_var_list = {
|
||||
"MONGO_COLLECTION",
|
||||
"MONGO_USER",
|
||||
"MONGO_PASSWORD",
|
||||
"DASH_AUTH_USERNAME",
|
||||
"DASH_AUTH_PASSWORD"
|
||||
}
|
||||
for env_var in necesasary_var_list:
|
||||
# ensure env var set
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
from dash import Dash, Input, Output, State, ALL
|
||||
import dash_bootstrap_components as dbc
|
||||
from dash_auth import BasicAuth
|
||||
import logging
|
||||
from typing import List
|
||||
from pydantic import ValidationError
|
||||
import os
|
||||
|
||||
from .layout import app_layout
|
||||
from src.database import (
|
||||
@@ -19,6 +21,12 @@ app.title = "visual critical discourse analysis".title()
|
||||
app.layout = app_layout
|
||||
server = app.server
|
||||
|
||||
# setup authentication
|
||||
AUTH_DICT = {
|
||||
os.getenv("DASH_AUTH_USERNAME"): os.getenv("DASH_AUTH_PASSWORD")
|
||||
}
|
||||
BasicAuth(app, AUTH_DICT)
|
||||
|
||||
# connect to database
|
||||
collection, db, client = connect()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user