Compare commits

..

5 Commits

Author SHA1 Message Date
Stavros
e4f4c25ece refactor: remove the need of the logger in the create oidc client cmd 2026-02-26 17:11:24 +02:00
Stavros
3531adfbb5 refactor: limit to only alphanumeric characters and hyphens 2026-02-26 16:55:01 +02:00
Stavros
6fe1743238 feat: validate client name to avoid config errors 2026-02-26 16:49:23 +02:00
Stavros
24d50366e9 refactor: use own utility for creating random strings (more flexible
than stdlib)
2026-02-26 16:45:48 +02:00
Stavros
79dc8edb9d feat: add oidc client create command 2026-02-26 16:43:58 +02:00
5 changed files with 36 additions and 36 deletions

View File

@@ -1,5 +1,5 @@
# Site builder # Site builder
FROM oven/bun:1.3.10-alpine AS frontend-builder FROM oven/bun:1.3.9-alpine AS frontend-builder
WORKDIR /frontend WORKDIR /frontend

View File

@@ -1,5 +1,5 @@
# Site builder # Site builder
FROM oven/bun:1.3.10-alpine AS frontend-builder FROM oven/bun:1.3.9-alpine AS frontend-builder
WORKDIR /frontend WORKDIR /frontend

View File

@@ -36,7 +36,7 @@
"devDependencies": { "devDependencies": {
"@eslint/js": "^10.0.1", "@eslint/js": "^10.0.1",
"@tanstack/eslint-plugin-query": "^5.91.4", "@tanstack/eslint-plugin-query": "^5.91.4",
"@types/node": "^25.3.1", "@types/node": "^25.3.0",
"@types/react": "^19.2.14", "@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3", "@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.1.4", "@vitejs/plugin-react": "^5.1.4",
@@ -360,7 +360,7 @@
"@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="], "@types/ms": ["@types/ms@2.1.0", "", {}, "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA=="],
"@types/node": ["@types/node@25.3.1", "", { "dependencies": { "undici-types": "~7.18.0" } }, "sha512-hj9YIJimBCipHVfHKRMnvmHg+wfhKc0o4mTtXh9pKBjC8TLJzz0nzGmLi5UJsYAUgSvXFHgb0V2oY10DUFtImw=="], "@types/node": ["@types/node@25.3.0", "", { "dependencies": { "undici-types": "~7.18.0" } }, "sha512-4K3bqJpXpqfg2XKGK9bpDTc6xO/xoUP/RBWS7AtRMug6zZFaRekiLzjVtAoZMquxoAbzBvy5nxQ7veS5eYzf8A=="],
"@types/react": ["@types/react@19.2.14", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w=="], "@types/react": ["@types/react@19.2.14", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w=="],

View File

@@ -42,7 +42,7 @@
"devDependencies": { "devDependencies": {
"@eslint/js": "^10.0.1", "@eslint/js": "^10.0.1",
"@tanstack/eslint-plugin-query": "^5.91.4", "@tanstack/eslint-plugin-query": "^5.91.4",
"@types/node": "^25.3.1", "@types/node": "^25.3.0",
"@types/react": "^19.2.14", "@types/react": "^19.2.14",
"@types/react-dom": "^19.2.3", "@types/react-dom": "^19.2.3",
"@vitejs/plugin-react": "^5.1.4", "@vitejs/plugin-react": "^5.1.4",

View File

@@ -14,17 +14,17 @@
"loginOauthFailSubtitle": "Неуспело преузимање OAuth адресе", "loginOauthFailSubtitle": "Неуспело преузимање OAuth адресе",
"loginOauthSuccessTitle": "Преусмеравање", "loginOauthSuccessTitle": "Преусмеравање",
"loginOauthSuccessSubtitle": "Преусмеравање на вашег OAuth провајдера", "loginOauthSuccessSubtitle": "Преусмеравање на вашег OAuth провајдера",
"loginOauthAutoRedirectTitle": "OAuth аутоматско преусмерење", "loginOauthAutoRedirectTitle": "OAuth Auto Redirect",
"loginOauthAutoRedirectSubtitle": "Бићете аутоматски преусмерени на вашег OAuth провајдера за аутентификацију.", "loginOauthAutoRedirectSubtitle": "You will be automatically redirected to your OAuth provider to authenticate.",
"loginOauthAutoRedirectButton": "Преусмери сада", "loginOauthAutoRedirectButton": "Redirect now",
"continueTitle": "Настави", "continueTitle": "Настави",
"continueRedirectingTitle": "Преусмеравање...", "continueRedirectingTitle": "Преусмеравање...",
"continueRedirectingSubtitle": "Требали би сте ускоро да будете преусмерени на апликацију", "continueRedirectingSubtitle": "Требали би сте ускоро да будете преусмерени на апликацију",
"continueRedirectManually": "Преусмери ме ручно", "continueRedirectManually": "Redirect me manually",
"continueInsecureRedirectTitle": "Небезбедно преусмеравање", "continueInsecureRedirectTitle": "Небезбедно преусмеравање",
"continueInsecureRedirectSubtitle": "Покушавате да преусмерите са <code>https</code> на <code>http</code> што није безбедно. Да ли желите да наставите?", "continueInsecureRedirectSubtitle": "Покушавате да преусмерите са <code>https</code> на <code>http</code> што није безбедно. Да ли желите да наставите?",
"continueUntrustedRedirectTitle": "Неповерљиво преусмерење", "continueUntrustedRedirectTitle": "Untrusted redirect",
"continueUntrustedRedirectSubtitle": "Покушавате да преусмерите на домен који се не поклапа са вашим подешеним доменом (<code>{{cookieDomain}}</code>). Да ли заиста желите да наставите?", "continueUntrustedRedirectSubtitle": "You are trying to redirect to a domain that does not match your configured domain (<code>{{cookieDomain}}</code>). Are you sure you want to continue?",
"logoutFailTitle": "Неуспешно одјављивање", "logoutFailTitle": "Неуспешно одјављивање",
"logoutFailSubtitle": "Молим вас покушајте поново", "logoutFailSubtitle": "Молим вас покушајте поново",
"logoutSuccessTitle": "Одјављени", "logoutSuccessTitle": "Одјављени",
@@ -51,31 +51,31 @@
"forgotPasswordTitle": "Заборавили сте лозинку?", "forgotPasswordTitle": "Заборавили сте лозинку?",
"failedToFetchProvidersTitle": "Није успело учитавање провајдера аутентификације. Молим вас проверите ваша подешавања.", "failedToFetchProvidersTitle": "Није успело учитавање провајдера аутентификације. Молим вас проверите ваша подешавања.",
"errorTitle": "Појавила се грешка", "errorTitle": "Појавила се грешка",
"errorSubtitleInfo": "Појавила се следећа грешка током обраде вашег захтева:", "errorSubtitleInfo": "The following error occurred while processing your request:",
"errorSubtitle": "Појавила се грешка при покушају извршавања ове радње. Молим вас проверите конзолу за додатне информације.", "errorSubtitle": "Појавила се грешка при покушају извршавања ове радње. Молим вас проверите конзолу за додатне информације.",
"forgotPasswordMessage": "Можете поништити вашу лозинку променом `USERS` променљиве окружења.", "forgotPasswordMessage": "Можете поништити вашу лозинку променом `USERS` променљиве окружења.",
"fieldRequired": "Ово поље је неопходно", "fieldRequired": "This field is required",
"invalidInput": "Неисправан унос", "invalidInput": "Invalid input",
"domainWarningTitle": "Неисправан домен", "domainWarningTitle": "Invalid Domain",
"domainWarningSubtitle": "Ова инстанца је подешена да јој се приступа са <code>{{appUrl}}</code>, али се користи <code>{{currentUrl}}</code>. Ако наставите, можете искусити проблеме са аутентификацијом.", "domainWarningSubtitle": "This instance is configured to be accessed from <code>{{appUrl}}</code>, but <code>{{currentUrl}}</code> is being used. If you proceed, you may encounter issues with authentication.",
"ignoreTitle": "Игнориши", "ignoreTitle": "Ignore",
"goToCorrectDomainTitle": "Иди на исправан домен", "goToCorrectDomainTitle": "Go to correct domain",
"authorizeTitle": "Ауторизуј", "authorizeTitle": "Authorize",
"authorizeCardTitle": "Наставити на {{app}}?", "authorizeCardTitle": "Continue to {{app}}?",
"authorizeSubtitle": "Да ли желите да наставите на ову апликацију? Пажљиво проверите дозволе које вам тражи апликација.", "authorizeSubtitle": "Would you like to continue to this app? Please carefully review the permissions requested by the app.",
"authorizeSubtitleOAuth": "Да ли желите да наставите на ову апликацију?", "authorizeSubtitleOAuth": "Would you like to continue to this app?",
"authorizeLoadingTitle": "Учитавање...", "authorizeLoadingTitle": "Loading...",
"authorizeLoadingSubtitle": "Молим вас сачекајте док ми учитамо информације о клијенту.", "authorizeLoadingSubtitle": "Please wait while we load the client information.",
"authorizeSuccessTitle": "Ауторизован", "authorizeSuccessTitle": "Authorized",
"authorizeSuccessSubtitle": "Бићете преусмерени на апликацију за неколико секунди.", "authorizeSuccessSubtitle": "You will be redirected to the app in a few seconds.",
"authorizeErrorClientInfo": "Појавила се грешка током учитавања информација о клијенту. Молим вас покушајте поново касније.", "authorizeErrorClientInfo": "An error occurred while loading the client information. Please try again later.",
"authorizeErrorMissingParams": "Следећи параметри недостају: {{missingParams}}", "authorizeErrorMissingParams": "The following parameters are missing: {{missingParams}}",
"openidScopeName": "OpenID повезивање", "openidScopeName": "OpenID Connect",
"openidScopeDescription": "Омогућава апликацији да приступа информацији о вашој OpenID вези.", "openidScopeDescription": "Allows the app to access your OpenID Connect information.",
"emailScopeName": "Е-пошта", "emailScopeName": "Email",
"emailScopeDescription": "Омогућава апликацији да приступа вашој адреси е-поште.", "emailScopeDescription": "Allows the app to access your email address.",
"profileScopeName": "Профил", "profileScopeName": "Profile",
"profileScopeDescription": "Омогућава апликацији да приступа информацијама о вашем профилу.", "profileScopeDescription": "Allows the app to access your profile information.",
"groupsScopeName": "Групе", "groupsScopeName": "Groups",
"groupsScopeDescription": "Омогућава апликацији да приступа информацијама о вашој групи." "groupsScopeDescription": "Allows the app to access your group information."
} }