Правик
This commit is contained in:
parent
488b574366
commit
2d31aa1f66
@ -27,6 +27,14 @@ app/
|
||||
- `OPENBAO__SETTINGS__LOCATION=local` -> локальный mock вход через форму.
|
||||
- `OPENBAO__SETTINGS__LOCATION=prod` (или пусто) -> вход через `raisa_streamlit_oauth`.
|
||||
|
||||
## Важно по raisa-streamlit-oauth
|
||||
|
||||
- Используется версия `raisa-streamlit-oauth==1.0.3`.
|
||||
- До старта приложения выполняется `load_dotenv()`.
|
||||
- Переменные `OPENBAO__SETTINGS__*` автоматически маппятся в обычные
|
||||
(`AUTHORIZE_URL`, `TOKEN_URL`, `APP_NAMESPACE` и т.д.), чтобы библиотека
|
||||
работала по каноничному шаблону из документации.
|
||||
|
||||
## Быстрый старт
|
||||
|
||||
```bash
|
||||
|
||||
@ -3,6 +3,21 @@ from __future__ import annotations
|
||||
import os
|
||||
|
||||
SETTINGS_PREFIX = "OPENBAO__SETTINGS__"
|
||||
RAISA_ENV_KEYS = (
|
||||
"AUTHORIZE_URL",
|
||||
"TOKEN_URL",
|
||||
"REFRESH_TOKEN_URL",
|
||||
"LOGOUT_URL",
|
||||
"JWKS_URL",
|
||||
"CLIENT_ID",
|
||||
"CLIENT_SECRET",
|
||||
"REDIRECT_URI",
|
||||
"SCOPE",
|
||||
"APP_ID",
|
||||
"APP_NAMESPACE",
|
||||
"APP_NAME",
|
||||
"LOCATION",
|
||||
)
|
||||
|
||||
|
||||
def get_setting(name: str) -> str:
|
||||
@ -15,3 +30,14 @@ def get_setting(name: str) -> str:
|
||||
def get_location() -> str:
|
||||
return get_setting("LOCATION").lower() or "prod"
|
||||
|
||||
|
||||
def apply_raisa_env_aliases() -> None:
|
||||
"""
|
||||
Заполняет обычные имена переменных из OPENBAO__SETTINGS__,
|
||||
чтобы raisa_streamlit_oauth работал одинаково в локальном и raisa runtime.
|
||||
"""
|
||||
for key in RAISA_ENV_KEYS:
|
||||
prefixed = os.getenv(f"{SETTINGS_PREFIX}{key}", "").strip()
|
||||
if prefixed and not os.getenv(key):
|
||||
os.environ[key] = prefixed
|
||||
|
||||
|
||||
5
main.py
5
main.py
@ -1,10 +1,15 @@
|
||||
import streamlit as st
|
||||
from dotenv import load_dotenv
|
||||
|
||||
from app.auth.service import AuthService, clear_session
|
||||
from app.config import apply_raisa_env_aliases
|
||||
from app.ui import render_env_check, render_profile
|
||||
|
||||
|
||||
def main() -> None:
|
||||
load_dotenv()
|
||||
apply_raisa_env_aliases()
|
||||
|
||||
st.set_page_config(page_title="SFM Streamlit", page_icon=":lock:", layout="wide")
|
||||
st.title("SFM Streamlit: Keycloak-only auth")
|
||||
render_env_check()
|
||||
|
||||
@ -1,2 +1,4 @@
|
||||
streamlit==1.46.1
|
||||
raisa-streamlit-oauth==1.0.3
|
||||
python-dotenv==1.0.1
|
||||
ruff==0.5.2
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user