Using dcc.Interval trigger invocation of auth_function on set interval

Aperta
#153 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
30/100
Tipo di issue
Bug
Chiarezza
Da chiarire
Stato di attività
Ferma
Stack tecnologico
python

Direzione di ricerca

Riproduci il comportamento usando authorization_function e l’esempio private_user.py con BasicAuth e dcc.Interval. Traccia il percorso delle richieste dei callback dell’intervallo fino all’autenticazione, quindi stabilisci se sono previste chiamate di autenticazione ripetute e documenta o testa il comportamento risultante.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

I have a dcc.Interval defined in one of my pages and BasicAuth for authentication with an auth_func. After I login, the auth_func is invoked on each interval. Is this behavior expected? If it is, what can I check in the auth_func to skip my credentials checking (avoid db/api call) when it is called in the interval?

auth_func

def authorization_function(username, password):
    print("Calling Auth: {}".format(datetime.now()))
    if (username == "hello") and (password == "world"):
        return True
    else:
        return False

private_user.py

from dash import html, dcc, register_page, callback, Output, Input
from datetime import datetime

register_page(__name__, path_template="/user/<user_id>/public")


def layout(user_id: str):
    return [
        html.H1(f"User {user_id} (authenticated only)"),
        html.Div("Members-only information"),
        html.Div(id="interval-holder"),
        dcc.Interval(id="interval-component", interval=3000),
    ]


@callback(
    Output("interval-holder", "children"),
    Input("interval-component", "n_intervals"),
)
def interval_update(n_intervals):
    return "Now is {}".format(datetime.now())

Output

Calling Auth: 2024-08-04 18:00:29.635157
Calling Auth: 2024-08-04 18:00:32.630609
Calling Auth: 2024-08-04 18:00:35.635867
Calling Auth: 2024-08-04 18:00:38.634269

Lingua principale
Python
Stelle
135
Fork
67
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di plotly/dash-auth

Tutte le issue di plotly/dash-auth

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.