diff --git a/README.md b/README.md index 1d9dbe1..231ed20 100644 --- a/README.md +++ b/README.md @@ -163,10 +163,10 @@ fetch(`${Config.API_URL}/api`, { # Авторизация фронтенда -По умолчанию фронтенд использует существующую локальную форму входа. Keycloak включается только при точном значении `true` у production-флага: +Фронтенд использует ту же семантику `DEBUG`, что и бэкенд. В production-сборке (`REACT_APP_DEBUG=false`) включается Keycloak: ```dotenv -REACT_APP_IS_PRODUCTION=true +REACT_APP_DEBUG=false REACT_APP_KEYCLOAK_URL=https://keycloak.example.ru REACT_APP_REALM=example-realm REACT_APP_CLIENT_ID=example-client @@ -174,4 +174,4 @@ REACT_APP_NAMESPACE=example-namespace REACT_APP_APP_NAME=example-app ``` -При `REACT_APP_IS_PRODUCTION=false` или если переменная отсутствует, Keycloak не инициализируется и продолжает работать локальная форма входа. Production-авторизация подключается через `raisa-fastapi-protected-web`. +При `REACT_APP_DEBUG=true` Keycloak не инициализируется и продолжает работать локальная форма входа. Production-авторизация подключается через `raisa-fastapi-protected-web`. diff --git a/web/src/app/context/AuthProvider.jsx b/web/src/app/context/AuthProvider.jsx index b23b92c..dc2f9dd 100644 --- a/web/src/app/context/AuthProvider.jsx +++ b/web/src/app/context/AuthProvider.jsx @@ -170,7 +170,7 @@ const ProductionAuthProvider = ({ children }) => { }; export const AuthProvider = ({ children }) => { - if (Config.IS_PRODUCTION) { + if (!Config.DEBUG) { return {children}; } diff --git a/web/src/components/HeaderMenu/HeaderMenu.jsx b/web/src/components/HeaderMenu/HeaderMenu.jsx index 3075412..3fec21e 100644 --- a/web/src/components/HeaderMenu/HeaderMenu.jsx +++ b/web/src/components/HeaderMenu/HeaderMenu.jsx @@ -57,9 +57,9 @@ export function HeaderMenu() {
{user?.role}
- {/* на стенде прода не показываем кнопку выхода */} - {!Config.IS_PRODUCTION && } - {!Config.IS_PRODUCTION && isMenuOpen && ( + {/* В debug-режиме доступен выход из локальной учётной записи. */} + {Config.DEBUG && } + {Config.DEBUG && isMenuOpen && ( Выйти diff --git a/web/src/conf/config.ts b/web/src/conf/config.ts index e12d670..72596fa 100644 --- a/web/src/conf/config.ts +++ b/web/src/conf/config.ts @@ -13,7 +13,7 @@ if (environment.APP_ENV === 'test') { export class Config { static API_URL: string = env_var ?? environment.REACT_APP_API_URL ?? environment.REACT_APP_ROOT_PATH ?? ''; - static IS_PRODUCTION: boolean = isTrue(environment.REACT_APP_IS_PRODUCTION); + static DEBUG: boolean = isTrue(environment.REACT_APP_DEBUG); static KEYCLOAK_URL: string = environment.REACT_APP_KEYCLOAK_URL ?? ''; static REALM: string = environment.REACT_APP_REALM ?? ''; static CLIENT_ID: string = environment.REACT_APP_CLIENT_ID ?? ''; diff --git a/web/src/env.d.ts b/web/src/env.d.ts index 5cd9f50..7f219cc 100644 --- a/web/src/env.d.ts +++ b/web/src/env.d.ts @@ -2,7 +2,7 @@ declare namespace NodeJS { interface ProcessEnv { - readonly REACT_APP_IS_PRODUCTION?: string; + readonly REACT_APP_DEBUG?: string; readonly REACT_APP_KEYCLOAK_URL?: string; readonly REACT_APP_REALM?: string; readonly REACT_APP_CLIENT_ID?: string; diff --git a/web/src/index.jsx b/web/src/index.jsx index dc98c34..a2f86ff 100644 --- a/web/src/index.jsx +++ b/web/src/index.jsx @@ -37,7 +37,7 @@ const application = ( ); -const root = Config.IS_PRODUCTION ? ( +const root = !Config.DEBUG ? (