fix
This commit is contained in:
parent
2d31aa1f66
commit
1657fdf67d
@ -1,43 +0,0 @@
|
|||||||
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:
|
|
||||||
prefixed = os.getenv(f"{SETTINGS_PREFIX}{name}", "").strip()
|
|
||||||
if prefixed:
|
|
||||||
return prefixed
|
|
||||||
return os.getenv(name, "").strip()
|
|
||||||
|
|
||||||
|
|
||||||
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
|
|
||||||
|
|
||||||
11
app/ui.py
11
app/ui.py
@ -2,17 +2,6 @@ from __future__ import annotations
|
|||||||
|
|
||||||
import streamlit as st
|
import streamlit as st
|
||||||
|
|
||||||
from app.config import SETTINGS_PREFIX, get_location
|
|
||||||
|
|
||||||
|
|
||||||
def render_env_check() -> None:
|
|
||||||
with st.expander("Проверка env окружения"):
|
|
||||||
st.write(f"Текущий режим: `{get_location()}`")
|
|
||||||
st.code(
|
|
||||||
f"{SETTINGS_PREFIX}LOCATION=local # для локального mock-режима",
|
|
||||||
language="text",
|
|
||||||
)
|
|
||||||
|
|
||||||
|
|
||||||
def render_profile(profile: dict) -> None:
|
def render_profile(profile: dict) -> None:
|
||||||
st.success("Аутентификация через Keycloak Raisa выполнена.")
|
st.success("Аутентификация через Keycloak Raisa выполнена.")
|
||||||
|
|||||||
2
main.py
2
main.py
@ -2,13 +2,11 @@ import streamlit as st
|
|||||||
from dotenv import load_dotenv
|
from dotenv import load_dotenv
|
||||||
|
|
||||||
from app.auth.service import AuthService, clear_session
|
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
|
from app.ui import render_env_check, render_profile
|
||||||
|
|
||||||
|
|
||||||
def main() -> None:
|
def main() -> None:
|
||||||
load_dotenv()
|
load_dotenv()
|
||||||
apply_raisa_env_aliases()
|
|
||||||
|
|
||||||
st.set_page_config(page_title="SFM Streamlit", page_icon=":lock:", layout="wide")
|
st.set_page_config(page_title="SFM Streamlit", page_icon=":lock:", layout="wide")
|
||||||
st.title("SFM Streamlit: Keycloak-only auth")
|
st.title("SFM Streamlit: Keycloak-only auth")
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user