anderson89marques / dash_multipage_auth_example

This is a example of how to use dash_auth_scan lib

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Como usar a biblioteca dash_auth_scan através desse exemplo

  • Clone o repositório do projeto
$ git clone https://github.com/anderson89marques/dash_multipage_auth_example.git
$ cd dash_multipage_auth_example
  • Crie seu ambiente virtual python e o ative.
# exemplo usando python 3 instalado com pyenv
$ python -m venv .venv
$ source .venv/bin/activate
  • Clone o repositório da biblioteca dash_auth_scan
$ git clone https://github.com/anderson89marques/dash_auth_scan.git
$ cd dash_auth_scan
$ pip install requirements.txt
$ flit install
$ cd ..
  • Abra index.py e coloque sua client_id e sua client_secret do google para consegui logar no google

  • Execute a aplicação.

# Os exports são necessário para que execute o login do google sem uso de https(Somente em ambiente de desenvolvimento). 
$ export OAUTHLIB_RELAX_TOKEN_SCOPE=1
$ export OAUTHLIB_INSECURE_TRANSPORT=1
$ python index.py

Convenção sobre Configuração, como a biblioteca funciona com módulos.

Para usar a dash_auth_lib é preciso seguir umas convenções para conseguir criar as rotas automaticamente. As páginas dash devem está dentro do diretório chamado apps/

- app.py
- index.py
- apps
   |-- app1.py
   |-- app2.py
   |-- index.py

No exemplo acima é necessário que os módulos app1.py, app2.py, index.py tenham uma variável chamada layout para que as rotas sejam criadas. Essa variável precisa ser código dash válido. Abaixo exemplo do módulo app1.py.

import dash_html_components as html

layout = html.Div([
    html.Label("Página 1")
])

As rotas criadas são: ['/', '/app1', '/app2'], pois o módulo index.py é mapeado para '/', fora isso os nomes dos módulos serão a path da rota.

Convenção sobre configuração, como a biblioteca funciona com pacotes.

- app.py
- index.py
- apps
   |-- app1.py
   |-- app2.py
   |-- index.py
   |-- home
       |-- __init__.py 
       |-- account.py

No exemplo acima foi adicionado o pacote home que será o nome da path da url caso dentro do __init__.py tenha a variável layout, assim a rota criada será /home. Dentro do pacote home foi adicionado o módulo account que segue a convenção do exemplo anterior, a única diferença é que a path criada será /home/account.

No código tem mais níveis que o mostrado aqui no README mostrando que a biblioteca consegue acessar vários níveis desde que sejam seguidas as convenções.

About

This is a example of how to use dash_auth_scan lib


Languages

Language:Python 100.0%