diff --git a/frontend/src/api/types/enc_keys.ts b/frontend/src/api/types/enc_keys.ts new file mode 100644 index 000000000..ecf8b7911 --- /dev/null +++ b/frontend/src/api/types/enc_keys.ts @@ -0,0 +1,9 @@ +export interface EncKeyMigrateRequest { + /// Validation: PATTERN_ALNUM + key_id: string, +} + +export interface EncKeysResponse { + active: string, + keys: string[], +} \ No newline at end of file diff --git a/frontend/src/api/types/login_times.ts b/frontend/src/api/types/login_times.ts new file mode 100644 index 000000000..de4761813 --- /dev/null +++ b/frontend/src/api/types/login_times.ts @@ -0,0 +1,11 @@ +export interface Argon2ParamsResponse { + m_cost: number, + t_cost: number, + p_cost: number, +} + +export interface LoginTimeResponse { + argon2_params: Argon2ParamsResponse, + login_time: number, + num_cpus: number, +} \ No newline at end of file diff --git a/frontend/src/api/types/oidc.ts b/frontend/src/api/types/oidc.ts new file mode 100644 index 000000000..03356b727 --- /dev/null +++ b/frontend/src/api/types/oidc.ts @@ -0,0 +1,20 @@ +export type JwkKeyPairAlg = 'RS256' | 'RS384' | 'RS512' | 'EdDSA'; +export type JwkKeyPairType = 'RSA' | 'OKP'; + +export interface JWKSPublicKeyCerts { + kty: JwkKeyPairType, + alg: JwkKeyPairAlg, + // Ed25519 + crv?: string, + kid?: string, + // RSA + n?: string, + // RSA + e?: string, + // OCT + x?: string, +} + +export interface JWKSCerts { + keys: JWKSPublicKeyCerts[], +} \ No newline at end of file diff --git a/frontend/src/api/types/password_hashing.ts b/frontend/src/api/types/password_hashing.ts new file mode 100644 index 000000000..6c2ea9dcb --- /dev/null +++ b/frontend/src/api/types/password_hashing.ts @@ -0,0 +1,20 @@ +export interface PasswordHashTimesRequest { + /// Validation: min 500 + target_time: number, + /// Validation: min 32768 + m_cost?: number, + /// Validation: min 2 + p_cost?: number, +} + +export interface PasswordHashTime { + alg: string, + m_cost: number, + t_cost: number, + p_cost: number, + time_taken: number, +} + +export interface PasswordHashTimes { + results: PasswordHashTime[], +} \ No newline at end of file diff --git a/frontend/src/api/types/password_policy.ts b/frontend/src/api/types/password_policy.ts index 25c479dfa..917fffff5 100644 --- a/frontend/src/api/types/password_policy.ts +++ b/frontend/src/api/types/password_policy.ts @@ -1,3 +1,22 @@ +export interface PasswordPolicyRequest { + /// Validation: `8 <= length_min <= 128` + length_min: number, + /// Validation: `8 <= length_max <= 128` + length_max: number, + /// Validation: `1 <= include_lower_case <= 32` + include_lower_case?: number, + /// Validation: `1 <= include_upper_case <= 32` + include_upper_case?: number, + /// Validation: `1 <= include_digits <= 32` + include_digits?: number, + /// Validation: `1 <= include_special <= 32` + include_special?: number, + /// Validation: `1 <= valid_days <= 3650` + valid_days?: number, + /// Validation: `1 <= not_recently_used <= 10` + not_recently_used?: number, +} + export interface PasswordPolicyResponse { length_min: number, length_max: number, diff --git a/frontend/src/components/admin/AdminMain.svelte b/frontend/src/components/admin/AdminMain.svelte index 59bd1199d..86da01b83 100644 --- a/frontend/src/components/admin/AdminMain.svelte +++ b/frontend/src/components/admin/AdminMain.svelte @@ -11,7 +11,7 @@ import Clients from "./clients/Clients.svelte"; import Sessions from "./sessions/Sessions.svelte"; import Attr from "./userAttr/Attr.svelte"; - import Config from "./config/Config.svelte"; + import Config from "$lib5/admin/config/Config.svelte"; import IconWrenchScrew from "$lib/icons/IconWrenchScrew.svelte"; import IconUser from "$lib/icons/IconUser.svelte"; import IconOffice from "$lib/icons/IconOffice.svelte"; @@ -21,7 +21,7 @@ import IconLogout from "$lib/icons/IconLogout.svelte"; import IconId from "$lib/icons/IconId.svelte"; import RauthyLogo from "$lib/icons/RauthyLogo.svelte"; - import Documentation from "./documentation/Documentation.svelte"; + import Documentation from "$lib5/admin/documentation/Documentation.svelte"; import IconBookOpen from "$lib/icons/IconBookOpen.svelte"; import {onMount} from "svelte"; import Events from "$lib5/admin/events/Events.svelte"; diff --git a/frontend/src/components/admin/config/Config.svelte b/frontend/src/components/admin/config/Config.svelte deleted file mode 100644 index 520db73b4..000000000 --- a/frontend/src/components/admin/config/Config.svelte +++ /dev/null @@ -1,42 +0,0 @@ - - -
-
- - - {#if selected === 'Password Policy'} - - {:else if selected === 'JWKS'} - - {:else if selected === 'Argon2 Parameter'} - - {:else if selected === 'Encryption Keys'} - - {/if} -
-
- - diff --git a/frontend/src/components/admin/config/argon2/Argon2Params.svelte b/frontend/src/components/admin/config/argon2/Argon2Params.svelte deleted file mode 100644 index fbbd90dea..000000000 --- a/frontend/src/components/admin/config/argon2/Argon2Params.svelte +++ /dev/null @@ -1,194 +0,0 @@ - - -
-

Argon2ID - Password Hashing

-

- This utility helps you find the best argon2id settings for your platform.
- Argon2id is currently the safest available password hashing algorithm. To use it to its fullest potential, it - has - to be tuned for each deployment. -

-

- Important:These values need to be tuned on the final architecture!
- They change depending on the capabilities of the system. The more powerful the system, the more safe these - values - can be. -

-

- If you want a detailed introduction to argon2id, many sources exist online. This guide will just give very short - overview about the values.
- Three of them need to be configured: -

- - -
-

A word about Login Time

-

- Generally, users want everything as fast as possible. When doing a safe login though, a time between 500 - 1000 - ms - should not be a problem.
- The login time must not be too short, since it would lower the strength of the hash, of course. -

-

- To provide as much safety by default as possible, this utility does not allow you to go below 500 ms for the - login - time. -

-
- -

Current values

-

- The current values from the backend are the following: -

-
-
-
- m_cost: -
- {currParams?.m_cost} -
- -
-
- p_cost: -
- {currParams?.p_cost} -
- -
-
- t_cost: -
- {currParams?.t_cost} -
- -
-
-
- Login Time: -
- {loginTime} ms -
- -

- Note: The Login Time from the backend does only provide a good guideline after at least 5 successful - logins, after - rauthy has been started.
- The base value is always 2000 ms after a fresh restart and will adjust over time with each successful login. -

- - Threads (p_cost) rauthy has access to: {numCpus}
-
-
- -

Parameter Calculation Utility

-

- You can use this tool to approximate good values for your deployment.
- Keep in mind, that this should be executed with rauthy in its final place with all final resources - available.

- You should execute this utility during load to not over tune.

- m_cost is optional and the safe minimal value of 32768 would be chosen, if empty.
- p_cost is optional and rauthy will utilize all threads it can see, if empty.
-

- - - -
-
- - diff --git a/frontend/src/components/admin/config/argon2/Argon2Results.svelte b/frontend/src/components/admin/config/argon2/Argon2Results.svelte deleted file mode 100644 index eb6c559da..000000000 --- a/frontend/src/components/admin/config/argon2/Argon2Results.svelte +++ /dev/null @@ -1,72 +0,0 @@ - - -
-
-
- Time Taken (ms) -
- -
- t_cost -
- -
- m_cost -
- -
- p_cost -
-
- - {#each res as r} -
-
- {r.time_taken} -
- -
- {r.t_cost} -
- -
- {r.m_cost} -
- -
- {r.p_cost} -
-
- {/each} - -
-
- - diff --git a/frontend/src/components/admin/config/argon2/Argon2Utility.svelte b/frontend/src/components/admin/config/argon2/Argon2Utility.svelte deleted file mode 100644 index f5a5d864c..000000000 --- a/frontend/src/components/admin/config/argon2/Argon2Utility.svelte +++ /dev/null @@ -1,154 +0,0 @@ - - - - -
-
- - TARGET TIME (ms) - - - - M_COST (kB) - - - - P_COST - - - -
- - {#if success} -
- -
- {/if} -
- - diff --git a/frontend/src/components/admin/config/encKeys/EncKeys.svelte b/frontend/src/components/admin/config/encKeys/EncKeys.svelte deleted file mode 100644 index e4cf0b588..000000000 --- a/frontend/src/components/admin/config/encKeys/EncKeys.svelte +++ /dev/null @@ -1,162 +0,0 @@ - - -
-
-

Secrets Encryption Keys

- -

- These Keys are used for an additional encryption at rest, independently from any data store technology used - under - the hood. They are configured statically, but can be rotated and migrated on this page manually to maybe get - rid - of an old key, which is currently still in use in some places. -

- -

- The active key is statically set in the Rauthy config file / environment variables. It cannot be changed - here - dynamically.
- All new JWK encryption's will always use the currently active key. -

- -
-
- Active Key: -
- -
- {activeKey} -
-
- -
-
- Available Keys: -
- -
    - {#each keys as key} -
  • - {key} -
  • - {/each} -
-
- -
-

- If you migrate all existing secrets, it might take a few seconds to finish, if you have a big - dataset.
- Manually migrate all existing encryption in the backend to key: -

- - -
-
- -
- -
- - {#if err} -
- {err} -
- {/if} - - {#if success} -
- Success -
- {/if} -
- - diff --git a/frontend/src/components/admin/config/jwks/JWK.svelte b/frontend/src/components/admin/config/jwks/JWK.svelte deleted file mode 100644 index b52152fc3..000000000 --- a/frontend/src/components/admin/config/jwks/JWK.svelte +++ /dev/null @@ -1,100 +0,0 @@ - - -
isHover = true} - onmouseleave={() => isHover = false} -> -
- {jwk.kid} -
- -
- {renderType()} -
- - {#if isHover} -
-
- -
-
- {/if} -
- - diff --git a/frontend/src/components/admin/config/jwks/JWKs.svelte b/frontend/src/components/admin/config/jwks/JWKs.svelte deleted file mode 100644 index 041c7cc8e..000000000 --- a/frontend/src/components/admin/config/jwks/JWKs.svelte +++ /dev/null @@ -1,115 +0,0 @@ - - -
-
-

Json Web Keys

-

- These are the Json Web Keys (JWKs) used for token singing. -

- -

- You can rotate them and generate a full new set. Depending on your deployment, this could take a few - seconds.
- New tokens will always be signed with the new / latest ones. The old keys will be cleaned up automatically, - when - there cannot be a token anymore that used the old key to not - break any current token validation. -

-
- - {#each certs as jwk, i (jwk.kid)} - - {/each} - - - - - {#if success} -
- Success -
- {/if} - - {#if err} -
- {err} -
- {/if} -
- - diff --git a/frontend/src/components/admin/config/password_policy/PasswordPolicy.svelte b/frontend/src/components/admin/config/password_policy/PasswordPolicy.svelte deleted file mode 100644 index 3b2870c76..000000000 --- a/frontend/src/components/admin/config/password_policy/PasswordPolicy.svelte +++ /dev/null @@ -1,333 +0,0 @@ - - -
-
-

Password Policy

-

- Configure the password policy.
- The policy is being applied to all passwords being set from this moment on. -

-
- - {#if policy} -
- - - MIN LENGTH - - - - - MAX LENGTH - -
- -
- - - INCLUDE LOWERCASE - - - - - INCLUDE UPPERCASE - -
- -
- - - INCLUDE DIGITS - - - - - INCLUDE SPECIAL - -
- -
-

- Validity for a new password.
- Not Recently Used denied the last n used passwords.
- Setting no value at all with disable the given option. -

-
- -
- - - NOT RECENTLY USED - - - - - VALID FOR DAYS - -
- - - - - {#if success} -
- Success -
- {/if} - - {#if err} -
- {err} -
- {/if} - {/if} -
- - diff --git a/frontend/src/components/admin/documentation/Documentation.svelte b/frontend/src/components/admin/documentation/Documentation.svelte deleted file mode 100644 index fbeadd25b..000000000 --- a/frontend/src/components/admin/documentation/Documentation.svelte +++ /dev/null @@ -1,52 +0,0 @@ - - -
-
-

Documentation

- -

- For general documentation about Rauthy itself, you should take a look at the - Rauthy Book -

- -

- If you want to integrate an external application and use Rauthy's REST API, take a look at the - Swagger UI
- - Note: - Depending on the backend configuration, the Swagger UI may not be exposed publicly at this point. - It is however by default available via the internal /metrics HTTP server to not expose any information. -

- -

- The source code can be found in - Github -

-
-
- - diff --git a/frontend/src/css/global.css b/frontend/src/css/global.css index d1233fbcf..bba1079e6 100644 --- a/frontend/src/css/global.css +++ b/frontend/src/css/global.css @@ -69,6 +69,12 @@ blockquote { background-color: hsl(var(--bg-high)); } +code { + padding: 0 .15rem; + font-size: .9rem; + background: hsl(var(--bg-high)); +} + h1, h2, h3, h4, h5, h6 { color: hsl(var(--text-high)); overflow-wrap: break-word; @@ -122,6 +128,10 @@ hr { margin: .5rem 0; } +li { + margin-left: 1rem; +} + .font-default { font-family: system-ui, -apple-system, BlinkMacSystemFont, 'Roboto', 'Segoe UI', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif; diff --git a/frontend/src/i18n/admin/de.ts b/frontend/src/i18n/admin/de.ts index 0fcca019b..382262e9f 100644 --- a/frontend/src/i18n/admin/de.ts +++ b/frontend/src/i18n/admin/de.ts @@ -2,16 +2,106 @@ import type {I18nAdmin} from "./interface.ts"; export let I18nAdminDe: I18nAdmin = { common: { - account: 'Account', - back: 'Zurück', + account: "Account", + back: "Zurück", copiedToClip: "Wert wurde in die Zwischenablage kopiert", - copyToClip: 'Wert in Zwischenablage kopieren', + copyToClip: "Wert in Zwischenablage kopieren", filter: "Filter", from: "Von", - search: 'Suchen', - searchOptions: 'Suchoptionen', + note: "Notiz", + search: "Suchen", + searchOptions: "Suchoptionen", until: "Bis", }, + docs: { + book: "Für generelle Dokumentation für Rauthy existiert das", + encryption: "Verschlüsselung", + encKeys: { + header: "Encryption Keys", + keyActive: "Aktiver Key", + keysAvailable: "Verfügbare Keys", + migrate: "Migrieren", + migrateToKey: "Migriere alle Werte zu folgendem Encryption Key", + p1: `Diese Schlüssel werden für die zusätzliche Verschlüsselung in verschiedenen Situationen genutzt, wie + z.B. gewisse Werte innerhalb der Datenbank oder Session Cookies. Sie sind statisch konfiguriert, aber können + als best-practice manuell rotiert werden.`, + p2: `Der aktive Schlüssel ist ebenfalls statisch im Rauthy config file gesetzt. Alle neu-verschlüsselten + Werte werden mit dem aktiven Schlüssel verschlüsselt, während alte zur Rückwärts-Kompatibilität parallel + existieren können.`, + p3: `Das Migrieren aller verschlüsselten Werte an dieser Stelle kann, je nach System, einige Zeit in + Anspruch nehmen.`, + }, + hashing: { + calculate: "Berechnen", + + currValuesHead: 'Derzeitige Werte', + currValues1: 'Die derzeitigen im Backend konfigurierten Werte sind die folgenden:', + currValuesNote: `Notiz: Die Login Zeit vom Backend wird nur dann eine gute Richtlinie sein, nachdem + mindestens 5 erfolgreiche Logins seit dem letzten Neustart gemacht wurden. Der Ausgangswert ist immer + 2000 ms und wird mit jedem erfolgreichen Login neu gemittelt.`, + currValuesThreadsAccess: 'Threads (p_cost) die Rauthy zur Verfügung stehen', + + loginTimeHead: 'Ein paar Worte zur Login Zeit', + loginTime1: `Generell möchten User alles so schnell wie möglich. Für eine sichere Login Prozedur jedoch + sollte mindestens eine Dauer von 500 - 1000 ms anvisiert werden and kein Problem darstellen. Die Zeit zum + Passwort Hashing darf nicht zu kurz gewählt werden, weil dadurch die Stärke des Hashes reduziert werden + würde.`, + loginTime2: `Um standardmäßig genügend Sicherheit zu gewährleisten, erlaubt dieses Tool keine kleineren + Werte als 500 ms für die Login Zeit.`, + + mCost1: `Die m_cost definiert die Menga an Speicher (in kB) die zum Hashing verwendet + wird. Je höher dieser Wert, umso besser (sicherer), aber die notwendigen Ressourcen müssen natürlich + vorhanden sein.
+ Wenn z.B. 4 Passwörter zur selben Zeit gehasht werden, wird selbstverständlich 4 x m_cost + an Speicher benötigt, was zu jeder Zeit zur Verfügung stehen muss.`, + mCost2: `Den "richtigen" Wert für m_cost zu finden ist glücklicherweise sehr einfach. Definiere + das Maximum an Speicher, das Rauthy nutzen sollte, dividiere die Menge durch die Anzahl paralleler Logins, + die möglich sein sollten (MAX_HASH_THREADS) und ziehe hier von eine gewisse statische Menge ab. + Die Höhe des statisch benötigten Speichers hängt von der gewählten Datenbank und Anzahl Benutzer ab, jedoch + wird sie in den meisten Fällen im Bereich von 32 - 96 MB sein.`, + + pCost1: `p_cost definiert den Parallelismus fürs Hashing.
+ In den meisten Fällen erhöhen Werte jenseits von 8 nichts mehr die benötigte Zeit, weil der Algorithmus + gesättigt sein wird. Dies ist auch der Standardwert für Rauthy.`, + pCost2: `Die generelle Regel lautet:
+ Setze p_cost auf den zweifachen Wert der verfügbares CPU Kerne.
+ Wenn z.B. 4 Kerne zur Verfügung stehen, wäre eine p_cost von 8 ein guter Wert.
+ Der Wert muss allerdings die maximale Anzahl parallel erlaubter Logins (MAX_HASH_THREADS) + berücksichtigen und ggf. entsprechend reduziert werden.`, + + tCost1: `t_cost ist ein Multiplikator für die Zeit fürs Hashing. Dies ist der einzige + Wert, der durch Testen auf der Zielarchitektur gefunden werden muss, weil m_cost und + p_cost gewissenermaßen vorgegeben sind.`, + tCost2: `Das Finden des Wertes ist einfach: Setze m_cost und p_cost wie oben + erklärt und erhöhe t_cost so lange, bis die gewünschte Login Zeit erreicht wird.`, + + utilityHead: 'Parameter Berechnungs-Werkzeug', + utility1: `Das folgende Werkzeug kann zum Finden passender Werte für dieses Rauthy deployment genutzt + werden. Da die Werte von sehr vielen Faktoren abhängen, sollten dieser auf der finalen Architektur + eingestellt werden, am besten zu Zeiten der am höchsten erwarteten Last, um keine zu hohen Werte + einzustellen.`, + utility2: `m_cost ist Optional und der als minimal sichere Wert von 32768 würde automatisch + gewählt werden. Sollte p_cost ebenfalls nicht gegeben sein, so wird Rauthy die maximal + verfügbare Menge and Kernen nutzen.`, + + time: "Zeit", + targetTime: "Ziel-Zeit", + tune: 'Wichtig: Diese Werten müssen auf der finalen Architektur eingestellt werden!', + pDetials: `Für eine detailiertere Einführung in den Argon2ID Alrogithmus stehen vielen Quellen online zur + Verfügung. Hier werden nur ganz kurz die Werte erklärt. Die folgenden drei Werte müssen konfiguriert werden:`, + pTune: `Die Werte können stark variieren in Abhängigkeit vom System und der generellen Systemlast. Je + stärker das System, desto sicherere Werte können gewählt werden.`, + pUtility: `Dieses Werkzeug ist eine Hilfe zum Finden der besten Argon2ID Werte für das jeweilige System. + Argon2ID is der derzeit sicherste, verfügbare Passwort Hashing Algorithmus. Um das volle Potential + ausschöpfen zu können, müssen die Werte allerdings auf das System angepasst werden.`, + mCost3: "Der minimal erlaubte Wert für m_cost ist 32768." + }, + openapi: "Zur Integration einer externen Applikation via Rauthy's API gibt es das", + openapiNote: `In Abhängigkeit von der Konfiguration ist das Swagger UI nicht öffentlich zugänglich übber den + oben genannten Link. Es ist allerdings (standardmäßig) über den internen metrics server verfügbar zur + Reduzierung der Angriffsfläche.`, + source: "Der source code kann hier gefunden werden", + }, error: { needsAdminRole: 'Um Zugriff zu erhalten ist die Rolle rauthy_admin notwendig.', noAdmin: `Für Rauthy Admin Accounts ist MFA Pflicht.
@@ -22,24 +112,41 @@ export let I18nAdminDe: I18nAdmin = { eventLevel: "Event Level", eventType: "Event Typ", }, + jwks: { + alg: "Algorithmus", + p1: "Dies sind die Json Web Keys (JWKs) die für das Signieren der Tokens genutzt werden.", + p2: `JWKs werden standardmäßig automatisch an jedem 1. des Monats rotiert. Für alle neuen Tokens wird + immer die aktuellste Version eines Keys für den jeweiligen Algorithmus verwerndet. Alte Keys werden für + eine Weile behalten um bestehende Tokens validieren zu können und nach einer gewissen Zeit automatisch gelöscht.`, + p3: `Die Keys können manuell rotiert werden. Abhängig von der Hardware auf der diese Rauthy Instanz läuft, + kann dies einige Sekunden in Anspruch nehmen.`, + type: "Typ", + rotateKeys: "Keys Rotieren", + }, nav: { - apiKeys: 'API Keys', - attributes: 'Attribute', - blacklist: 'Blacklist', - clients: 'Clients', - config: 'Konfiguration', - docs: 'Dokumentation', - events: 'Events', - groups: 'Gruppen', - providers: 'Provider', - roles: 'Rollen', - scopes: 'Scopes', - sessions: 'Sessions', - users: 'Benutzer', + apiKeys: "API Keys", + attributes: "Attribute", + blacklist: "Blacklist", + clients: "Clients", + config: "Konfiguration", + docs: "Dokumentation", + events: "Events", + groups: "Gruppen", + providers: "Provider", + roles: "Rollen", + scopes: "Scopes", + sessions: "Sessions", + users: "Benutzer", + }, + passwordPolicy: { + configDesc: "Regeln für neue Passwörter.", + resetSet0: "Der Wert 0 deaktiviert die Bedingung.", + validForDays: "Gültigkeit Tage", + validityNew: "Gültigkeit für neue Passwörter.", }, search: { - orderBy: 'Sortieren nach ...', - orderChangeToAsc: 'Zu aufsteigender Sortierung wechseln', - orderChangeToDesc: 'Zu absteigende Sortierung wechseln', + orderBy: "Sortieren nach ...", + orderChangeToAsc: "Zu aufsteigender Sortierung wechseln", + orderChangeToDesc: "Zu absteigende Sortierung wechseln", } }; \ No newline at end of file diff --git a/frontend/src/i18n/admin/en.ts b/frontend/src/i18n/admin/en.ts index 7241442da..a07bc620b 100644 --- a/frontend/src/i18n/admin/en.ts +++ b/frontend/src/i18n/admin/en.ts @@ -3,15 +3,97 @@ import type {I18nAdmin} from "./interface.ts"; export let I18nAdminEn: I18nAdmin = { common: { account: 'Account', - back: 'Back', - copiedToClip: 'Value has been copied to clipboard', - copyToClip: 'Copy value to clipboard', + back: "Back", + copiedToClip: "Value has been copied to clipboard", + copyToClip: "Copy value to clipboard", filter: "Filter", from: "From", - search: 'Search', - searchOptions: 'Search Options', + note: "Note", + search: "Search", + searchOptions: "Search Options", until: "Until", }, + docs: { + book: "For general documentation about Rauthy itself, you should take a look at the", + encryption: "Encryption", + encKeys: { + header: "Encryption Keys", + keyActive: "Active Key", + keysAvailable: "Available Keys", + migrate: "Migrate", + migrateToKey: 'Migrate all existing encrypted values to the following key', + p1: `These Keys are used for an additional encryption at rest, independently from any data store technology + used under the hood. They are configured statically, but can be rotated and migrated on this page manually.`, + p2: `The active key is statically set in the Rauthy config file / environment variables. It cannot be changed + here dynamically. All new JWK encryption's will always use the currently active key.`, + p3: `If you migrate all existing secrets, it might take a few seconds to finish, if you have a big + dataset.`, + }, + hashing: { + calculate: "Calculate", + + currValuesHead: 'Current values', + currValues1: 'The current values from the backend are the following:', + currValuesNote: `Note: The Login Time from the backend does only provide a good guideline after at least 5 + successful logins, after Rauthy has been started. The base value is always 2000 ms after a fresh restart + and will adjust over time with each successful login.`, + currValuesThreadsAccess: 'Threads (p_cost) Rauthy has access to', + + loginTimeHead: 'A word about Login Time', + loginTime1: `Generally, users want everything as fast as possible. When doing a safe login though, a time + between 500 - 1000 ms should not be a problem. The login time must not be too short, since it would lower + the strength of the hash, of course.`, + loginTime2: `To provide as much safety by default as possible, this utility does not allow you to go below + 500 ms for the login time.`, + + mCost1: `The m_cost defines the amount of memory (in kB), which is used for the hashing. + The higher the value, the better, of course. But you need to keep in mind the servers resources.
+ When you hash 4 passwords at the same time, for instance, the backend needs 4 x m_cost + during the hashing. These resources must be available.`, + mCost2: `Tuning m_cost is pretty easy. Define the max amount of memory that Rauthy should use, + divide it by the number of max allowed parallel logins (MAX_HASH_THREADS) and subtract a small + static amount of memory. How much static memory should be taken into account depends on the used database + and the total amount of users, but will typically be in the range of 32 - 96 MB.`, + mCost3: 'The minimal allowed m_cost is 32768.', + + pCost1: `The p_cost defines the amount of parallelism for hashing. This value most often + tops out at ~8, which is the default for Rauthy.`, + pCost2: `The general rule is:
+ Set the p_cost to twice the size of cores your have available.
+ For instance, if you have 4 cores available, set the p_cost to 8.
+ However, this value must take the configured allowed parallel logins (MAX_HASH_THREADS) into + account and be reduced accordingly.`, + + tCost1: `The t_cost defines the amount of time for hashing. This value is actually the + only value, that needs tuning, since m_cost and p_cost are basically given by the + environment.`, + tCost2: `Tuning is easy: Set m_cost and p_cost accordingly and then increase + t_cost as long as you have not reached your hashing-time-goal.`, + + utilityHead: 'Parameter Calculation Utility', + utility1: `You can use this tool to approximate good values for your deployment. Keep in mind, that this + should be executed with Rauthy in its final place with all final resources available. You should execute + this utility during load to not over tune.`, + utility2: `m_cost is optional and the safe minimal value of 32768 would be chosen, + if empty. p_cost is optional too and Rauthy will utilize all threads it can see, if empty.`, + + time: "Time", + targetTime: "Target Time", + tune: 'Important: These values need to be tuned on the final architecture!', + pDetials: `If you want a detailed introduction to Argon2ID, many sources exist online. This guide just + gives very short overview about the values. Three of them need to be configured:`, + pTune: `They change depending on the capabilities of the system. The more powerful the system, the more safe + these values can be.`, + pUtility: `This utility helps you find the best Argon2ID settings for your platform. + Argon2ID is currently the safest available password hashing algorithm. To use it to its fullest potential, + it has to be tuned for each deployment.`, + }, + openapi: "If you want to integrate an external application and use Rauthy's API, take a look at the", + openapiNote: `Depending on the backend configuration, the Swagger UI may not be exposed publicly at this point. + It is however by default available via the internal metrics HTTP server to not expose any + information.`, + source: "The source code can be found here", + }, error: { needsAdminRole: `You are not assigned to the rauthy_admin role.
You do not have access to the admin panel.`, @@ -23,24 +105,42 @@ export let I18nAdminEn: I18nAdmin = { eventLevel: "Event Level", eventType: "Event Type", }, + jwks: { + alg: "Algorithm", + p1: "These are the Json Web Keys (JWKs) used for token singing.", + p2: `The JWKs will be rotated by default every 1st of a month. For all newly created tokens, only the latest + available key for the given algorithm will be used for signing. Old keys will be kept for a while to make sure + that currently valid tokens can still be validated properly. After a while, they will be cleaned up + automatically.`, + p3: `Keys can also be rotated manually. Depending on the hardware this Rauthy instance is running on, it might + take a few seconds.`, + type: "Type", + rotateKeys: "Rotate Keys", + }, nav: { - apiKeys: 'API Keys', - attributes: 'Attributes', - blacklist: 'Blacklist', - clients: 'Clients', - config: 'Config', - docs: 'Docs', - events: 'Events', - groups: 'Groups', - providers: 'Providers', - roles: 'Roles', - scopes: 'Scopes', - sessions: 'Sessions', - users: 'Users', + apiKeys: "API Keys", + attributes: "Attributes", + blacklist: "Blacklist", + clients: "Clients", + config: "Config", + docs: "Docs", + events: "Events", + groups: "Groups", + providers: "Providers", + roles: "Roles", + scopes: "Scopes", + sessions: "Sessions", + users: "Users", + }, + passwordPolicy: { + configDesc: "Policy for new passwords.", + resetSet0: "The value 0 deactivates the requirement.", + validForDays: "Valid For Days", + validityNew: "Validity for new passwords.", }, search: { - orderBy: 'Order by ...', - orderChangeToAsc: 'Change sort to ascending', - orderChangeToDesc: 'Change sort to descending', + orderBy: "Order by ...", + orderChangeToAsc: "Change sort to ascending", + orderChangeToDesc: "Change sort to descending", } }; \ No newline at end of file diff --git a/frontend/src/i18n/admin/interface.ts b/frontend/src/i18n/admin/interface.ts index c40f2c7fc..c237ef9ab 100644 --- a/frontend/src/i18n/admin/interface.ts +++ b/frontend/src/i18n/admin/interface.ts @@ -11,20 +11,87 @@ export interface I18nAdmin { copyToClip: string, filter: string, from: string, + note: string, search: string, searchOptions: string, until: string, } + docs: { + book: string, + encryption: string, + encKeys: { + header: string, + keyActive: string, + keysAvailable: string, + migrate: string, + migrateToKey: string, + p1: string, + p2: string, + p3: string, + }, + hashing: { + calculate: string, + + currValuesHead: string, + currValues1: string, + currValuesNote: string, + currValuesThreadsAccess: string, + + loginTimeHead: string, + loginTime1: string, + loginTime2: string, + + // inserted as html + mCost1: string, + // inserted as html + mCost2: string, + // inserted as html + mCost3: string, + + // inserted as html + pCost1: string, + // inserted as html + pCost2: string, + + // inserted as html + tCost1: string, + // inserted as html + tCost2: string, + + utilityHead: string, + utility1: string, + // inserted as html + utility2: string, + + time: string, + targetTime: string, + tune: string, + pDetials: string, + pTune: string, + pUtility: string, + }, + openapi: string, + openapiNote: string, + source: string, + } error: { - // will be inserted as html + // inserted as html needsAdminRole: string, - // will be inserted as html + // inserted as html noAdmin: string, }, events: { eventLevel: string, eventType: string, - } + }, + jwks: { + alg: string, + p1: string, + p2: string, + p3: string, + type: string, + rotateKeys: string, + }, nav: { apiKeys: string, attributes: string, @@ -40,6 +107,12 @@ export interface I18nAdmin { sessions: string, users: string, } + passwordPolicy: { + configDesc: string, + resetSet0: string, + validForDays: string, + validityNew: string, + }, search: { orderBy: string, orderChangeToAsc: string, diff --git a/frontend/src/lib_svelte5/A.svelte b/frontend/src/lib_svelte5/A.svelte index 55f3e03ba..b10ec7ebf 100644 --- a/frontend/src/lib_svelte5/A.svelte +++ b/frontend/src/lib_svelte5/A.svelte @@ -9,6 +9,7 @@ hideUnderline = false, highlight = false, highlightExact = false, + highlightIncludes, highlightWithParams = false, children, }: { @@ -18,6 +19,7 @@ hideUnderline?: boolean, highlight?: boolean, highlightExact?: boolean, + highlightIncludes?: string, highlightWithParams?: boolean, children: Snippet, } = $props(); @@ -28,6 +30,9 @@ } let route = page.route.id; + if (!route) { + return; + } if (highlightWithParams) { let hrefPage = `${route}${page.url.search}`; if (hrefPage.startsWith(href)) { @@ -37,14 +42,16 @@ if (route === href.split('?')[0]) { return 'page'; } + } else if (highlightIncludes) { + if (route.includes(highlightIncludes)) { + return 'page'; + } } else if (route) { let link = href.split('?')[0]; if (link.endsWith(route)) { return 'page'; } } - - return undefined; }); diff --git a/frontend/src/lib_svelte5/ContentAdmin.svelte b/frontend/src/lib_svelte5/ContentAdmin.svelte new file mode 100644 index 000000000..787d61213 --- /dev/null +++ b/frontend/src/lib_svelte5/ContentAdmin.svelte @@ -0,0 +1,27 @@ + + +
+ {@render children()} +
+ + \ No newline at end of file diff --git a/frontend/src/lib_svelte5/LangSelector.svelte b/frontend/src/lib_svelte5/LangSelector.svelte index 872966746..bc14ea11c 100644 --- a/frontend/src/lib_svelte5/LangSelector.svelte +++ b/frontend/src/lib_svelte5/LangSelector.svelte @@ -2,9 +2,10 @@ import {useI18n} from "$state/i18n.svelte.ts"; import {untrack} from "svelte"; import {getCookie} from "$utils/helpers.ts"; - import {LANGUAGES} from "$utils/constants"; + import {LANGUAGES, LANGUAGES_ADMIN} from "$utils/constants"; import Options from "$lib5/Options.svelte"; import {fetchPost} from "$api/fetch.ts"; + import {page} from "$app/state"; let { absolute, @@ -22,8 +23,12 @@ let initial = untrack(() => t.lang); let selected = $state(initial); - let offsetTop = $derived(openTop ? `-${LANGUAGES.length * 2 + 2}rem` : undefined); + let languages = $derived(page.route.id?.includes('/admin') ? LANGUAGES_ADMIN : LANGUAGES); + + let offsetTop = $derived(openTop ? `-${languages.length * 2 + 2}rem` : undefined); let offsetLeft = $derived(openTop ? '.2rem' : undefined); + + // TODO make it possible in the backend to show only configured languages $effect(() => { let cookie = getCookie('locale'); @@ -59,7 +64,7 @@
+ import {onMount} from "svelte"; + import Button from "$lib5/Button.svelte"; + import IconCheck from "$icons/IconCheck.svelte"; + import {fetchGet, fetchPost} from "$api/fetch.ts"; + import type {EncKeyMigrateRequest, EncKeysResponse} from "$api/types/enc_keys.ts"; + import {useI18nAdmin} from "$state/i18n_admin.svelte.ts"; + import Options from "$lib5/Options.svelte"; + + let ta = useI18nAdmin(); + + let err = $state(''); + let isLoading = $state(true); + let activeKey = $state(''); + let migrateKey = $state(''); + let keys: string[] = $state([]); + let success = $state(false); + + onMount(async () => { + let res = await fetchGet('/auth/v1/encryption/keys'); + if (res.body) { + keys = res.body.keys; + activeKey = res.body.active; + migrateKey = res.body.active; + } else { + err = res.error?.message || 'Error'; + } + isLoading = false; + }); + + async function migrate() { + isLoading = true; + + let payload: EncKeyMigrateRequest = { + key_id: migrateKey, + }; + let res = await fetchPost('/auth/v1/encryption/migrate', payload); + if (res.error) { + err = res.error.message; + } else { + success = true; + setTimeout(() => { + success = false; + }, 4000); + } + + isLoading = false; + } + + +

{ta.docs.encKeys.header}

+ +

{ta.docs.encKeys.p1}

+

{ta.docs.encKeys.p2}

+ +

+ + {ta.docs.encKeys.keyActive}: + + + {activeKey} + +

+ +

+ {ta.docs.encKeys.keysAvailable}: +

+ +
    + {#each keys as key} +
  • + {key} +
  • + {/each} +
+ +

{ta.docs.encKeys.p3}

+

{ta.docs.encKeys.migrateToKey}:

+ + + +
+ +
+ +{#if err} +
+ {err} +
+{/if} + +{#if success} + +{/if} + + diff --git a/frontend/src/lib_svelte5/admin/config/JWKs.svelte b/frontend/src/lib_svelte5/admin/config/JWKs.svelte new file mode 100644 index 000000000..bc0c46f2e --- /dev/null +++ b/frontend/src/lib_svelte5/admin/config/JWKs.svelte @@ -0,0 +1,129 @@ + + +

Json Web Keys

+

{ta.jwks.p1}

+

{ta.jwks.p2}

+

{ta.jwks.p3}

+ +{#each certs as jwk (jwk.kid)} + + {#snippet summary()} +
+ {jwk.alg} + / + {jwk.kid} +
+ {/snippet} + {#snippet details()} + + {jwk.kid} + + + {jwk.kty} + + + {jwk.alg} + + + {#if jwk.crv} + + {jwk.crv} + + {/if} + {#if jwk.n} + +
+ {jwk.n} +
+
+ {/if} + {#if jwk.e} + + {jwk.e} + + {/if} + {#if jwk.x} + + {jwk.x} + + {/if} + {/snippet} +
+{/each} + +
+ +
+ +{#if success} + +{/if} + +{#if err} +
+ {err} +
+{/if} + + diff --git a/frontend/src/lib_svelte5/admin/config/PasswordPolicy.svelte b/frontend/src/lib_svelte5/admin/config/PasswordPolicy.svelte new file mode 100644 index 000000000..ffc1acd11 --- /dev/null +++ b/frontend/src/lib_svelte5/admin/config/PasswordPolicy.svelte @@ -0,0 +1,226 @@ + + +

{t.passwordPolicy.passwordPolicy}

+

+ {ta.passwordPolicy.configDesc} +

+ +
+ {#if policy} +
+ + + +
+ +
+ + + +
+ +
+ + + +
+ +

+ {ta.passwordPolicy.validityNew}
+ {ta.passwordPolicy.resetSet0} +

+ +
+ + + +
+ + + + {#if success} +
+ Success +
+ {/if} + + {#if err} +
+ {err} +
+ {/if} + {/if} +
+ + diff --git a/frontend/src/lib_svelte5/admin/config/argon2/Argon2Params.svelte b/frontend/src/lib_svelte5/admin/config/argon2/Argon2Params.svelte new file mode 100644 index 000000000..a78e08455 --- /dev/null +++ b/frontend/src/lib_svelte5/admin/config/argon2/Argon2Params.svelte @@ -0,0 +1,112 @@ + + +

Argon2ID - Password Hashing

+

{ta.docs.hashing.pUtility}

+

+ {ta.docs.hashing.tune}
+ {ta.docs.hashing.pTune} +

+

{ta.docs.hashing.pDetials}

+
    +
  • + m_cost +

    {@html ta.docs.hashing.mCost1}

    +

    {@html ta.docs.hashing.mCost2}

    +

    {@html ta.docs.hashing.mCost3}

    +
  • + +
  • + p_cost +

    {@html ta.docs.hashing.pCost1}

    +

    {@html ta.docs.hashing.pCost2}

    +
  • + +
  • + t_cost +

    {@html ta.docs.hashing.tCost1}

    +

    {@html ta.docs.hashing.tCost2}

    +
  • +
+ +
+

{ta.docs.hashing.loginTimeHead}

+

{ta.docs.hashing.loginTime1}

+

{ta.docs.hashing.loginTime2}

+
+ +

{ta.docs.hashing.currValuesHead}

+

{ta.docs.hashing.currValues1}

+
+
+
+ m_cost: +
+ {params?.m_cost} kB +
+ +
+
+ p_cost: +
+ {params?.p_cost} threads +
+ +
+
+ t_cost: +
+ {params?.t_cost} +
+ +
+
+
+ Login Time: +
+ {loginTime} ms +
+ +

{ta.docs.hashing.currValuesNote}

+ {ta.docs.hashing.currValuesThreadsAccess}: {numCpus}
+
+
+ +

{ta.docs.hashing.utilityHead}

+

{ta.docs.hashing.utility1}

+

{@html ta.docs.hashing.utility2}

+ +{#if params} + +{/if} + +
+ + diff --git a/frontend/src/lib_svelte5/admin/config/argon2/Argon2Results.svelte b/frontend/src/lib_svelte5/admin/config/argon2/Argon2Results.svelte new file mode 100644 index 000000000..429d26525 --- /dev/null +++ b/frontend/src/lib_svelte5/admin/config/argon2/Argon2Results.svelte @@ -0,0 +1,51 @@ + + +
+
+
{ta.common.time} (ms)
+
t_cost
+
m_cost
+
p_cost
+
+ + {#each res as r} +
+
{r.time_taken}
+
{r.t_cost}
+
{r.m_cost}
+
{r.p_cost}
+
+ {/each} + +
+
+ + diff --git a/frontend/src/lib_svelte5/admin/config/argon2/Argon2Utility.svelte b/frontend/src/lib_svelte5/admin/config/argon2/Argon2Utility.svelte new file mode 100644 index 000000000..58a9bf6b6 --- /dev/null +++ b/frontend/src/lib_svelte5/admin/config/argon2/Argon2Utility.svelte @@ -0,0 +1,132 @@ + + + + +
+
+
+ + + + +
+
+ + {#if hashTimes.length > 0} +
+ +
+ {/if} + + {#if err} +
+ {err} +
+ {/if} +
+ + diff --git a/frontend/src/lib_svelte5/admin/documentation/Documentation.svelte b/frontend/src/lib_svelte5/admin/documentation/Documentation.svelte new file mode 100644 index 000000000..3a90da935 --- /dev/null +++ b/frontend/src/lib_svelte5/admin/documentation/Documentation.svelte @@ -0,0 +1,29 @@ + + + +

{ta.nav.docs}

+ +

+ {ta.docs.book} + Rauthy Book +

+ +

+ {ta.docs.openapi} + Swagger UI +
+ {ta.common.note}: + {ta.docs.openapiNote} +

+ +

+ {ta.docs.source}: + Github +

+
diff --git a/frontend/src/lib_svelte5/admin/events/Events.svelte b/frontend/src/lib_svelte5/admin/events/Events.svelte index 2843ccca5..b084f44dd 100644 --- a/frontend/src/lib_svelte5/admin/events/Events.svelte +++ b/frontend/src/lib_svelte5/admin/events/Events.svelte @@ -147,6 +147,7 @@ justify-content: space-between; background: hsla(var(--bg-high) / .2); box-shadow: -2px 0 5px hsl(var(--bg-high)); + overflow-y: clip; transition: all 150ms ease-in-out; } diff --git a/frontend/src/lib_svelte5/admin/events/EventsArchive.svelte b/frontend/src/lib_svelte5/admin/events/EventsArchive.svelte index b96e1ac47..617a1d4fe 100644 --- a/frontend/src/lib_svelte5/admin/events/EventsArchive.svelte +++ b/frontend/src/lib_svelte5/admin/events/EventsArchive.svelte @@ -8,6 +8,7 @@ import InputDateTimeCombo from "$lib5/form/InputDateTimeCombo.svelte"; import {fmtDateInput, fmtTimeInput, unixTsFromLocalDateTime} from "$utils/form.ts"; import OrderSearchBar from "$lib5/search_bar/OrderSearchBar.svelte"; + import ContentAdmin from "$lib5/ContentAdmin.svelte"; let ta = useI18nAdmin(); @@ -80,7 +81,7 @@ } -
+ {/each} {/if} -
+ diff --git a/frontend/src/lib_svelte5/nav/NavSide.svelte b/frontend/src/lib_svelte5/nav/NavSide.svelte index eaa23521a..85bc9cda6 100644 --- a/frontend/src/lib_svelte5/nav/NavSide.svelte +++ b/frontend/src/lib_svelte5/nav/NavSide.svelte @@ -204,7 +204,7 @@ {ta.nav.providers} - + {#snippet icon(width: string)} {/snippet} diff --git a/frontend/src/lib_svelte5/nav/NavSub.svelte b/frontend/src/lib_svelte5/nav/NavSub.svelte index 7f88cb33a..a15fea72b 100644 --- a/frontend/src/lib_svelte5/nav/NavSub.svelte +++ b/frontend/src/lib_svelte5/nav/NavSub.svelte @@ -6,7 +6,7 @@ let { width = 'min(25rem, 100dvw)', - paddingTop = '7.1rem', + paddingTop = '4.5rem', collapse = $bindable(), collapseButtonThreshold = 800, thresholdNavSub = 500, @@ -77,9 +77,9 @@ '),De=_('
'),je=_('
');function Le(F,B){H(B,!0);let n=$(""),y=$(d([])),h=$(d([])),D=$(d([])),w=$(Date.now()/1e3),c=$(""),g=$(!1),x=$(15),p=$(""),m=$(1),u=[{label:"User ID",callback:(e,s)=>{var i;return(i=e.user_id)==null?void 0:i.toLowerCase().includes(s.toLowerCase())}},{label:"Session ID",callback:(e,s)=>e.id.toLowerCase().includes(s.toLowerCase())},{label:"IP",callback:(e,s)=>{var i;return(i=e.remote_ip)==null?void 0:i.toLowerCase().includes(s.toLowerCase())}}],A=[{label:"Expires",callback:(e,s)=>e.exp-s.exp},{label:"Last Seen",callback:(e,s)=>e.last_seen-s.last_seen},{label:"Session ID",callback:(e,s)=>e.id.localeCompare(s.id)},{label:"User ID",callback:(e,s)=>{var i;return(i=e.user_id)==null?void 0:i.localeCompare(s.user_id)}},{label:"State",callback:(e,s)=>e.state.localeCompare(s.state)},{label:"IP",callback:(e,s)=>{var i;return(i=e.remote_ip)==null?void 0:i.localeCompare(s.remote_ip)}}];pe(()=>{o()});async function o(e,s,i,I){let f;if(e===!0?i&&a(m)===2?f=await Y(I||a(x),s,void 0,!1):f=await Y(I||a(x),s,a(p),i):f=await me(),!f.ok)t(n,"Error fetching sessions: "+f.body.message);else{f.status===206?(t(x,d(Number.parseInt(f.headers.get("x-page-size"),10))),t(p,d(f.headers.get("x-continuation-token"))),t(c,"session")):t(c,"");let C=await f.json();t(y,d([...C])),t(h,d([...C])),t(w,Date.now()/1e3)}}async function k(e,s){await o(!0,e,s),s?t(m,a(m)-1):t(m,a(m)+1)}async function M(e){t(p,""),await o(!0,0,!1,e),t(m,1)}async function T(){let e=await be();if(e.ok)ge();else{let s=await e.json();t(n,d(s.message))}t(w,d(new Date))}var j=je(),N=r(j),O=r(N);fe(O,{get items(){return a(y)},searchOptions:u,orderOptions:A,firstDirReverse:!0,get resItems(){return a(h)},set resItems(e){t(h,d(e))},get useServerSideIdx(){return a(c)},set useServerSideIdx(e){t(c,d(e))},get isSearchFiltered(){return a(g)},set isSearchFiltered(e){t(g,d(e))}});var R=v(O,2);ce(R,"margin-top","-10px");var se=r(R);ue(se,{level:3,$$events:{click:T},children:(e,s)=>{oe();var i=ve("Invalidate All Sessions");b(e,i)},$$slots:{default:!0}}),l(R),l(N);var q=v(N),z=v(q),ae=r(z);{var te=e=>{var s=W(),i=K(s);V(i,19,()=>a(y),I=>I.id,(I,f,C)=>{var L=ye(),G=r(L);ee(G,{get session(){return a(y)[a(C)]},set session(E){a(y)[a(C)]=E},get now(){return a(w)},set now(E){t(w,d(E))}}),l(L),b(I,L)}),b(e,s)},ie=e=>{var s=W(),i=K(s);V(i,19,()=>a(D),I=>I.id,(I,f,C)=>{var L=De(),G=r(L);ee(G,{get session(){return a(D)[a(C)]},set session(E){a(D)[a(C)]=E},get now(){return a(w)},set now(E){t(w,d(E))}}),l(L),b(I,L)}),b(e,s)};Q(ae,e=>{a(c)&&!a(g)?e(te):e(ie,!1)})}l(z);var re=v(z,2);{var le=e=>{we(e,{fetchPageCallback:k,sspPageSizeChange:M,get sspPage(){return a(m)},set sspPage(s){t(m,d(s))},get sspPageSize(){return a(x)},set sspPageSize(s){t(x,d(s))},get sspContinuationToken(){return a(p)},set sspContinuationToken(s){t(p,d(s))}})},de=e=>{he(e,{get items(){return a(h)},set items(s){t(h,d(s))},get resItems(){return a(D)},set resItems(s){t(D,d(s))}})};Q(re,e=>{a(c)&&!a(g)?e(le):e(de,!1)})}l(j),P(()=>S(q,` ${a(n)??""} `)),b(F,j),J()}function Ee(F){Le(F,{})}export{Ee as component}; diff --git a/static/v1/_app/immutable/nodes/17.DDJGezG1.js.br b/static/v1/_app/immutable/nodes/17.DDJGezG1.js.br deleted file mode 100644 index 1cdf30fe3..000000000 Binary files a/static/v1/_app/immutable/nodes/17.DDJGezG1.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/17.DDJGezG1.js.gz b/static/v1/_app/immutable/nodes/17.DDJGezG1.js.gz deleted file mode 100644 index 4b386495a..000000000 Binary files a/static/v1/_app/immutable/nodes/17.DDJGezG1.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/17.Ki1LM_nE.js b/static/v1/_app/immutable/nodes/17.Ki1LM_nE.js new file mode 100644 index 000000000..047dcad3e --- /dev/null +++ b/static/v1/_app/immutable/nodes/17.Ki1LM_nE.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{p as A,i as y,ao as M,a as O,g as a,h as t,c as k,aq as N,s as S,r as j,t as _,f as B}from"../chunks/index-client.DAoU_hDn.js";import{s as L}from"../chunks/render.mNhspeV3.js";import{e as ee}from"../chunks/each.DTG73tix.js";import{a as d,d as P,t as b,e as ae}from"../chunks/template.DcxtE4ym.js";import{p as s}from"../chunks/proxy.D3ASEzk3.js";import{l as te,m as re,n as se,o as oe}from"../chunks/dataFetchingAdmin.D7RWqeRL.js";import{i as T}from"../chunks/if.BANCODOf.js";import{p as R}from"../chunks/props.VJ8UyA45.js";import{r as K}from"../chunks/legacy-client.rYJ80fHr.js";import{E as W}from"../chunks/ExpandContainer.mM6ZiTQe.js";import{c as Y,a as F,I as H}from"../chunks/Input.C04-Kl2S.js";import{Y as J,o as Q}from"../chunks/helpers.BV-akmwW.js";import{B as V}from"../chunks/Button.CKHLXer8.js";import{t as U,a as z}from"../chunks/index.DER1jHiU.js";import{T as X}from"../chunks/OptionSelect.CBlj_bre.js";import{T as ie}from"../chunks/TabBar.BqcS880p.js";import{O as ne,P as le}from"../chunks/Pagination.DF9sn7Vj.js";var ve=b('
ADD NEW GROUP
'),de=b('
Success
'),ce=b('
'),ue=b('
');function me(C,h){A(h,!0);let u=R(h,"idx",31,()=>-1),m=y(void 0),l=y(s({group:""})),p=y(""),f=y(!1),x=y(void 0),E=y(s({}));const D=Y().shape({group:F().trim().matches(J,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});K(()=>{a(f)&&t(x,s(setTimeout(()=>{h.onSave(),t(f,!1),t(l,s({group:""})),t(m,!1)},1500)))}),M(()=>()=>clearTimeout(a(x)));async function o(){if(t(p,""),!await c()){t(p,"Invalid input");return}a(l).group=a(l).group.trim();let i=await te(a(l));if(i.ok)t(f,!0);else{let w=await i.json();t(p,s(w.message))}}async function c(){try{return await D.validate(a(l),{abortEarly:!1}),t(E,s({})),!0}catch(i){return t(E,s(Q(i))),!1}}W(C,{get idx(){return u()},set idx(i){u(i)},get show(){return a(m)},set show(i){t(m,s(i))},header:i=>{var w=ve();d(i,w)},body:i=>{var w=ue(),G=k(w);H(G,{autocomplete:"off",placeholder:"Group Name",get value(){return a(l).group},set value(e){a(l).group=e},get error(){return a(E).group},set error(e){a(E).group=e},$$events:{input:c},children:(e,v)=>{N();var I=P("GROUP NAME");d(e,I)},$$slots:{default:!0}});var n=S(G,2);V(n,{level:1,width:"4rem",$$events:{click:o},children:(e,v)=>{N();var I=P("SAVE");d(e,I)},$$slots:{default:!0}});var g=S(n,2);{var r=e=>{var v=de();d(e,v)};T(g,e=>{a(f)&&e(r)})}var $=S(g,2);{var q=e=>{var v=ce(),I=k(v,!0);j(v),_(()=>L(I,a(p))),d(e,v)};T($,e=>{a(p)&&e(q)})}j(w),d(i,w)},$$slots:{header:!0,body:!0}}),O()}var pe=b('
Success
'),fe=b('
'),ge=b('
ID
');function $e(C,h){A(h,!0);let u=R(h,"group",31,()=>s({})),m=y(""),l=y(!1),p=y(void 0);K(()=>{a(l)&&t(p,s(setTimeout(()=>{t(l,!1),h.onSave()},2e3)))}),M(()=>()=>clearTimeout(a(p)));let f=y(s({}));const x=Y().shape({name:F().trim().matches(J,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});async function E(){if(t(m,""),!await D()){t(m,"Invalid input");return}let e={group:u().name.trim()},v=await re(u().id,e);if(v.ok)t(l,!0);else{let I=await v.json();t(m,s(I.message))}}async function D(){try{return await x.validate(u(),{abortEarly:!1}),t(f,s({})),!0}catch(e){return t(f,s(Q(e))),!1}}var o=ge(),c=k(o),i=S(k(c),2),w=k(i,!0);j(i),j(c);var G=S(c,2);H(G,{autocomplete:"off",placeholder:"Group Name",get value(){return u().name},set value(e){u(u().name=e,!0)},get error(){return a(f).name},set error(e){a(f).name=e},$$events:{input:D},children:(e,v)=>{N();var I=P("GROUP NAME");d(e,I)},$$slots:{default:!0}});var n=S(G,2);V(n,{level:1,width:"4rem",$$events:{click:E},children:(e,v)=>{N();var I=P("SAVE");d(e,I)},$$slots:{default:!0}});var g=S(n,2);{var r=e=>{var v=pe();d(e,v)};T(g,e=>{a(l)&&e(r)})}var $=S(g,2);{var q=e=>{var v=fe(),I=k(v,!0);j(v),_(()=>L(I,a(m))),d(e,v)};T($,e=>{a(m)&&e(q)})}j(o),_(()=>L(w,u().id)),d(C,o),O()}var he=b('
'),we=b('
Are you sure, you want to delete this group?
');function ye(C,h){A(h,!0);let u=R(h,"group",19,()=>({})),m=y(!1),l=y("");async function p(){t(l,""),t(m,!0);let o=await se(u().id);if(o.ok)h.onSave();else{let c=await o.json();t(l,s(c.message))}t(m,!1)}var f=we(),x=S(k(f),2);V(x,{level:1,get isLoading(){return a(m)},set isLoading(o){t(m,s(o))},$$events:{click:p},children:(o,c)=>{N();var i=P("DELETE");d(o,i)},$$slots:{default:!0}});var E=S(x,2);{var D=o=>{var c=he(),i=k(c,!0);j(c),_(()=>L(i,a(l))),d(o,c)};T(E,o=>{a(l)&&o(D)})}j(f),d(C,f),O()}var je=b('
'),be=b('
'),ke=b('
'),Se=b("
"),De=b("
"),Ie=b("
");function Ee(C,h){A(h,!0);let u=R(h,"group",31,()=>s({})),m=y(void 0);const l=["Config","Delete"];let p=y(s(l[0]));const f=200,x=f/2;function E(){t(m,!1),h.onSave()}W(C,{get show(){return a(m)},set show(D){t(m,s(D))},header:D=>{var o=ke(),c=k(o);X(c,{text:"Group ID",children:(w,G)=>{var n=je(),g=k(n,!0);j(n),_(()=>L(g,u().id)),d(w,n)},$$slots:{default:!0}});var i=S(c,2);X(i,{text:"Group Name",children:(w,G)=>{var n=be(),g=k(n,!0);j(n),_(()=>L(g,u().name)),d(w,n)},$$slots:{default:!0}}),j(o),d(D,o)},body:D=>{var o=Ie(),c=k(o);ie(c,{labels:l,get selected(){return a(p)},set selected(n){t(p,s(n))}});var i=S(c,2);{var w=n=>{var g=Se(),r=k(g);$e(r,{get onSave(){return h.onSave},get group(){return u()},set group($){u($)}}),j(g),U(5,g,()=>z,()=>({delay:x,duration:f})),U(6,g,()=>z,()=>({duration:f})),d(n,g)},G=n=>{var g=ae(),r=B(g);{var $=q=>{var e=De(),v=k(e);ye(v,{get group(){return u()},onSave:E}),j(e),U(5,e,()=>z,()=>({delay:x,duration:f})),U(6,e,()=>z,()=>({duration:f})),d(q,e)};T(r,q=>{a(p)==="Delete"&&q($)},!0)}d(n,g)};T(i,n=>{a(p)==="Config"?n(w):n(G,!1)})}j(o),d(D,o)},$$slots:{header:!0,body:!0}}),O()}var xe=b('
'),Ge=b('
',1);function Ce(C,h){A(h,!0);let u=y(""),m=y(s([])),l=y(s([])),p=y(s([])),f=[{label:"Name",callback:(r,$)=>r.name.toLowerCase().includes($.toLowerCase())},{label:"ID",callback:(r,$)=>r.id.toLowerCase().includes($.toLowerCase())}],x=[{label:"Name",callback:(r,$)=>r.name.localeCompare($.name)},{label:"ID",callback:(r,$)=>r.id.localeCompare($.id)}];M(async()=>{E()});async function E(){let r=await oe(),$=await r.json();r.ok?t(m,s([...$])):t(u,s($.message))}function D(){E()}N();var o=Ge(),c=B(o),i=S(c),w=k(i);ne(w,{get items(){return a(m)},searchOptions:f,orderOptions:x,get resItems(){return a(l)},set resItems(r){t(l,s(r))}});var G=S(w,2);me(G,{onSave:D});var n=S(G,2);ee(n,23,()=>a(p),r=>r.id,(r,$,q)=>{let e=q;var v=xe(),I=k(v);Ee(I,{onSave:D,get group(){return a(p)[a(e)]},set group(Z){a(p)[a(e)]=Z}}),j(v),d(r,v)}),j(n);var g=S(n,2);le(g,{get items(){return a(l)},set items(r){t(l,s(r))},get resItems(){return a(p)},set resItems(r){t(p,s(r))}}),N(2),j(i),_(()=>L(c,`${a(u)??""} `)),d(C,o),O()}function qe(C){Ce(C,{})}export{qe as component}; diff --git a/static/v1/_app/immutable/nodes/17.Ki1LM_nE.js.br b/static/v1/_app/immutable/nodes/17.Ki1LM_nE.js.br new file mode 100644 index 000000000..0c2b5825c Binary files /dev/null and b/static/v1/_app/immutable/nodes/17.Ki1LM_nE.js.br differ diff --git a/static/v1/_app/immutable/nodes/17.Ki1LM_nE.js.gz b/static/v1/_app/immutable/nodes/17.Ki1LM_nE.js.gz new file mode 100644 index 000000000..2c9991136 Binary files /dev/null and b/static/v1/_app/immutable/nodes/17.Ki1LM_nE.js.gz differ diff --git a/static/v1/_app/immutable/nodes/14.BdKGQmKP.js b/static/v1/_app/immutable/nodes/18.1Bb8eTce.js similarity index 69% rename from static/v1/_app/immutable/nodes/14.BdKGQmKP.js rename to static/v1/_app/immutable/nodes/18.1Bb8eTce.js index a33b4ec20..cfa71408c 100644 --- a/static/v1/_app/immutable/nodes/14.BdKGQmKP.js +++ b/static/v1/_app/immutable/nodes/18.1Bb8eTce.js @@ -1,10 +1,10 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{p as he,c as p,Q as wt,r as m,s as l,t as oe,a as _e,aH as It,i as N,h as n,g as e,O as Pe,f as te,ap as h}from"../chunks/runtime.BsghBUX9.js";import{k as Et,s as ve}from"../chunks/render.CTp9lacC.js";import{e as it}from"../chunks/each.URXtkKAp.js";import{a as o,t as C,d as f,e as He}from"../chunks/template.jENAUvUX.js";import{p as d}from"../chunks/proxy.YH42NwLs.js";import{c as Ct,o as Ue}from"../chunks/index-client.ClP8y9aT.js";import{i as M}from"../chunks/if.6Ov_EDLa.js";import{p as se,r as yt}from"../chunks/props.CslUVmW_.js";import{r as ke}from"../chunks/legacy-client.DY3VEcT0.js";import{E as lt}from"../chunks/ExpandContainer.BAZSCBeT.js";import{c as Ge,a as A,I as S}from"../chunks/Input.B4ccwD4n.js";import{m as ae,Z as nt,$ as ot,a0 as je,n as Ze}from"../chunks/helpers.CBl6QeM5.js";import{g as ct,B as fe}from"../chunks/Button.CHwcFOJ-.js";import{O as kt,y as At,z as Rt,A as Tt,B as Lt,C as Nt,D as St,E as Dt}from"../chunks/OptionSelect.Cn2sqgid.js";import{S as ie,P as dt}from"../chunks/PasswordInput.CnOR-d9I.js";import{C as ut}from"../chunks/CheckIcon.CMbYrOAg.js";import{s as Ot}from"../chunks/snippet.C6jUNrz1.js";import{a as Ae,s as Me,i as xt,b as Re,c as Te}from"../chunks/index.G5lyZbma.js";import{T as vt}from"../chunks/Tooltip.D8Tbt6Nb.js";import{T as Pt}from"../chunks/TabBar.g4Oe_bq5.js";import{I as Ut}from"../chunks/ImageUploadRaw.Bzhki7lp.js";var Mt=C(`

ID token claim mappings

Values from the ID token after a successful upstream login can be mapped automatically.

The path needs to be given in a regex like syntax. It can resolve to - single JSON values or resolve to a value in a JSON object or array.

$. marks the start of the JSON object

* can be used as a wildcard in your path

$.roles would target {"roles": "value"}

$.roles.* can target a value inside an object or array like
{"roles": ["value", "notMyValue"]}

`);function mt(G){var g=Mt();o(G,g)}var zt=C('
'),qt=C('
');function Je(G,g){he(g,!0);let a=se(g,"rows",3,10),v=se(g,"cols",3,10),R=se(g,"name",19,ct),b=se(g,"disabled",3,!1),I=se(g,"error",3,""),w=se(g,"value",15),D=se(g,"width",3,"32rem"),P=se(g,"fixed",3,!0),u=yt(g,["$$slots","$$events","$$legacy","rows","cols","name","disabled","error","value","width","fixed","children"]);const _=Ct();async function i(F){await It(),w(F.target.value),_("input",w())}function z(){_("focus",!0)}function c(){_("blur",!0)}var s=qt(),E=p(s),K=p(E),Y=p(K),U=p(Y);Ot(U,()=>g.children??wt),m(Y),m(K),m(E);var V=l(E,2);Et(V);let q;var j=l(V,2);{var ce=F=>{var Z=zt(),ne=p(Z,!0);m(Z),oe(()=>{Ae(Z,"width",D()),ve(ne,I())}),Re(7,Z,()=>Te,()=>({duration:250})),o(F,Z)};M(j,F=>{I()&&F(ce)})}m(s),oe(()=>{Ae(s,"width",`calc(${D()??""} + 12px)`),Ae(K,"background",b()?"var(--col-gmid)":"var(--col-bg)"),Me(Y,"for",R()),q=xt(V,q,{name:R(),disabled:b(),value:w(),rows:a(),cols:v(),...u,oninput:i,onfocus:z,onblur:c},"svelte-w61ts0"),Ae(V,"resize",P()?"none":""),Ae(V,"width",D())}),o(G,s),_e()}var Ft=C('
ADD NEW AUTHENTICATION PROVIDER
'),Kt=C('
Allow insecure TLS certificates
',1),Vt=C('
Custom Root CA PEM
',1),Ht=C(" ",1),Gt=C(" ",1),jt=C('
Allow insecure TLS certificates
',1),Zt=C(`
Use PKCE
The scope the client should use when redirecting to the login.
Provide the values separated by space.
Client name for the Rauthy login form
Client ID given by the auth provider
Client Secret given by the auth provider.
At least a client secret or PKCE is required.

The authentication method to use on the /token endpoint.
Most providers should work with basic, some only with post. +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{p as he,aJ as wt,c as p,F as It,r as m,s as l,t as oe,a as _e,aN as Et,i as L,ao as Pe,h as n,g as e,a9 as Ue,f as te,aq as h}from"../chunks/index-client.DAoU_hDn.js";import{k as Ct,s as ve}from"../chunks/render.mNhspeV3.js";import{e as it}from"../chunks/each.DTG73tix.js";import{a as o,t as C,d as f,e as Ge}from"../chunks/template.DcxtE4ym.js";import{p as d}from"../chunks/proxy.D3ASEzk3.js";import{i as M}from"../chunks/if.BANCODOf.js";import{p as se,r as yt}from"../chunks/props.VJ8UyA45.js";import{r as ke}from"../chunks/legacy-client.rYJ80fHr.js";import{E as lt}from"../chunks/ExpandContainer.mM6ZiTQe.js";import{c as He,a as A,I as S}from"../chunks/Input.C04-Kl2S.js";import{n as ae,$ as nt,a0 as ot,a1 as je,o as Ye}from"../chunks/helpers.BV-akmwW.js";import{B as fe}from"../chunks/Button.CKHLXer8.js";import{y as kt,z as At,A as Rt,B as Tt,C as Nt,D as Lt,E as St}from"../chunks/dataFetchingAdmin.D7RWqeRL.js";import{S as ie,P as ct}from"../chunks/PasswordInput.JBBIMWuW.js";import{C as dt}from"../chunks/CheckIcon.CrU43zqd.js";import{O as Dt,T as ut}from"../chunks/OptionSelect.CBlj_bre.js";import{s as Ot}from"../chunks/snippet.DHnbbgSs.js";import{s as Me,d as xt}from"../chunks/class.DWa3OhYO.js";import{s as Ae,t as Re,a as Te}from"../chunks/index.DER1jHiU.js";import{g as vt}from"../chunks/helpers.mrWtKrwW.js";import{T as Pt}from"../chunks/TabBar.BqcS880p.js";import{I as Ut}from"../chunks/ImageUploadRaw.BJmDAa-L.js";var Mt=C(`

ID token claim mappings

Values from the ID token after a successful upstream login can be mapped automatically.

The path needs to be given in a regex like syntax. It can resolve to + single JSON values or resolve to a value in a JSON object or array.

$. marks the start of the JSON object

* can be used as a wildcard in your path

$.roles would target {"roles": "value"}

$.roles.* can target a value inside an object or array like
{"roles": ["value", "notMyValue"]}

`);function mt(H){var g=Mt();o(H,g)}var zt=C('
'),qt=C('
');function Ze(H,g){he(g,!0);let a=se(g,"rows",3,10),v=se(g,"cols",3,10),R=se(g,"name",19,vt),b=se(g,"disabled",3,!1),I=se(g,"error",3,""),w=se(g,"value",15),D=se(g,"width",3,"32rem"),P=se(g,"fixed",3,!0),u=yt(g,["$$slots","$$events","$$legacy","rows","cols","name","disabled","error","value","width","fixed","children"]);const _=wt();async function i(F){await Et(),w(F.target.value),_("input",w())}function z(){_("focus",!0)}function c(){_("blur",!0)}var s=qt(),E=p(s),K=p(E),B=p(K),U=p(B);Ot(U,()=>g.children??It),m(B),m(K),m(E);var V=l(E,2);Ct(V);let q;var j=l(V,2);{var ce=F=>{var Y=zt(),ne=p(Y,!0);m(Y),oe(()=>{Ae(Y,"width",D()),ve(ne,I())}),Re(7,Y,()=>Te,()=>({duration:250})),o(F,Y)};M(j,F=>{I()&&F(ce)})}m(s),oe(()=>{Ae(s,"width",`calc(${D()??""} + 12px)`),Ae(K,"background",b()?"var(--col-gmid)":"var(--col-bg)"),Me(B,"for",R()),q=xt(V,q,{name:R(),disabled:b(),value:w(),rows:a(),cols:v(),...u,oninput:i,onfocus:z,onblur:c},"svelte-w61ts0"),Ae(V,"resize",P()?"none":""),Ae(V,"width",D())}),o(H,s),_e()}var Ft=C('
ADD NEW AUTHENTICATION PROVIDER
'),Kt=C('
Allow insecure TLS certificates
',1),Vt=C('
Custom Root CA PEM
',1),Gt=C(" ",1),Ht=C(" ",1),jt=C('
Allow insecure TLS certificates
',1),Yt=C(`
Use PKCE
The scope the client should use when redirecting to the login.
Provide the values separated by space.
Client name for the Rauthy login form
Client ID given by the auth provider
Client Secret given by the auth provider.
At least a client secret or PKCE is required.

The authentication method to use on the /token endpoint.
Most providers should work with basic, some only with post. In rare situations, you need both, while it can lead to errors with others.

client_secret_basic
client_secret_post

You can map a user to be a rauthy admin depending on an upstream ID claim.

If your provider issues a claim indicating that the user has used at least 2FA during - login, you can specify the mfa claim path.

`,1),Jt=C('
Success
'),Yt=C('
'),Bt=C('
Type
');function Qt(G,g){he(g,!0);let a=se(g,"idx",31,()=>-1);const v="25rem";let R=N(!1),b=N(!1),I=N(""),w=N(!1),D=N(!1),P=N(void 0),u=N(!1),_=N(d({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),i=N(d({enabled:!0,typ:"oidc",issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",token_auth_method_basic:!1,userinfo_endpoint:"",use_pkce:!0,client_secret_basic:!0,client_secret_post:!1,name:"",client_id:"",client_secret:"",scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null})),z=["OIDC","Auto","Custom","Github","Google"],c=N(d(z[0])),s=N(d({}));const E=Ge().shape({issuer:A().trim().matches(ae,"Can only contain URI safe characters, length max: 128").required("Required"),authorization_endpoint:A().url().required("Required"),token_endpoint:A().url().required("Required"),userinfo_endpoint:A().url().required("Required"),name:A().trim().matches(nt,"Can only contain: 'a-zA-Z0-9\xC0-\xFF- ', length max: 128").required("Required"),client_id:A().trim().matches(ae,"Can only contain URI safe characters, length max: 128").required("Required"),client_secret:A().trim().max(256,"Max 256 characters"),scope:A().trim().matches(ot,"Can only contain: 'a-zA-Z0-9-_/ ', length max: 128").required("Required"),root_pem:A().trim().nullable().matches(je,"Invalid PEM certificate"),admin_claim_path:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),admin_claim_value:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),mfa_claim_path:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),mfa_claim_value:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128")}),K=Ge().shape({issuer:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),metadata_url:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),root_pem:A().trim().nullable().matches(je,"Valid PEM certificate")});Ue(()=>()=>{n(R,!1),clearTimeout(e(P))});async function Y(){if(!await q())return;if(!e(i).use_pkce&&!e(i).client_secret){n(I,"Must at least be a confidential client or use PKCE");return}n(I,""),n(b,!0),e(i).root_pem&&(e(i).danger_allow_insecure=!1,e(i).root_pem=e(i).root_pem.trim()),e(ce)?e(i).typ="custom":e(i).typ=e(c).toLowerCase(),e(i).scope=e(i).scope.trim();let L=await Rt(e(i));if(L.ok)n(D,!0);else{let T=await L.json();T.message.includes("InvalidCertificate")?n(I,"Insecure connection not allowed"):n(I,d(T.message))}n(b,!1)}async function U(){if(!await j()){n(I,"Invalid input");return}n(I,""),n(b,!0);let L=await At(e(_));if(L.ok){const T=await L.json();e(i).issuer=T.issuer,e(i).authorization_endpoint=T.authorization_endpoint,e(i).danger_allow_insecure=T.danger_allow_insecure,e(i).token_endpoint=T.token_endpoint,e(i).userinfo_endpoint=T.userinfo_endpoint,e(i).token_auth_method_basic=T.token_auth_method_basic,e(i).use_pkce=T.use_pkce,e(i).client_secret_basic=T.client_secret_basic,e(i).client_secret_post=!T.client_secret_basic&&T.client_secret_post,e(i).scope=T.scope,e(i).root_pem=T.root_pem,n(w,!0)}else{let T=await L.json();T.message.includes("InvalidCertificate")?n(I,"Insecure connection not allowed"):n(I,d(T.message))}n(b,!1)}function V(){n(_,d({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),n(i,d({enabled:!0,issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",userinfo_endpoint:"",use_pkce:!0,client_secret_basic:!0,client_secret_post:!1,scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null})),n(w,!1),n(u,!1)}async function q(){n(s,d({}));try{return await E.validate(e(i),{abortEarly:!1}),e(i).client_secret&&!(e(i).client_secret_basic||e(i).client_secret_post)?(n(I,"You have given a client secret, but no client auth method is active"),!1):(n(I,"Invalid input"),!0)}catch(L){return n(s,d(Ze(L))),L="Invalid input",!1}}async function j(){n(s,d({}));try{return await K.validate(e(_),{abortEarly:!1}),!e(_).issuer&&!e(_).metadata_url?(e(s).issuer="Required",e(s).metadata_url=e(s).issuer,!1):!0}catch(L){return n(s,d(Ze(L))),!1}}let ce=Pe(()=>e(c)===z[1]),F=Pe(()=>e(c)===z[2]),Z=Pe(()=>e(c)===z[0]),ne=Pe(()=>!e(ce)&&!e(F)&&!e(Z));ke(()=>{if(e(c))switch(n(w,!1),n(s,d({})),n(_,d({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),e(c)){case"Github":n(i,d({enabled:!0,issuer:"github.com",danger_allow_insecure:!1,authorization_endpoint:"https://github.com/login/oauth/authorize",token_endpoint:"https://github.com/login/oauth/access_token",token_auth_method_basic:!1,userinfo_endpoint:"https://api.github.com/user",use_pkce:!1,name:"Github",client_id:"",client_secret:"",scope:"user:email",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:"$.two_factor_authentication",mfa_claim_value:"true"}));break;case"Google":n(_,d({issuer:"accounts.google.com",metadata_url:null,danger_allow_insecure:!1,root_pem:null})),U();break;default:n(i,d({enabled:!0,typ:"oidc",issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",token_auth_method_basic:!1,userinfo_endpoint:"",use_pkce:!0,name:"",client_id:"",client_secret:"",scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null}))}}),ke(()=>{e(D)&&n(P,d(setTimeout(()=>{g.onSave(),n(D,!1),n(R,!1),V()},1500)))}),lt(G,{get idx(){return a()},set idx(L){a(L)},get show(){return e(R)},set show(L){n(R,d(L))},header:L=>{var T=Ft();o(L,T)},body:L=>{var T=Bt(),ge=l(p(T),2),Ie=p(ge);kt(Ie,{options:z,get value(){return e(c)},set value(O){n(c,d(O))}}),m(ge);var Le=l(ge,2);{var Ne=O=>{var J=Vt(),re=l(te(J),2),me=p(re);ie(me,{get selected(){return e(u)},set selected(Q){n(u,d(Q))}}),m(re);var B=l(re,2);{var X=Q=>{Je(Q,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE----- - -----END CERTIFICATE-----`,get error(){return e(s).root_pem},get value(){return e(_).root_pem},set value(le){e(_).root_pem=le},children:(le,H)=>{h();var de=f("Root Certificate in PEM format");o(le,de)},$$slots:{default:!0}})},ee=Q=>{var le=Kt(),H=l(te(le),2),de=p(H);ie(de,{get selected(){return e(_).danger_allow_insecure},set selected(t){e(_).danger_allow_insecure=t}}),m(H),o(Q,le)};M(B,Q=>{e(u)?Q(X):Q(ee,!1)})}o(O,J)};M(Le,O=>{e(w)||O(Ne)})}var Ee=l(Le,2);{var Se=O=>{var J=Ht(),re=te(J);S(re,{type:"url",name:"issuer",placeholder:"Issuer URL",width:v,get value(){return e(_).issuer},set value(B){e(_).issuer=B},get error(){return e(s).issuer},set error(B){e(s).issuer=B},$$events:{input:j,enter:U},children:(B,X)=>{h();var ee=f("ISSUER URL");o(B,ee)},$$slots:{default:!0}});var me=l(re,2);fe(me,{level:1,width:"6rem",get isLoading(){return e(b)},set isLoading(B){n(b,d(B))},$$events:{click:U},children:(B,X)=>{h();var ee=f("LOOKUP");o(B,ee)},$$slots:{default:!0}}),o(O,J)},De=O=>{var J=He(),re=te(J);{var me=X=>{var ee=Gt(),Q=te(ee);S(Q,{type:"url",name:"metadata",placeholder:".../.well-known/openid-configuration",width:v,get value(){return e(_).metadata_url},set value(H){e(_).metadata_url=H},get error(){return e(s).metadata_url},set error(H){e(s).metadata_url=H},$$events:{input:j,enter:U},children:(H,de)=>{h();var t=f("METADATA URL");o(H,t)},$$slots:{default:!0}});var le=l(Q,2);fe(le,{level:1,width:"6rem",get isLoading(){return e(b)},set isLoading(H){n(b,d(H))},$$events:{click:U},children:(H,de)=>{h();var t=f("LOOKUP");o(H,t)},$$slots:{default:!0}}),o(X,ee)},B=X=>{var ee=He(),Q=te(ee);{var le=H=>{var de=Zt(),t=te(de);{var k=r=>{Je(r,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE----- - -----END CERTIFICATE-----`,get error(){return e(s).root_pem},get disabled(){return e(w)},get value(){return e(i).root_pem},set value(x){e(i).root_pem=x},children:(x,y)=>{h();var Ve=f("Root Certificate in PEM format");o(x,Ve)},$$slots:{default:!0}})},$=r=>{var x=jt(),y=l(te(x),2),Ve=p(y);{var gt=we=>{ut(we,{get check(){return e(i).danger_allow_insecure}})},$t=we=>{ie(we,{get selected(){return e(i).danger_allow_insecure},set selected(bt){e(i).danger_allow_insecure=bt}})};M(Ve,we=>{e(w)?we(gt):we($t,!1)})}m(y),o(r,x)};M(t,r=>{e(u)?r(k):r($,!1)})}var ue=l(t,2);S(ue,{type:"url",name:"issuer",placeholder:"Issuer URL",width:v,get disabled(){return e(w)},get value(){return e(i).issuer},set value(r){e(i).issuer=r},get error(){return e(s).issuer},set error(r){e(s).issuer=r},$$events:{input:j},children:(r,x)=>{h();var y=f("ISSUER URL");o(r,y)},$$slots:{default:!0}});var be=l(ue,2);S(be,{type:"url",name:"auth_endpoint",placeholder:"Authorization Endpoint",width:v,get disabled(){return e(w)},get value(){return e(i).authorization_endpoint},set value(r){e(i).authorization_endpoint=r},get error(){return e(s).authorization_endpoint},set error(r){e(s).authorization_endpoint=r},$$events:{input:j},children:(r,x)=>{h();var y=f("AUTHORIZATION ENDPOINT");o(r,y)},$$slots:{default:!0}});var Oe=l(be,2);S(Oe,{type:"url",name:"token_endpoint",placeholder:"Token Endpoint",width:v,get disabled(){return e(w)},get value(){return e(i).token_endpoint},set value(r){e(i).token_endpoint=r},get error(){return e(s).token_endpoint},set error(r){e(s).token_endpoint=r},$$events:{input:j},children:(r,x)=>{h();var y=f("TOKEN ENDPOINT");o(r,y)},$$slots:{default:!0}});var xe=l(Oe,2);S(xe,{type:"url",name:"userinfo_endpoint",placeholder:"Userinfo Endpoint",width:v,get disabled(){return e(w)},get value(){return e(i).userinfo_endpoint},set value(r){e(i).userinfo_endpoint=r},get error(){return e(s).userinfo_endpoint},set error(r){e(s).userinfo_endpoint=r},$$events:{input:j},children:(r,x)=>{h();var y=f("USERINFO ENDPOINT");o(r,y)},$$slots:{default:!0}});var W=l(xe,4),pe=p(W);{var ye=r=>{ut(r,{get check(){return e(i).use_pkce}})},pt=r=>{ie(r,{get selected(){return e(i).use_pkce},set selected(x){e(i).use_pkce=x}})};M(pe,r=>{e(w)?r(ye):r(pt,!1)})}m(W);var Ye=l(W,4);S(Ye,{name:"scope",placeholder:"openid profile email",width:v,get value(){return e(i).scope},set value(r){e(i).scope=r},get error(){return e(s).scope},set error(r){e(s).scope=r},$$events:{input:q},children:(r,x)=>{h();var y=f("SCOPE");o(r,y)},$$slots:{default:!0}});var Be=l(Ye,4);S(Be,{name:"client_name",placeholder:"Client Name",width:v,get value(){return e(i).name},set value(r){e(i).name=r},get error(){return e(s).name},set error(r){e(s).name=r},$$events:{input:q},children:(r,x)=>{h();var y=f("CLIENT NAME");o(r,y)},$$slots:{default:!0}});var Qe=l(Be,4);S(Qe,{name:"client_id",autocomplete:"off",placeholder:"Client ID",width:v,get value(){return e(i).client_id},set value(r){e(i).client_id=r},get error(){return e(s).client_id},set error(r){e(s).client_id=r},$$events:{input:q},children:(r,x)=>{h();var y=f("CLIENT ID");o(r,y)},$$slots:{default:!0}});var We=l(Qe,4);dt(We,{name:"client_secret",get error(){return e(s).client_secret},autocomplete:"off",placeholder:"Client Secret",width:v,get value(){return e(i).client_secret},set value(r){e(i).client_secret=r},$$events:{input:q},children:(r,x)=>{h();var y=f("CLIENT SECRET");o(r,y)},$$slots:{default:!0}});var Fe=l(We,4),ht=l(p(Fe),2);ie(ht,{get selected(){return e(i).client_secret_basic},set selected(r){e(i).client_secret_basic=r}}),m(Fe);var Ke=l(Fe,2),_t=l(p(Ke),2);ie(_t,{get selected(){return e(i).client_secret_post},set selected(r){e(i).client_secret_post=r}}),m(Ke);var Xe=l(Ke,2);mt(Xe);var et=l(Xe,4);S(et,{name:"admin_claim_path",placeholder:"$.roles.*",width:v,get value(){return e(i).admin_claim_path},set value(r){e(i).admin_claim_path=r},get error(){return e(s).admin_claim_path},set error(r){e(s).admin_claim_path=r},$$events:{input:q},children:(r,x)=>{h();var y=f("ADMIN CLAIM PATH");o(r,y)},$$slots:{default:!0}});var tt=l(et,2);S(tt,{name:"admin_claim_value",placeholder:"rauthy_admin",width:v,get value(){return e(i).admin_claim_value},set value(r){e(i).admin_claim_value=r},get error(){return e(s).admin_claim_value},set error(r){e(s).admin_claim_value=r},$$events:{input:q},children:(r,x)=>{h();var y=f("ADMIN CLAIM VALUE");o(r,y)},$$slots:{default:!0}});var at=l(tt,4);S(at,{name:"mfa_claim_path",placeholder:"$.amr.*",width:v,get value(){return e(i).mfa_claim_path},set value(r){e(i).mfa_claim_path=r},get error(){return e(s).mfa_claim_path},set error(r){e(s).mfa_claim_path=r},$$events:{input:q},children:(r,x)=>{h();var y=f("MFA CLAIM PATH");o(r,y)},$$slots:{default:!0}});var rt=l(at,2);S(rt,{name:"mfa_claim_value",placeholder:"mfa",width:v,get value(){return e(i).mfa_claim_value},set value(r){e(i).mfa_claim_value=r},get error(){return e(s).mfa_claim_value},set error(r){e(s).mfa_claim_value=r},$$events:{input:q},children:(r,x)=>{h();var y=f("MFA CLAIM VALUE");o(r,y)},$$slots:{default:!0}});var st=l(rt,2);fe(st,{level:1,width:"6rem",get isLoading(){return e(b)},set isLoading(r){n(b,d(r))},$$events:{click:Y},children:(r,x)=>{h();var y=f("SAVE");o(r,y)},$$slots:{default:!0}});var ft=l(st,2);fe(ft,{level:4,width:"6rem",get isLoading(){return e(b)},set isLoading(r){n(b,d(r))},$$events:{click:V},children:(r,x)=>{h();var y=f("RESET");o(r,y)},$$slots:{default:!0}}),o(H,de)};M(Q,H=>{(e(ne)||e(F)||e(w))&&H(le)},!0)}o(X,ee)};M(re,X=>{e(ce)&&!e(w)?X(me):X(B,!1)},!0)}o(O,J)};M(Ee,O=>{e(Z)&&!e(w)?O(Se):O(De,!1)})}var $e=l(Ee,2);{var ze=O=>{var J=Jt();o(O,J)};M($e,O=>{e(D)&&O(ze)})}var Ce=l($e,2);{var qe=O=>{var J=Yt(),re=p(J,!0);m(J),oe(()=>ve(re,e(I))),o(O,J)};M(Ce,O=>{e(I)&&O(qe)})}m(T),o(L,T)},$$slots:{header:!0,body:!0}}),_e()}var Wt=C('No Logo Available');function Xt(G,g){he(g,!0);var a=Wt();oe(()=>Me(a,"src",`/auth/v1/providers/${g.providerId}/img?${ct(6)}`)),Me(a,"width",20),Me(a,"height",20),o(G,a),_e()}var ea=C('
Allow insecure TLS certificates
',1),ta=C('
Success
'),aa=C('
'),ra=C(" ",1),sa=C(`
ID
Enabled
Custom Root CA PEM
Use PKCE
The scope the client should use when redirecting to the login.
Provide the values separated by space.
Client name for the Rauthy login form
Client ID given by the auth provider
Client Secret given by the auth provider.
At least a client secret or PKCE is required.

The authentication method to use on the /token endpoint.
Most providers should work with basic, some only with post. + login, you can specify the mfa claim path.

`,1),Zt=C('
Success
'),Bt=C('
'),Jt=C('
Type
');function Wt(H,g){he(g,!0);let a=se(g,"idx",31,()=>-1);const v="25rem";let R=L(!1),b=L(!1),I=L(""),w=L(!1),D=L(!1),P=L(void 0),u=L(!1),_=L(d({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),i=L(d({enabled:!0,typ:"oidc",issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",token_auth_method_basic:!1,userinfo_endpoint:"",use_pkce:!0,client_secret_basic:!0,client_secret_post:!1,name:"",client_id:"",client_secret:"",scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null})),z=["OIDC","Auto","Custom","Github","Google"],c=L(d(z[0])),s=L(d({}));const E=He().shape({issuer:A().trim().matches(ae,"Can only contain URI safe characters, length max: 128").required("Required"),authorization_endpoint:A().url().required("Required"),token_endpoint:A().url().required("Required"),userinfo_endpoint:A().url().required("Required"),name:A().trim().matches(nt,"Can only contain: 'a-zA-Z0-9\xC0-\xFF- ', length max: 128").required("Required"),client_id:A().trim().matches(ae,"Can only contain URI safe characters, length max: 128").required("Required"),client_secret:A().trim().max(256,"Max 256 characters"),scope:A().trim().matches(ot,"Can only contain: 'a-zA-Z0-9-_/ ', length max: 128").required("Required"),root_pem:A().trim().nullable().matches(je,"Invalid PEM certificate"),admin_claim_path:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),admin_claim_value:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),mfa_claim_path:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),mfa_claim_value:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128")}),K=He().shape({issuer:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),metadata_url:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),root_pem:A().trim().nullable().matches(je,"Valid PEM certificate")});Pe(()=>()=>{n(R,!1),clearTimeout(e(P))});async function B(){if(!await q())return;if(!e(i).use_pkce&&!e(i).client_secret){n(I,"Must at least be a confidential client or use PKCE");return}n(I,""),n(b,!0),e(i).root_pem&&(e(i).danger_allow_insecure=!1,e(i).root_pem=e(i).root_pem.trim()),e(ce)?e(i).typ="custom":e(i).typ=e(c).toLowerCase(),e(i).scope=e(i).scope.trim();let N=await At(e(i));if(N.ok)n(D,!0);else{let T=await N.json();T.message.includes("InvalidCertificate")?n(I,"Insecure connection not allowed"):n(I,d(T.message))}n(b,!1)}async function U(){if(!await j()){n(I,"Invalid input");return}n(I,""),n(b,!0);let N=await kt(e(_));if(N.ok){const T=await N.json();e(i).issuer=T.issuer,e(i).authorization_endpoint=T.authorization_endpoint,e(i).danger_allow_insecure=T.danger_allow_insecure,e(i).token_endpoint=T.token_endpoint,e(i).userinfo_endpoint=T.userinfo_endpoint,e(i).token_auth_method_basic=T.token_auth_method_basic,e(i).use_pkce=T.use_pkce,e(i).client_secret_basic=T.client_secret_basic,e(i).client_secret_post=!T.client_secret_basic&&T.client_secret_post,e(i).scope=T.scope,e(i).root_pem=T.root_pem,n(w,!0)}else{let T=await N.json();T.message.includes("InvalidCertificate")?n(I,"Insecure connection not allowed"):n(I,d(T.message))}n(b,!1)}function V(){n(_,d({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),n(i,d({enabled:!0,issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",userinfo_endpoint:"",use_pkce:!0,client_secret_basic:!0,client_secret_post:!1,scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null})),n(w,!1),n(u,!1)}async function q(){n(s,d({}));try{return await E.validate(e(i),{abortEarly:!1}),e(i).client_secret&&!(e(i).client_secret_basic||e(i).client_secret_post)?(n(I,"You have given a client secret, but no client auth method is active"),!1):(n(I,"Invalid input"),!0)}catch(N){return n(s,d(Ye(N))),N="Invalid input",!1}}async function j(){n(s,d({}));try{return await K.validate(e(_),{abortEarly:!1}),!e(_).issuer&&!e(_).metadata_url?(e(s).issuer="Required",e(s).metadata_url=e(s).issuer,!1):!0}catch(N){return n(s,d(Ye(N))),!1}}let ce=Ue(()=>e(c)===z[1]),F=Ue(()=>e(c)===z[2]),Y=Ue(()=>e(c)===z[0]),ne=Ue(()=>!e(ce)&&!e(F)&&!e(Y));ke(()=>{if(e(c))switch(n(w,!1),n(s,d({})),n(_,d({issuer:null,metadata_url:null,danger_allow_insecure:!1,root_pem:null})),e(c)){case"Github":n(i,d({enabled:!0,issuer:"github.com",danger_allow_insecure:!1,authorization_endpoint:"https://github.com/login/oauth/authorize",token_endpoint:"https://github.com/login/oauth/access_token",token_auth_method_basic:!1,userinfo_endpoint:"https://api.github.com/user",use_pkce:!1,name:"Github",client_id:"",client_secret:"",scope:"user:email",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:"$.two_factor_authentication",mfa_claim_value:"true"}));break;case"Google":n(_,d({issuer:"accounts.google.com",metadata_url:null,danger_allow_insecure:!1,root_pem:null})),U();break;default:n(i,d({enabled:!0,typ:"oidc",issuer:"",danger_allow_insecure:!1,authorization_endpoint:"",token_endpoint:"",token_auth_method_basic:!1,userinfo_endpoint:"",use_pkce:!0,name:"",client_id:"",client_secret:"",scope:"",root_pem:null,admin_claim_path:null,admin_claim_value:null,mfa_claim_path:null,mfa_claim_value:null}))}}),ke(()=>{e(D)&&n(P,d(setTimeout(()=>{g.onSave(),n(D,!1),n(R,!1),V()},1500)))}),lt(H,{get idx(){return a()},set idx(N){a(N)},get show(){return e(R)},set show(N){n(R,d(N))},header:N=>{var T=Ft();o(N,T)},body:N=>{var T=Jt(),ge=l(p(T),2),Ie=p(ge);Dt(Ie,{options:z,get value(){return e(c)},set value(O){n(c,d(O))}}),m(ge);var Ne=l(ge,2);{var Le=O=>{var Z=Vt(),re=l(te(Z),2),me=p(re);ie(me,{get selected(){return e(u)},set selected(W){n(u,d(W))}}),m(re);var J=l(re,2);{var X=W=>{Ze(W,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE----- + -----END CERTIFICATE-----`,get error(){return e(s).root_pem},get value(){return e(_).root_pem},set value(le){e(_).root_pem=le},children:(le,G)=>{h();var de=f("Root Certificate in PEM format");o(le,de)},$$slots:{default:!0}})},ee=W=>{var le=Kt(),G=l(te(le),2),de=p(G);ie(de,{get selected(){return e(_).danger_allow_insecure},set selected(t){e(_).danger_allow_insecure=t}}),m(G),o(W,le)};M(J,W=>{e(u)?W(X):W(ee,!1)})}o(O,Z)};M(Ne,O=>{e(w)||O(Le)})}var Ee=l(Ne,2);{var Se=O=>{var Z=Gt(),re=te(Z);S(re,{type:"url",name:"issuer",placeholder:"Issuer URL",width:v,get value(){return e(_).issuer},set value(J){e(_).issuer=J},get error(){return e(s).issuer},set error(J){e(s).issuer=J},$$events:{input:j,enter:U},children:(J,X)=>{h();var ee=f("ISSUER URL");o(J,ee)},$$slots:{default:!0}});var me=l(re,2);fe(me,{level:1,width:"6rem",get isLoading(){return e(b)},set isLoading(J){n(b,d(J))},$$events:{click:U},children:(J,X)=>{h();var ee=f("LOOKUP");o(J,ee)},$$slots:{default:!0}}),o(O,Z)},De=O=>{var Z=Ge(),re=te(Z);{var me=X=>{var ee=Ht(),W=te(ee);S(W,{type:"url",name:"metadata",placeholder:".../.well-known/openid-configuration",width:v,get value(){return e(_).metadata_url},set value(G){e(_).metadata_url=G},get error(){return e(s).metadata_url},set error(G){e(s).metadata_url=G},$$events:{input:j,enter:U},children:(G,de)=>{h();var t=f("METADATA URL");o(G,t)},$$slots:{default:!0}});var le=l(W,2);fe(le,{level:1,width:"6rem",get isLoading(){return e(b)},set isLoading(G){n(b,d(G))},$$events:{click:U},children:(G,de)=>{h();var t=f("LOOKUP");o(G,t)},$$slots:{default:!0}}),o(X,ee)},J=X=>{var ee=Ge(),W=te(ee);{var le=G=>{var de=Yt(),t=te(de);{var k=r=>{Ze(r,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE----- + -----END CERTIFICATE-----`,get error(){return e(s).root_pem},get disabled(){return e(w)},get value(){return e(i).root_pem},set value(x){e(i).root_pem=x},children:(x,y)=>{h();var Ve=f("Root Certificate in PEM format");o(x,Ve)},$$slots:{default:!0}})},$=r=>{var x=jt(),y=l(te(x),2),Ve=p(y);{var gt=we=>{dt(we,{get check(){return e(i).danger_allow_insecure}})},$t=we=>{ie(we,{get selected(){return e(i).danger_allow_insecure},set selected(bt){e(i).danger_allow_insecure=bt}})};M(Ve,we=>{e(w)?we(gt):we($t,!1)})}m(y),o(r,x)};M(t,r=>{e(u)?r(k):r($,!1)})}var ue=l(t,2);S(ue,{type:"url",name:"issuer",placeholder:"Issuer URL",width:v,get disabled(){return e(w)},get value(){return e(i).issuer},set value(r){e(i).issuer=r},get error(){return e(s).issuer},set error(r){e(s).issuer=r},$$events:{input:j},children:(r,x)=>{h();var y=f("ISSUER URL");o(r,y)},$$slots:{default:!0}});var be=l(ue,2);S(be,{type:"url",name:"auth_endpoint",placeholder:"Authorization Endpoint",width:v,get disabled(){return e(w)},get value(){return e(i).authorization_endpoint},set value(r){e(i).authorization_endpoint=r},get error(){return e(s).authorization_endpoint},set error(r){e(s).authorization_endpoint=r},$$events:{input:j},children:(r,x)=>{h();var y=f("AUTHORIZATION ENDPOINT");o(r,y)},$$slots:{default:!0}});var Oe=l(be,2);S(Oe,{type:"url",name:"token_endpoint",placeholder:"Token Endpoint",width:v,get disabled(){return e(w)},get value(){return e(i).token_endpoint},set value(r){e(i).token_endpoint=r},get error(){return e(s).token_endpoint},set error(r){e(s).token_endpoint=r},$$events:{input:j},children:(r,x)=>{h();var y=f("TOKEN ENDPOINT");o(r,y)},$$slots:{default:!0}});var xe=l(Oe,2);S(xe,{type:"url",name:"userinfo_endpoint",placeholder:"Userinfo Endpoint",width:v,get disabled(){return e(w)},get value(){return e(i).userinfo_endpoint},set value(r){e(i).userinfo_endpoint=r},get error(){return e(s).userinfo_endpoint},set error(r){e(s).userinfo_endpoint=r},$$events:{input:j},children:(r,x)=>{h();var y=f("USERINFO ENDPOINT");o(r,y)},$$slots:{default:!0}});var Q=l(xe,4),pe=p(Q);{var ye=r=>{dt(r,{get check(){return e(i).use_pkce}})},pt=r=>{ie(r,{get selected(){return e(i).use_pkce},set selected(x){e(i).use_pkce=x}})};M(pe,r=>{e(w)?r(ye):r(pt,!1)})}m(Q);var Be=l(Q,4);S(Be,{name:"scope",placeholder:"openid profile email",width:v,get value(){return e(i).scope},set value(r){e(i).scope=r},get error(){return e(s).scope},set error(r){e(s).scope=r},$$events:{input:q},children:(r,x)=>{h();var y=f("SCOPE");o(r,y)},$$slots:{default:!0}});var Je=l(Be,4);S(Je,{name:"client_name",placeholder:"Client Name",width:v,get value(){return e(i).name},set value(r){e(i).name=r},get error(){return e(s).name},set error(r){e(s).name=r},$$events:{input:q},children:(r,x)=>{h();var y=f("CLIENT NAME");o(r,y)},$$slots:{default:!0}});var We=l(Je,4);S(We,{name:"client_id",autocomplete:"off",placeholder:"Client ID",width:v,get value(){return e(i).client_id},set value(r){e(i).client_id=r},get error(){return e(s).client_id},set error(r){e(s).client_id=r},$$events:{input:q},children:(r,x)=>{h();var y=f("CLIENT ID");o(r,y)},$$slots:{default:!0}});var Qe=l(We,4);ct(Qe,{name:"client_secret",get error(){return e(s).client_secret},autocomplete:"off",placeholder:"Client Secret",width:v,get value(){return e(i).client_secret},set value(r){e(i).client_secret=r},$$events:{input:q},children:(r,x)=>{h();var y=f("CLIENT SECRET");o(r,y)},$$slots:{default:!0}});var Fe=l(Qe,4),ht=l(p(Fe),2);ie(ht,{get selected(){return e(i).client_secret_basic},set selected(r){e(i).client_secret_basic=r}}),m(Fe);var Ke=l(Fe,2),_t=l(p(Ke),2);ie(_t,{get selected(){return e(i).client_secret_post},set selected(r){e(i).client_secret_post=r}}),m(Ke);var Xe=l(Ke,2);mt(Xe);var et=l(Xe,4);S(et,{name:"admin_claim_path",placeholder:"$.roles.*",width:v,get value(){return e(i).admin_claim_path},set value(r){e(i).admin_claim_path=r},get error(){return e(s).admin_claim_path},set error(r){e(s).admin_claim_path=r},$$events:{input:q},children:(r,x)=>{h();var y=f("ADMIN CLAIM PATH");o(r,y)},$$slots:{default:!0}});var tt=l(et,2);S(tt,{name:"admin_claim_value",placeholder:"rauthy_admin",width:v,get value(){return e(i).admin_claim_value},set value(r){e(i).admin_claim_value=r},get error(){return e(s).admin_claim_value},set error(r){e(s).admin_claim_value=r},$$events:{input:q},children:(r,x)=>{h();var y=f("ADMIN CLAIM VALUE");o(r,y)},$$slots:{default:!0}});var at=l(tt,4);S(at,{name:"mfa_claim_path",placeholder:"$.amr.*",width:v,get value(){return e(i).mfa_claim_path},set value(r){e(i).mfa_claim_path=r},get error(){return e(s).mfa_claim_path},set error(r){e(s).mfa_claim_path=r},$$events:{input:q},children:(r,x)=>{h();var y=f("MFA CLAIM PATH");o(r,y)},$$slots:{default:!0}});var rt=l(at,2);S(rt,{name:"mfa_claim_value",placeholder:"mfa",width:v,get value(){return e(i).mfa_claim_value},set value(r){e(i).mfa_claim_value=r},get error(){return e(s).mfa_claim_value},set error(r){e(s).mfa_claim_value=r},$$events:{input:q},children:(r,x)=>{h();var y=f("MFA CLAIM VALUE");o(r,y)},$$slots:{default:!0}});var st=l(rt,2);fe(st,{level:1,width:"6rem",get isLoading(){return e(b)},set isLoading(r){n(b,d(r))},$$events:{click:B},children:(r,x)=>{h();var y=f("SAVE");o(r,y)},$$slots:{default:!0}});var ft=l(st,2);fe(ft,{level:4,width:"6rem",get isLoading(){return e(b)},set isLoading(r){n(b,d(r))},$$events:{click:V},children:(r,x)=>{h();var y=f("RESET");o(r,y)},$$slots:{default:!0}}),o(G,de)};M(W,G=>{(e(ne)||e(F)||e(w))&&G(le)},!0)}o(X,ee)};M(re,X=>{e(ce)&&!e(w)?X(me):X(J,!1)},!0)}o(O,Z)};M(Ee,O=>{e(Y)&&!e(w)?O(Se):O(De,!1)})}var $e=l(Ee,2);{var ze=O=>{var Z=Zt();o(O,Z)};M($e,O=>{e(D)&&O(ze)})}var Ce=l($e,2);{var qe=O=>{var Z=Bt(),re=p(Z,!0);m(Z),oe(()=>ve(re,e(I))),o(O,Z)};M(Ce,O=>{e(I)&&O(qe)})}m(T),o(N,T)},$$slots:{header:!0,body:!0}}),_e()}var Qt=C('No Logo Available');function Xt(H,g){he(g,!0);var a=Qt();oe(()=>Me(a,"src",`/auth/v1/providers/${g.providerId}/img?${vt(6)}`)),Me(a,"width",20),Me(a,"height",20),o(H,a),_e()}var ea=C('
Allow insecure TLS certificates
',1),ta=C('
Success
'),aa=C('
'),ra=C(" ",1),sa=C(`
ID
Enabled
Custom Root CA PEM
Use PKCE
The scope the client should use when redirecting to the login.
Provide the values separated by space.
Client name for the Rauthy login form
Client ID given by the auth provider
Client Secret given by the auth provider.
At least a client secret or PKCE is required.

The authentication method to use on the /token endpoint.
Most providers should work with basic, some only with post. In rare situations, you need both, while it can lead to errors with others.

client_secret_basic
client_secret_post

You can map a user to be a rauthy admin depending on an upstream ID claim.

If your provider issues a claim indicating that the user has used at least 2FA during - login, you can specify the mfa claim path.

`);function ia(G,g){he(g,!0);let a=se(g,"provider",31,()=>d({}));const v="25rem";let R=N(!1),b=N(""),I=N(!1),w=N(void 0),D=N(d(a().root_pem)),P=N(void 0);Ue(()=>()=>clearTimeout(e(w)));let u=N(d({}));const _=Ge().shape({issuer:A().trim().matches(ae,"Can only contain URI safe characters, length max: 128"),authorization_endpoint:A().url(),token_endpoint:A().url(),userinfo_endpoint:A().url(),name:A().trim().matches(nt,"Can only contain: 'a-zA-Z0-9\xC0-\xFF- ', length max: 128"),client_id:A().trim().matches(ae,"Can only contain URI safe characters, length max: 128"),client_secret:A().trim().max(256,"Max 256 characters"),scope:A().trim().matches(ot,"Can only contain: 'a-zA-Z0-9-_/ ', length max: 128"),admin_claim_path:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),admin_claim_value:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),mfa_claim_path:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),mfa_claim_value:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128")});async function i(){if(e(D)||a(a().root_pem=void 0,!0),!await c())return;if(!a().use_pkce&&!a().client_secret){n(b,"Must at least be a confidential client or use PKCE");return}n(b,""),n(R,!0),a().root_pem?(a(a().danger_allow_insecure=!1,!0),a(a().root_pem=a().root_pem.trim(),!0)):a(a().root_pem=void 0,!0);let t=await Lt(a().id,a());if(t.ok)n(I,!0);else{let k=await t.json();n(b,d(k.message))}n(R,!1)}async function z(t){n(R,!0);let k=await Tt(a().id,t);if(!k.ok){let $=await k.json();console.error($.message)}n(R,!1)}async function c(){n(u,d({}));try{return await _.validate(a(),{abortEarly:!1}),a().client_secret&&!(a().client_secret_basic||a().client_secret_post)?(n(b,"You have given a client secret, but no client auth method is active"),!1):(a().root_pem&&a().root_pem.length>0?je.test(a().root_pem.trim())||(e(u).root_pem="Invalid PEM certificate"):n(b,"Invalid input"),!0)}catch(t){return n(u,d(Ze(t))),!1}}ke(()=>{e(I)&&n(w,d(setTimeout(()=>{n(I,!1),g.onSave()},2e3)))}),ke(()=>{a().scope&&a(a().scope=a().scope.replaceAll("+"," "),!0)}),ke(()=>{e(P)&&z(e(P))});var s=sa(),E=p(s),K=l(p(E),2),Y=p(K,!0);m(K),m(E);var U=l(E,6),V=p(U);ie(V,{get selected(){return a().enabled},set selected(t){a(a().enabled=t,!0)}}),m(U);var q=l(U,4),j=p(q);ie(j,{get selected(){return e(D)},set selected(t){n(D,d(t))}}),m(q);var ce=l(q,2);{var F=t=>{Je(t,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE----- ------END CERTIFICATE-----`,get error(){return e(u).root_pem},get value(){return a().root_pem},set value(k){a(a().root_pem=k,!0)},children:(k,$)=>{h();var ue=f("Root Certificate in PEM format");o(k,ue)},$$slots:{default:!0}})},Z=t=>{var k=ea(),$=l(te(k),2),ue=p($);ie(ue,{get selected(){return a().danger_allow_insecure},set selected(be){a(a().danger_allow_insecure=be,!0)}}),m($),o(t,k)};M(ce,t=>{e(D)?t(F):t(Z,!1)})}var ne=l(ce,2);S(ne,{autocomplete:"off",placeholder:"Issuer URL",width:v,get value(){return a().issuer},set value(t){a(a().issuer=t,!0)},get error(){return e(u).issuer},set error(t){e(u).issuer=t},$$events:{input:c},children:(t,k)=>{h();var $=f("ISSUER URL");o(t,$)},$$slots:{default:!0}});var L=l(ne,2);S(L,{autocomplete:"off",placeholder:"Authorization Endpoint",width:v,get value(){return a().authorization_endpoint},set value(t){a(a().authorization_endpoint=t,!0)},get error(){return e(u).authorization_endpoint},set error(t){e(u).authorization_endpoint=t},$$events:{input:c},children:(t,k)=>{h();var $=f("AUTHORIZATION ENDPOINT");o(t,$)},$$slots:{default:!0}});var T=l(L,2);S(T,{autocomplete:"off",placeholder:"Token Endpoint",width:v,get value(){return a().token_endpoint},set value(t){a(a().token_endpoint=t,!0)},get error(){return e(u).token_endpoint},set error(t){e(u).token_endpoint=t},$$events:{input:c},children:(t,k)=>{h();var $=f("TOKEN ENDPOINT");o(t,$)},$$slots:{default:!0}});var ge=l(T,2);S(ge,{autocomplete:"off",placeholder:"Userinfo Endpoint",width:v,get value(){return a().userinfo_endpoint},set value(t){a(a().userinfo_endpoint=t,!0)},get error(){return e(u).userinfo_endpoint},set error(t){e(u).userinfo_endpoint=t},$$events:{input:c},children:(t,k)=>{h();var $=f("USERINFO ENDPOINT");o(t,$)},$$slots:{default:!0}});var Ie=l(ge,4),Le=p(Ie);ie(Le,{get selected(){return a().use_pkce},set selected(t){a(a().use_pkce=t,!0)}}),m(Ie);var Ne=l(Ie,4);S(Ne,{autocomplete:"off",placeholder:"openid profile email",width:v,get value(){return a().scope},set value(t){a(a().scope=t,!0)},get error(){return e(u).scope},set error(t){e(u).scope=t},$$events:{input:c},children:(t,k)=>{h();var $=f("SCOPE");o(t,$)},$$slots:{default:!0}});var Ee=l(Ne,4);S(Ee,{autocomplete:"off",placeholder:"Client Name",width:v,get value(){return a().name},set value(t){a(a().name=t,!0)},get error(){return e(u).name},set error(t){e(u).name=t},$$events:{input:c},children:(t,k)=>{h();var $=f("CLIENT NAME");o(t,$)},$$slots:{default:!0}});var Se=l(Ee,4);S(Se,{autocomplete:"off",placeholder:"Client ID",width:v,get value(){return a().client_id},set value(t){a(a().client_id=t,!0)},get error(){return e(u).client_id},set error(t){e(u).client_id=t},$$events:{input:c},children:(t,k)=>{h();var $=f("CLIENT ID");o(t,$)},$$slots:{default:!0}});var De=l(Se,4);dt(De,{get error(){return e(u).client_secret},autocomplete:"off",placeholder:"Client Secret",width:v,get value(){return a().client_secret},set value(t){a(a().client_secret=t,!0)},$$events:{input:c},children:(t,k)=>{h();var $=f("CLIENT SECRET");o(t,$)},$$slots:{default:!0}});var $e=l(De,4),ze=l(p($e),2);ie(ze,{get selected(){return a().client_secret_basic},set selected(t){a(a().client_secret_basic=t,!0)}}),m($e);var Ce=l($e,2),qe=l(p(Ce),2);ie(qe,{get selected(){return a().client_secret_post},set selected(t){a(a().client_secret_post=t,!0)}}),m(Ce);var O=l(Ce,2);mt(O);var J=l(O,4);S(J,{autocomplete:"off",placeholder:"$.roles.*",width:v,get value(){return a().admin_claim_path},set value(t){a(a().admin_claim_path=t,!0)},get error(){return e(u).admin_claim_path},set error(t){e(u).admin_claim_path=t},$$events:{input:c},children:(t,k)=>{h();var $=f("ADMIN CLAIM PATH");o(t,$)},$$slots:{default:!0}});var re=l(J,2);S(re,{autocomplete:"off",placeholder:"rauthy_admin",width:v,get value(){return a().admin_claim_value},set value(t){a(a().admin_claim_value=t,!0)},get error(){return e(u).admin_claim_value},set error(t){e(u).admin_claim_value=t},$$events:{input:c},children:(t,k)=>{h();var $=f("ADMIN CLAIM VALUE");o(t,$)},$$slots:{default:!0}});var me=l(re,4);S(me,{autocomplete:"off",placeholder:"$.amr.*",width:v,get value(){return a().mfa_claim_path},set value(t){a(a().mfa_claim_path=t,!0)},get error(){return e(u).mfa_claim_path},set error(t){e(u).mfa_claim_path=t},$$events:{input:c},children:(t,k)=>{h();var $=f("MFA CLAIM PATH");o(t,$)},$$slots:{default:!0}});var B=l(me,2);S(B,{autocomplete:"off",placeholder:"mfa",width:v,get value(){return a().mfa_claim_value},set value(t){a(a().mfa_claim_value=t,!0)},get error(){return e(u).mfa_claim_value},set error(t){e(u).mfa_claim_value=t},$$events:{input:c},children:(t,k)=>{h();var $=f("MFA CLAIM VALUE");o(t,$)},$$slots:{default:!0}});var X=l(B,2),ee=p(X);Ut(ee,{get image(){return e(P)},set image(t){n(P,d(t))}});var Q=l(ee,2);{var le=t=>{Xt(t,{get providerId(){return a().id}})};M(Q,t=>{e(R)||t(le)})}m(X);var H=l(X,2);{var de=t=>{var k=ra(),$=te(k);fe($,{level:1,width:"4rem",get isLoading(){return e(R)},set isLoading(W){n(R,d(W))},$$events:{click:i},children:(W,pe)=>{h();var ye=f("SAVE");o(W,ye)},$$slots:{default:!0}});var ue=l($,2);{var be=W=>{var pe=ta();o(W,pe)};M(ue,W=>{e(I)&&W(be)})}var Oe=l(ue,2);{var xe=W=>{var pe=aa(),ye=p(pe,!0);m(pe),oe(()=>ve(ye,e(b))),o(W,pe)};M(Oe,W=>{e(b)&&W(xe)})}o(t,k)};M(H,t=>{t(de)})}m(s),oe(()=>ve(Y,a().id)),o(G,s),_e()}var la=C("

"),na=C(`

This provider is in use by active users.

You can force delete it, but users without a local password or passkey - will not be able to log in anymore.

Linked Users

Are you sure you want to delete this provider?

FORCE DELETE
`,1),oa=C('
Are you sure, you want to delete this provider?
',1),ca=C('
'),da=C('
');function ua(G,g){he(g,!0);let a=se(g,"provider",19,()=>({})),v=N(!0),R=N(""),b=N(!1),I=N(d([]));Ue(async()=>{let c=await Nt(a().id),s=await c.json();c.status===406?n(I,d(s)):n(R,d(s.message)),n(v,!1)});async function w(){n(R,""),n(v,!0);let c=await St(a().id);if(c.ok)g.onSave();else{let s=await c.json();n(R,d(s.message))}n(v,!1)}var D=da(),P=p(D);{var u=c=>{var s=na(),E=te(s),K=l(p(E),4),Y=l(p(K),2);it(Y,17,()=>e(I),F=>F.id,(F,Z)=>{var ne=la(),L=p(ne);m(ne),oe(()=>ve(L,`${e(Z).id??""} ${e(Z).email??""}`)),o(F,ne)}),m(K),m(E);var U=l(E,2),V=l(p(U),2),q=l(p(V));ie(q,{get selected(){return e(b)},set selected(F){n(b,d(F))}}),m(V),m(U);var j=l(U,2);{var ce=F=>{fe(F,{level:1,get isLoading(){return e(v)},set isLoading(Z){n(v,d(Z))},$$events:{click:w},children:(Z,ne)=>{h();var L=f("DELETE");o(Z,L)},$$slots:{default:!0}})};M(j,F=>{e(b)&&F(ce)})}o(c,s)},_=c=>{var s=oa(),E=l(te(s),2);fe(E,{level:1,get isLoading(){return e(v)},set isLoading(K){n(v,d(K))},$$events:{click:w},children:(K,Y)=>{h();var U=f("DELETE");o(K,U)},$$slots:{default:!0}}),o(c,s)};M(P,c=>{e(I).length>0?c(u):c(_,!1)})}var i=l(P,2);{var z=c=>{var s=ca(),E=p(s,!0);m(s),oe(()=>ve(E,e(R))),o(c,s)};M(i,c=>{e(R)&&c(z)})}m(D),o(G,D),_e()}var va=C('
'),ma=C('
'),pa=C('
'),ha=C("
"),_a=C("
"),fa=C("
");function ga(G,g){he(g,!0);let a=se(g,"provider",31,()=>d({})),v=se(g,"onSave",15),R=N(void 0);const b=["Config","Delete"];let I=N(d(b[0]));const w=200,D=w/2;lt(G,{get show(){return e(R)},set show(P){n(R,d(P))},header:P=>{var u=pa(),_=p(u);vt(_,{text:"Provider ID",children:(z,c)=>{var s=va(),E=p(s,!0);m(s),oe(()=>ve(E,a().id)),o(z,s)},$$slots:{default:!0}});var i=l(_,2);vt(i,{text:"Provider Name",children:(z,c)=>{var s=ma(),E=p(s,!0);m(s),oe(()=>ve(E,a().name)),o(z,s)},$$slots:{default:!0}}),m(u),o(P,u)},body:P=>{var u=fa(),_=p(u);Pt(_,{labels:b,get selected(){return e(I)},set selected(s){n(I,d(s))}});var i=l(_,2);{var z=s=>{var E=ha(),K=p(E);ia(K,{get provider(){return a()},set provider(Y){a(Y)},get onSave(){return v()},set onSave(Y){v(Y)}}),m(E),Re(1,E,()=>Te,()=>({delay:D,duration:w})),Re(2,E,()=>Te,()=>({duration:w})),o(s,E)},c=s=>{var E=He(),K=te(E);{var Y=U=>{var V=_a(),q=p(V);ua(q,{get provider(){return a()},set provider(j){a(j)},get onSave(){return v()},set onSave(j){v(j)}}),m(V),Re(1,V,()=>Te,()=>({delay:D,duration:w})),Re(2,V,()=>Te,()=>({duration:w})),o(U,V)};M(K,U=>{e(I)==="Delete"&&U(Y)},!0)}o(s,E)};M(i,s=>{e(I)==="Config"?s(z):s(c,!1)})}m(u),o(P,u)},$$slots:{header:!0,body:!0}}),_e()}var $a=C('
'),ba=C('
',1);function wa(G,g){he(g,!0);let a=N(""),v=N(d([]));Ue(()=>{R()});async function R(){let _=await Dt(),i=await _.json();_.ok?n(v,d([...i])):n(a,d(i.message))}function b(){R()}h();var I=ba(),w=te(I),D=l(w),P=p(D);Qt(P,{onSave:b});var u=l(P,2);it(u,23,()=>e(v),_=>_.id,(_,i,z)=>{var c=$a(),s=p(c);ga(s,{onSave:b,get provider(){return e(v)[e(z)]},set provider(E){e(v)[e(z)]=E}}),m(c),o(_,c)}),m(u),h(2),m(D),oe(()=>ve(w,`${e(a)??""} `)),o(G,I),_e()}function Ia(G){wa(G,{})}export{Ia as component}; + login, you can specify the mfa claim path.

`);function ia(H,g){he(g,!0);let a=se(g,"provider",31,()=>d({}));const v="25rem";let R=L(!1),b=L(""),I=L(!1),w=L(void 0),D=L(d(a().root_pem)),P=L(void 0);Pe(()=>()=>clearTimeout(e(w)));let u=L(d({}));const _=He().shape({issuer:A().trim().matches(ae,"Can only contain URI safe characters, length max: 128"),authorization_endpoint:A().url(),token_endpoint:A().url(),userinfo_endpoint:A().url(),name:A().trim().matches(nt,"Can only contain: 'a-zA-Z0-9\xC0-\xFF- ', length max: 128"),client_id:A().trim().matches(ae,"Can only contain URI safe characters, length max: 128"),client_secret:A().trim().max(256,"Max 256 characters"),scope:A().trim().matches(ot,"Can only contain: 'a-zA-Z0-9-_/ ', length max: 128"),admin_claim_path:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),admin_claim_value:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),mfa_claim_path:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128"),mfa_claim_value:A().trim().nullable().matches(ae,"Can only contain URI safe characters, length max: 128")});async function i(){if(e(D)||a(a().root_pem=void 0,!0),!await c())return;if(!a().use_pkce&&!a().client_secret){n(b,"Must at least be a confidential client or use PKCE");return}n(b,""),n(R,!0),a().root_pem?(a(a().danger_allow_insecure=!1,!0),a(a().root_pem=a().root_pem.trim(),!0)):a(a().root_pem=void 0,!0);let t=await Tt(a().id,a());if(t.ok)n(I,!0);else{let k=await t.json();n(b,d(k.message))}n(R,!1)}async function z(t){n(R,!0);let k=await Rt(a().id,t);if(!k.ok){let $=await k.json();console.error($.message)}n(R,!1)}async function c(){n(u,d({}));try{return await _.validate(a(),{abortEarly:!1}),a().client_secret&&!(a().client_secret_basic||a().client_secret_post)?(n(b,"You have given a client secret, but no client auth method is active"),!1):(a().root_pem&&a().root_pem.length>0?je.test(a().root_pem.trim())||(e(u).root_pem="Invalid PEM certificate"):n(b,"Invalid input"),!0)}catch(t){return n(u,d(Ye(t))),!1}}ke(()=>{e(I)&&n(w,d(setTimeout(()=>{n(I,!1),g.onSave()},2e3)))}),ke(()=>{a().scope&&a(a().scope=a().scope.replaceAll("+"," "),!0)}),ke(()=>{e(P)&&z(e(P))});var s=sa(),E=p(s),K=l(p(E),2),B=p(K,!0);m(K),m(E);var U=l(E,6),V=p(U);ie(V,{get selected(){return a().enabled},set selected(t){a(a().enabled=t,!0)}}),m(U);var q=l(U,4),j=p(q);ie(j,{get selected(){return e(D)},set selected(t){n(D,d(t))}}),m(q);var ce=l(q,2);{var F=t=>{Ze(t,{rows:17,name:"rootPem",placeholder:`-----BEGIN CERTIFICATE----- +-----END CERTIFICATE-----`,get error(){return e(u).root_pem},get value(){return a().root_pem},set value(k){a(a().root_pem=k,!0)},children:(k,$)=>{h();var ue=f("Root Certificate in PEM format");o(k,ue)},$$slots:{default:!0}})},Y=t=>{var k=ea(),$=l(te(k),2),ue=p($);ie(ue,{get selected(){return a().danger_allow_insecure},set selected(be){a(a().danger_allow_insecure=be,!0)}}),m($),o(t,k)};M(ce,t=>{e(D)?t(F):t(Y,!1)})}var ne=l(ce,2);S(ne,{autocomplete:"off",placeholder:"Issuer URL",width:v,get value(){return a().issuer},set value(t){a(a().issuer=t,!0)},get error(){return e(u).issuer},set error(t){e(u).issuer=t},$$events:{input:c},children:(t,k)=>{h();var $=f("ISSUER URL");o(t,$)},$$slots:{default:!0}});var N=l(ne,2);S(N,{autocomplete:"off",placeholder:"Authorization Endpoint",width:v,get value(){return a().authorization_endpoint},set value(t){a(a().authorization_endpoint=t,!0)},get error(){return e(u).authorization_endpoint},set error(t){e(u).authorization_endpoint=t},$$events:{input:c},children:(t,k)=>{h();var $=f("AUTHORIZATION ENDPOINT");o(t,$)},$$slots:{default:!0}});var T=l(N,2);S(T,{autocomplete:"off",placeholder:"Token Endpoint",width:v,get value(){return a().token_endpoint},set value(t){a(a().token_endpoint=t,!0)},get error(){return e(u).token_endpoint},set error(t){e(u).token_endpoint=t},$$events:{input:c},children:(t,k)=>{h();var $=f("TOKEN ENDPOINT");o(t,$)},$$slots:{default:!0}});var ge=l(T,2);S(ge,{autocomplete:"off",placeholder:"Userinfo Endpoint",width:v,get value(){return a().userinfo_endpoint},set value(t){a(a().userinfo_endpoint=t,!0)},get error(){return e(u).userinfo_endpoint},set error(t){e(u).userinfo_endpoint=t},$$events:{input:c},children:(t,k)=>{h();var $=f("USERINFO ENDPOINT");o(t,$)},$$slots:{default:!0}});var Ie=l(ge,4),Ne=p(Ie);ie(Ne,{get selected(){return a().use_pkce},set selected(t){a(a().use_pkce=t,!0)}}),m(Ie);var Le=l(Ie,4);S(Le,{autocomplete:"off",placeholder:"openid profile email",width:v,get value(){return a().scope},set value(t){a(a().scope=t,!0)},get error(){return e(u).scope},set error(t){e(u).scope=t},$$events:{input:c},children:(t,k)=>{h();var $=f("SCOPE");o(t,$)},$$slots:{default:!0}});var Ee=l(Le,4);S(Ee,{autocomplete:"off",placeholder:"Client Name",width:v,get value(){return a().name},set value(t){a(a().name=t,!0)},get error(){return e(u).name},set error(t){e(u).name=t},$$events:{input:c},children:(t,k)=>{h();var $=f("CLIENT NAME");o(t,$)},$$slots:{default:!0}});var Se=l(Ee,4);S(Se,{autocomplete:"off",placeholder:"Client ID",width:v,get value(){return a().client_id},set value(t){a(a().client_id=t,!0)},get error(){return e(u).client_id},set error(t){e(u).client_id=t},$$events:{input:c},children:(t,k)=>{h();var $=f("CLIENT ID");o(t,$)},$$slots:{default:!0}});var De=l(Se,4);ct(De,{get error(){return e(u).client_secret},autocomplete:"off",placeholder:"Client Secret",width:v,get value(){return a().client_secret},set value(t){a(a().client_secret=t,!0)},$$events:{input:c},children:(t,k)=>{h();var $=f("CLIENT SECRET");o(t,$)},$$slots:{default:!0}});var $e=l(De,4),ze=l(p($e),2);ie(ze,{get selected(){return a().client_secret_basic},set selected(t){a(a().client_secret_basic=t,!0)}}),m($e);var Ce=l($e,2),qe=l(p(Ce),2);ie(qe,{get selected(){return a().client_secret_post},set selected(t){a(a().client_secret_post=t,!0)}}),m(Ce);var O=l(Ce,2);mt(O);var Z=l(O,4);S(Z,{autocomplete:"off",placeholder:"$.roles.*",width:v,get value(){return a().admin_claim_path},set value(t){a(a().admin_claim_path=t,!0)},get error(){return e(u).admin_claim_path},set error(t){e(u).admin_claim_path=t},$$events:{input:c},children:(t,k)=>{h();var $=f("ADMIN CLAIM PATH");o(t,$)},$$slots:{default:!0}});var re=l(Z,2);S(re,{autocomplete:"off",placeholder:"rauthy_admin",width:v,get value(){return a().admin_claim_value},set value(t){a(a().admin_claim_value=t,!0)},get error(){return e(u).admin_claim_value},set error(t){e(u).admin_claim_value=t},$$events:{input:c},children:(t,k)=>{h();var $=f("ADMIN CLAIM VALUE");o(t,$)},$$slots:{default:!0}});var me=l(re,4);S(me,{autocomplete:"off",placeholder:"$.amr.*",width:v,get value(){return a().mfa_claim_path},set value(t){a(a().mfa_claim_path=t,!0)},get error(){return e(u).mfa_claim_path},set error(t){e(u).mfa_claim_path=t},$$events:{input:c},children:(t,k)=>{h();var $=f("MFA CLAIM PATH");o(t,$)},$$slots:{default:!0}});var J=l(me,2);S(J,{autocomplete:"off",placeholder:"mfa",width:v,get value(){return a().mfa_claim_value},set value(t){a(a().mfa_claim_value=t,!0)},get error(){return e(u).mfa_claim_value},set error(t){e(u).mfa_claim_value=t},$$events:{input:c},children:(t,k)=>{h();var $=f("MFA CLAIM VALUE");o(t,$)},$$slots:{default:!0}});var X=l(J,2),ee=p(X);Ut(ee,{get image(){return e(P)},set image(t){n(P,d(t))}});var W=l(ee,2);{var le=t=>{Xt(t,{get providerId(){return a().id}})};M(W,t=>{e(R)||t(le)})}m(X);var G=l(X,2);{var de=t=>{var k=ra(),$=te(k);fe($,{level:1,width:"4rem",get isLoading(){return e(R)},set isLoading(Q){n(R,d(Q))},$$events:{click:i},children:(Q,pe)=>{h();var ye=f("SAVE");o(Q,ye)},$$slots:{default:!0}});var ue=l($,2);{var be=Q=>{var pe=ta();o(Q,pe)};M(ue,Q=>{e(I)&&Q(be)})}var Oe=l(ue,2);{var xe=Q=>{var pe=aa(),ye=p(pe,!0);m(pe),oe(()=>ve(ye,e(b))),o(Q,pe)};M(Oe,Q=>{e(b)&&Q(xe)})}o(t,k)};M(G,t=>{t(de)})}m(s),oe(()=>ve(B,a().id)),o(H,s),_e()}var la=C("

"),na=C(`

This provider is in use by active users.

You can force delete it, but users without a local password or passkey + will not be able to log in anymore.

Linked Users

Are you sure you want to delete this provider?

FORCE DELETE
`,1),oa=C('
Are you sure, you want to delete this provider?
',1),ca=C('
'),da=C('
');function ua(H,g){he(g,!0);let a=se(g,"provider",19,()=>({})),v=L(!0),R=L(""),b=L(!1),I=L(d([]));Pe(async()=>{let c=await Nt(a().id),s=await c.json();c.status===406?n(I,d(s)):n(R,d(s.message)),n(v,!1)});async function w(){n(R,""),n(v,!0);let c=await Lt(a().id);if(c.ok)g.onSave();else{let s=await c.json();n(R,d(s.message))}n(v,!1)}var D=da(),P=p(D);{var u=c=>{var s=na(),E=te(s),K=l(p(E),4),B=l(p(K),2);it(B,17,()=>e(I),F=>F.id,(F,Y)=>{var ne=la(),N=p(ne);m(ne),oe(()=>ve(N,`${e(Y).id??""} ${e(Y).email??""}`)),o(F,ne)}),m(K),m(E);var U=l(E,2),V=l(p(U),2),q=l(p(V));ie(q,{get selected(){return e(b)},set selected(F){n(b,d(F))}}),m(V),m(U);var j=l(U,2);{var ce=F=>{fe(F,{level:1,get isLoading(){return e(v)},set isLoading(Y){n(v,d(Y))},$$events:{click:w},children:(Y,ne)=>{h();var N=f("DELETE");o(Y,N)},$$slots:{default:!0}})};M(j,F=>{e(b)&&F(ce)})}o(c,s)},_=c=>{var s=oa(),E=l(te(s),2);fe(E,{level:1,get isLoading(){return e(v)},set isLoading(K){n(v,d(K))},$$events:{click:w},children:(K,B)=>{h();var U=f("DELETE");o(K,U)},$$slots:{default:!0}}),o(c,s)};M(P,c=>{e(I).length>0?c(u):c(_,!1)})}var i=l(P,2);{var z=c=>{var s=ca(),E=p(s,!0);m(s),oe(()=>ve(E,e(R))),o(c,s)};M(i,c=>{e(R)&&c(z)})}m(D),o(H,D),_e()}var va=C('
'),ma=C('
'),pa=C('
'),ha=C("
"),_a=C("
"),fa=C("
");function ga(H,g){he(g,!0);let a=se(g,"provider",31,()=>d({})),v=se(g,"onSave",15),R=L(void 0);const b=["Config","Delete"];let I=L(d(b[0]));const w=200,D=w/2;lt(H,{get show(){return e(R)},set show(P){n(R,d(P))},header:P=>{var u=pa(),_=p(u);ut(_,{text:"Provider ID",children:(z,c)=>{var s=va(),E=p(s,!0);m(s),oe(()=>ve(E,a().id)),o(z,s)},$$slots:{default:!0}});var i=l(_,2);ut(i,{text:"Provider Name",children:(z,c)=>{var s=ma(),E=p(s,!0);m(s),oe(()=>ve(E,a().name)),o(z,s)},$$slots:{default:!0}}),m(u),o(P,u)},body:P=>{var u=fa(),_=p(u);Pt(_,{labels:b,get selected(){return e(I)},set selected(s){n(I,d(s))}});var i=l(_,2);{var z=s=>{var E=ha(),K=p(E);ia(K,{get provider(){return a()},set provider(B){a(B)},get onSave(){return v()},set onSave(B){v(B)}}),m(E),Re(1,E,()=>Te,()=>({delay:D,duration:w})),Re(2,E,()=>Te,()=>({duration:w})),o(s,E)},c=s=>{var E=Ge(),K=te(E);{var B=U=>{var V=_a(),q=p(V);ua(q,{get provider(){return a()},set provider(j){a(j)},get onSave(){return v()},set onSave(j){v(j)}}),m(V),Re(1,V,()=>Te,()=>({delay:D,duration:w})),Re(2,V,()=>Te,()=>({duration:w})),o(U,V)};M(K,U=>{e(I)==="Delete"&&U(B)},!0)}o(s,E)};M(i,s=>{e(I)==="Config"?s(z):s(c,!1)})}m(u),o(P,u)},$$slots:{header:!0,body:!0}}),_e()}var $a=C('
'),ba=C('
',1);function wa(H,g){he(g,!0);let a=L(""),v=L(d([]));Pe(()=>{R()});async function R(){let _=await St(),i=await _.json();_.ok?n(v,d([...i])):n(a,d(i.message))}function b(){R()}h();var I=ba(),w=te(I),D=l(w),P=p(D);Wt(P,{onSave:b});var u=l(P,2);it(u,23,()=>e(v),_=>_.id,(_,i,z)=>{var c=$a(),s=p(c);ga(s,{onSave:b,get provider(){return e(v)[e(z)]},set provider(E){e(v)[e(z)]=E}}),m(c),o(_,c)}),m(u),h(2),m(D),oe(()=>ve(w,`${e(a)??""} `)),o(H,I),_e()}function Ia(H){wa(H,{})}export{Ia as component}; diff --git a/static/v1/_app/immutable/nodes/18.1Bb8eTce.js.br b/static/v1/_app/immutable/nodes/18.1Bb8eTce.js.br new file mode 100644 index 000000000..fd7c426b8 Binary files /dev/null and b/static/v1/_app/immutable/nodes/18.1Bb8eTce.js.br differ diff --git a/static/v1/_app/immutable/nodes/18.1Bb8eTce.js.gz b/static/v1/_app/immutable/nodes/18.1Bb8eTce.js.gz new file mode 100644 index 000000000..d1e0d75fd Binary files /dev/null and b/static/v1/_app/immutable/nodes/18.1Bb8eTce.js.gz differ diff --git a/static/v1/_app/immutable/nodes/18.CrpSeHwi.js.br b/static/v1/_app/immutable/nodes/18.CrpSeHwi.js.br deleted file mode 100644 index a673fa94c..000000000 Binary files a/static/v1/_app/immutable/nodes/18.CrpSeHwi.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/18.CrpSeHwi.js.gz b/static/v1/_app/immutable/nodes/18.CrpSeHwi.js.gz deleted file mode 100644 index 939cba962..000000000 Binary files a/static/v1/_app/immutable/nodes/18.CrpSeHwi.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/19.BbRmRC5q.js b/static/v1/_app/immutable/nodes/19.BbRmRC5q.js new file mode 100644 index 000000000..f105eb9bd --- /dev/null +++ b/static/v1/_app/immutable/nodes/19.BbRmRC5q.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{p as O,g as e,h as t,ao as W,i as w,c as C,s as I,r as x,aq as N,t as A,a as z,a9 as ee,f as Y}from"../chunks/index-client.DAoU_hDn.js";import{s as q}from"../chunks/render.mNhspeV3.js";import{e as ae}from"../chunks/each.DTG73tix.js";import{d as M,a as n,t as b,e as te}from"../chunks/template.DcxtE4ym.js";import{p as l}from"../chunks/proxy.D3ASEzk3.js";import{q as re,r as se,s as le,t as oe}from"../chunks/dataFetchingAdmin.D7RWqeRL.js";import{i as R}from"../chunks/if.BANCODOf.js";import{t as V,a as B}from"../chunks/index.DER1jHiU.js";import{p as P}from"../chunks/props.VJ8UyA45.js";import{E as G}from"../chunks/ExpandContainer.mM6ZiTQe.js";import{T as H}from"../chunks/OptionSelect.CBlj_bre.js";import{T as ie}from"../chunks/TabBar.BqcS880p.js";import{r as J}from"../chunks/legacy-client.rYJ80fHr.js";import{c as K,a as Q,I as U}from"../chunks/Input.C04-Kl2S.js";import{Y as X,o as Z}from"../chunks/helpers.BV-akmwW.js";import{B as F}from"../chunks/Button.CKHLXer8.js";import{O as ne,P as ve}from"../chunks/Pagination.DF9sn7Vj.js";var de=b('
Success
'),ce=b('
'),me=b('
ID
');function ue(T,j){O(j,!0);let m=P(j,"role",31,()=>l({})),u=w(""),i=w(!1),y=w(void 0);J(()=>{e(i)&&t(y,l(setTimeout(()=>{t(i,!1),j.onSave()},2e3)))}),W(()=>()=>clearTimeout(e(y)));let h=w(l({}));const D=K().shape({name:Q().trim().matches(X,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});async function L(){if(t(u,""),!await k()){t(u,"Invalid input");return}let a={role:m().name.trim()},$=await re(m().id,a);if($.ok)t(i,!0);else{let _=await $.json();t(u,l(_.message))}}async function k(){try{return await D.validate(m(),{abortEarly:!1}),t(h,l({})),!0}catch(a){return t(h,l(Z(a))),!1}}var v=me(),d=C(v),o=I(C(d),2),S=C(o,!0);x(o),x(d);var E=I(d,2),g=ee(()=>m().name==="rauthy_admin");U(E,{autocomplete:"off",placeholder:"Role Name",get disabled(){return e(g)},get value(){return m().name},set value(a){m(m().name=a,!0)},get error(){return e(h).name},set error(a){e(h).name=a},$$events:{input:k},children:(a,$)=>{N();var _=M("ROLE NAME");n(a,_)},$$slots:{default:!0}});var r=I(E,2);F(r,{level:1,width:"4rem",$$events:{click:L},children:(a,$)=>{N();var _=M("SAVE");n(a,_)},$$slots:{default:!0}});var f=I(r,2);{var s=a=>{var $=de();n(a,$)};R(f,a=>{e(i)&&a(s)})}var p=I(f,2);{var c=a=>{var $=ce(),_=C($,!0);x($),A(()=>q(_,e(u))),n(a,$)};R(p,a=>{e(u)&&a(c)})}x(v),A(()=>q(S,m().id)),n(T,v),z()}var fe=b('
Anti-Lockout Rule: The rauthy_admin role cannot be deleted.
'),he=b('
'),pe=b('
Are you sure, you want to delete this role?
',1),$e=b('
');function ge(T,j){O(j,!0);let m=P(j,"role",19,()=>({})),u=w(!1),i=w("");async function y(){t(i,""),t(u,!0);let v=await se(m().id);if(v.ok)j.onSave();else{let d=await v.json();t(i,l(d.message))}t(u,!1)}var h=$e(),D=C(h);{var L=v=>{var d=fe();n(v,d)},k=v=>{var d=pe(),o=I(Y(d),2);F(o,{level:1,get isLoading(){return e(u)},set isLoading(g){t(u,l(g))},$$events:{click:y},children:(g,r)=>{N();var f=M("DELETE");n(g,f)},$$slots:{default:!0}});var S=I(o,2);{var E=g=>{var r=he(),f=C(r,!0);x(r),A(()=>q(f,e(i))),n(g,r)};R(S,g=>{e(i)&&g(E)})}n(v,d)};R(D,v=>{m().name==="rauthy_admin"?v(L):v(k,!1)})}x(h),n(T,h),z()}var we=b('
'),be=b('
'),Se=b('
'),je=b("
"),ye=b("
"),xe=b("
");function Ee(T,j){O(j,!0);let m=P(j,"role",31,()=>l({})),u=P(j,"onSave",15),i=w(void 0);const y=["Config","Delete"];let h=w(l(y[0]));const D=200,L=D/2;function k(){t(i,!1),u()()}G(T,{get show(){return e(i)},set show(v){t(i,l(v))},header:v=>{var d=Se(),o=C(d);H(o,{text:"Role ID",children:(E,g)=>{var r=we(),f=C(r,!0);x(r),A(()=>q(f,m().id)),n(E,r)},$$slots:{default:!0}});var S=I(o,2);H(S,{text:"Role Name",children:(E,g)=>{var r=be(),f=C(r,!0);x(r),A(()=>q(f,m().name)),n(E,r)},$$slots:{default:!0}}),x(d),n(v,d)},body:v=>{var d=xe(),o=C(d);ie(o,{labels:y,get selected(){return e(h)},set selected(r){t(h,l(r))}});var S=I(o,2);{var E=r=>{var f=je(),s=C(f);ue(s,{get role(){return m()},set role(p){m(p)},get onSave(){return u()},set onSave(p){u(p)}}),x(f),V(5,f,()=>B,()=>({delay:L,duration:D})),V(6,f,()=>B,()=>({duration:D})),n(r,f)},g=r=>{var f=te(),s=Y(f);{var p=c=>{var a=ye(),$=C(a);ge($,{get role(){return m()},onSave:k}),x(a),V(5,a,()=>B,()=>({delay:L,duration:D})),V(6,a,()=>B,()=>({duration:D})),n(c,a)};R(s,c=>{e(h)==="Delete"&&c(p)},!0)}n(r,f)};R(S,r=>{e(h)==="Config"?r(E):r(g,!1)})}x(d),n(v,d)},$$slots:{header:!0,body:!0}}),z()}var Ce=b('
ADD NEW ROLE
'),Ie=b('
Success
'),De=b('
'),Le=b('
');function Te(T,j){O(j,!0);let m=P(j,"idx",31,()=>-1),u=w(void 0),i=w(l({role:""})),y=w(""),h=w(!1),D=w(void 0),L=w(l({}));const k=K().shape({role:Q().trim().matches(X,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});J(()=>{e(h)&&t(D,l(setTimeout(()=>{t(h,!1),t(i,l({role:""})),t(u,!1),j.onSave()},1500)))}),W(()=>()=>clearTimeout(e(D)));async function v(){if(t(y,""),!await d()){t(y,"Invalid input");return}e(i).role=e(i).role.trim();let o=await le(e(i));if(o.ok)t(h,!0);else{let S=await o.json();t(y,l(S.message))}}async function d(){try{return await k.validate(e(i),{abortEarly:!1}),t(L,l({})),!0}catch(o){return t(L,l(Z(o))),!1}}G(T,{get idx(){return m()},set idx(o){m(o)},get show(){return e(u)},set show(o){t(u,l(o))},header:o=>{var S=Ce();n(o,S)},body:o=>{var S=Le(),E=C(S);U(E,{autocomplete:"off",placeholder:"Role Name",get value(){return e(i).role},set value(c){e(i).role=c},get error(){return e(L).role},set error(c){e(L).role=c},$$events:{input:d},children:(c,a)=>{N();var $=M("ROLE NAME");n(c,$)},$$slots:{default:!0}});var g=I(E,2);F(g,{level:1,width:"4rem",$$events:{click:v},children:(c,a)=>{N();var $=M("SAVE");n(c,$)},$$slots:{default:!0}});var r=I(g,2);{var f=c=>{var a=Ie();n(c,a)};R(r,c=>{e(h)&&c(f)})}var s=I(r,2);{var p=c=>{var a=De(),$=C(a,!0);x(a),A(()=>q($,e(y))),n(c,a)};R(s,c=>{e(y)&&c(p)})}x(S),n(o,S)},$$slots:{header:!0,body:!0}}),z()}var ke=b('
'),_e=b('
',1);function Re(T,j){O(j,!0);let m=w(""),u=w(l([])),i=w(l([])),y=w(l([])),h=w(""),D=[{label:"Name",callback:(s,p)=>s.name.toLowerCase().includes(p.toLowerCase())},{label:"ID",callback:(s,p)=>s.id.toLowerCase().includes(p.toLowerCase())}],L=[{label:"Name",callback:(s,p)=>s.name.localeCompare(p.name)},{label:"ID",callback:(s,p)=>s.id.localeCompare(p.id)}];W(async()=>{k()});async function k(){let s=await oe(),p=await s.json();s.ok?t(u,l([...p])):t(m,l(p.message))}function v(){k(),t(h,"")}N();var d=_e(),o=Y(d),S=I(o),E=C(S);ne(E,{get items(){return e(u)},searchOptions:D,orderOptions:L,get resItems(){return e(i)},set resItems(s){t(i,l(s))},get search(){return e(h)},set search(s){t(h,l(s))}});var g=I(E,2);Te(g,{onSave:v});var r=I(g,2);ae(r,23,()=>e(y),s=>s.id,(s,p,c)=>{var a=ke(),$=C(a);Ee($,{onSave:v,get role(){return e(u)[e(c)]},set role(_){e(u)[e(c)]=_}}),x(a),n(s,a)}),x(r);var f=I(r,2);ve(f,{get items(){return e(i)},set items(s){t(i,l(s))},get resItems(){return e(y)},set resItems(s){t(y,l(s))}}),N(2),x(S),A(()=>q(o,`${e(m)??""} `)),n(T,d),z()}function Ne(T){Re(T,{})}export{Ne as component}; diff --git a/static/v1/_app/immutable/nodes/19.BbRmRC5q.js.br b/static/v1/_app/immutable/nodes/19.BbRmRC5q.js.br new file mode 100644 index 000000000..3663c119e Binary files /dev/null and b/static/v1/_app/immutable/nodes/19.BbRmRC5q.js.br differ diff --git a/static/v1/_app/immutable/nodes/19.BbRmRC5q.js.gz b/static/v1/_app/immutable/nodes/19.BbRmRC5q.js.gz new file mode 100644 index 000000000..7311e57bd Binary files /dev/null and b/static/v1/_app/immutable/nodes/19.BbRmRC5q.js.gz differ diff --git a/static/v1/_app/immutable/nodes/19.DUI9MnTw.js b/static/v1/_app/immutable/nodes/19.DUI9MnTw.js deleted file mode 100644 index ba82e922b..000000000 --- a/static/v1/_app/immutable/nodes/19.DUI9MnTw.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{p as be,f as k,a as ye,h as a,t as l,$ as Te,g as e,s as o,i as f,c as s,r as t,ap as Q,O as ce}from"../chunks/runtime.BsghBUX9.js";import{s as d}from"../chunks/render.CTp9lacC.js";import{i as R}from"../chunks/if.6Ov_EDLa.js";import{e as Le,i as Se}from"../chunks/each.URXtkKAp.js";import{a as i,t as z,d as X,e as le}from"../chunks/template.jENAUvUX.js";import{h as ke}from"../chunks/svelte-head.cS_wx7Ri.js";import{p as n}from"../chunks/proxy.YH42NwLs.js";import{o as Ae}from"../chunks/index-client.ClP8y9aT.js";import{r as ne,l as Pe}from"../chunks/helpers.CBl6QeM5.js";import{T as De,L as Ee}from"../chunks/LangSelector.TD0HCe5U.js";import{I as Oe}from"../chunks/Input.luLa8YQi.js";import{f as Ce,B as Y,b as _e}from"../chunks/fetch.BvIeF4JA.js";import{f as je}from"../chunks/pow.Dw4Nl_Mh.js";import{M as qe}from"../chunks/Main.DdVUe3_l.js";import{C as Be}from"../chunks/ContentCenter.1a7TMW4_.js";import{u as Me}from"../chunks/i18n.svelte.D8rR00qK.js";import{T as Ne}from"../chunks/Template.ZFmGCuZr.js";import{u as Re}from"../chunks/param.svelte.BhHpzHur.js";import{P as We}from"../chunks/patterns.BdncpE46.js";var Fe=z('
',1),Ge=z('

'),He=z('

'),Ie=z('
  • '),Je=z('
      ',1),Ke=z('

      '),Ue=z(" ",1),Ve=z(" ",1);function Qe(ue,me){be(me,!0);let r=Me(),Z=f(void 0),w=f(""),W=f(!1),A=f(!1),b=f(8),F=f(void 0),ee=f(!1),re=f(!1),T=f("");Ae(async()=>{let v=Re("code").get()||"";a(T,n(v));let L=await Ce("/auth/v1/oidc/sessioninfo");L.body?a(Z,n(L.body)):v?ne(`device?code=${v}`):ne("device")});async function G(v){var P,D,q;if(a(w,""),e(W))return;if(e(T).lengthe(b)){a(w,n(r.common.errTooLong));return}a(A,!0);let L=await je();if(!L){a(w,"PoW error - please contact your administrator");return}let H={user_code:e(T),pow:L,device_accepted:v},h=await _e("/auth/v1/oidc/device/verify",H);h.status===200?a(F,n(((D=(P=h.body)==null?void 0:P.scopes)==null?void 0:D.split(" "))||["openid"])):h.status===202?(a(ee,!0),setTimeout(()=>{window.location.replace("/auth/v1/account?v=devices")},2e3)):h.status===204?a(re,!0):h.status===404?a(w,n(r.device.wrongOrExpired)):(console.error(h),a(w,n((q=h.error)==null?void 0:q.message))),a(A,!1)}var ae=Ve();ke(v=>{l(()=>Te.title=(r==null?void 0:r.device.title)||"Device Authorization")});var te=k(ae);Ne(te,{id:Pe,get value(){return e(b)},set value(v){a(b,n(v))}});var pe=o(te,2);qe(pe,{children:(v,L)=>{Be(v,{children:(H,h)=>{var P=Ue(),D=k(P);{var q=I=>{var J=Ke(),K=s(J),ie=s(K),he=s(ie,!0);t(ie),t(K);var oe=o(K,2);{var ge=S=>{var E=Fe(),O=k(E),U=s(O,!0);l(()=>d(U,r.device.desc.replace("{{count}}",e(b).toString()))),t(O);var B=o(O,2),g=ce(()=>e(b).toString()),x=ce(()=>e(b).toString());Oe(B,{name:"userCode",autocomplete:"off",get label(){return r.device.userCode},get placeholder(){return r.device.userCode},required:!0,get min(){return e(g)},get max(){return e(x)},pattern:We,get value(){return e(T)},set value(c){a(T,n(c))},get isError(){return e(W)},set isError(c){a(W,n(c))}});var $=o(B,2),C=s($);Y(C,{onclick:()=>G("pending"),get isLoading(){return e(A)},children:(c,u)=>{Q();var m=X();l(()=>d(m,r.device.submit)),i(c,m)},$$slots:{default:!0}}),t($),i(S,E)},xe=S=>{var E=le(),O=k(E);{var U=g=>{var x=Ge(),$=s(x),C=s($,!0);t($);var c=o($,2),u=s(c,!0);t(c),t(x),l(()=>{d(C,r.device.isAccepted),d(u,r.device.autoRedirectAccount)}),i(g,x)},B=g=>{var x=le(),$=k(x);{var C=u=>{var m=He(),y=s(m),M=s(y,!0);t(y);var _=o(y,2),N=s(_,!0);t(_),t(m),l(()=>{d(M,r.device.isDeclined),d(N,r.device.closeWindow)}),i(u,m)},c=u=>{var m=Je(),y=k(m),M=s(y),_=o(M);Le(_,21,()=>e(F),Se,(j,V)=>{var p=Ie(),we=s(p,!0);t(p),l(()=>d(we,e(V))),i(j,p)}),t(_),t(y);var N=o(y,2),ve=s(N);Y(ve,{onclick:()=>G("accept"),get isLoading(){return e(A)},children:(j,V)=>{Q();var p=X();l(()=>d(p,r.device.accept)),i(j,p)},$$slots:{default:!0}});var ze=o(ve,2);Y(ze,{level:-1,onclick:()=>G("decline"),get isLoading(){return e(A)},children:(j,V)=>{Q();var p=X();l(()=>d(p,r.device.decline)),i(j,p)},$$slots:{default:!0}}),t(N),l(()=>d(M,`${r.device.descScopes??""} `)),i(u,m)};R($,u=>{e(re)?u(C):u(c,!1)},!0)}i(g,x)};R(O,g=>{e(ee)?g(U):g(B,!1)},!0)}i(S,E)};R(oe,S=>{e(F)===void 0?S(ge):S(xe,!1)})}var de=o(oe,2),$e=s(de,!0);t(de),t(J),l(()=>{d(he,r.device.title),d($e,e(w))}),i(I,J)};R(D,I=>{e(Z)&&I(q)})}var se=o(D,2);De(se,{absolute:!0});var fe=o(se,2);Ee(fe,{absolute:!0}),i(H,P)},$$slots:{default:!0}})},$$slots:{default:!0}}),i(ue,ae),ye()}export{Qe as component}; diff --git a/static/v1/_app/immutable/nodes/19.DUI9MnTw.js.br b/static/v1/_app/immutable/nodes/19.DUI9MnTw.js.br deleted file mode 100644 index fddc0db07..000000000 Binary files a/static/v1/_app/immutable/nodes/19.DUI9MnTw.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/19.DUI9MnTw.js.gz b/static/v1/_app/immutable/nodes/19.DUI9MnTw.js.gz deleted file mode 100644 index c834259bb..000000000 Binary files a/static/v1/_app/immutable/nodes/19.DUI9MnTw.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/2.AWLSxON1.js b/static/v1/_app/immutable/nodes/2.AWLSxON1.js new file mode 100644 index 000000000..7774642e7 --- /dev/null +++ b/static/v1/_app/immutable/nodes/2.AWLSxON1.js @@ -0,0 +1,20 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{p as st,ao as Bt,h as b,f as X,g as e,a as nt,i as S,c as p,r as d,t as m,a9 as lt,s as w,a4 as it,aq as q,F as U,ar as St,ap as Ht}from"../chunks/index-client.DAoU_hDn.js";import{s as H,e as bt}from"../chunks/render.mNhspeV3.js";import{i as Y}from"../chunks/if.BANCODOf.js";import{h as Lt}from"../chunks/html.CT6bpSnI.js";import{s as ct}from"../chunks/snippet.DHnbbgSs.js";import{e as vt,a as s,t as C,n as E,d as Z}from"../chunks/template.DcxtE4ym.js";import{h as _t}from"../chunks/svelte-head.CtCGS4lr.js";import{p as j}from"../chunks/proxy.D3ASEzk3.js";import{b as ut}from"../chunks/window.Dv-FFGvE.js";import{M as Tt}from"../chunks/Main.B9oV9Is2.js";import{B as dt}from"../chunks/Button.Cy8gcSM8.js";import{s as a,t as ft}from"../chunks/class.DWa3OhYO.js";import{T as Mt,L as jt}from"../chunks/LangSelector.BrxfVQ9N.js";import{p as At}from"../chunks/index.BWkwQiKI.js";import{u as Ct}from"../chunks/session.svelte.BqhfG0Yq.js";import{j as qt,k as Zt}from"../chunks/dataFetching.dLYaql-r.js";import"../chunks/legacy.DtyiMpWz.js";import{s as pt}from"../chunks/index.DER1jHiU.js";import{A as Gt}from"../chunks/A.CPSniiiu.js";import{p as c}from"../chunks/props.VJ8UyA45.js";import{I as Ot}from"../chunks/IconStop.DS7gZeVF.js";import{u as gt,i as Et}from"../chunks/i18n_admin.svelte.C0tjsaXn.js";import{f as Nt}from"../chunks/fetch.m5EOWhre.js";import{e as Rt}from"../chunks/each.DTG73tix.js";import{E as Ut}from"../chunks/Event.CE7YDde8.js";import{l as ht,i as Wt,U as It}from"../chunks/helpers.BV-akmwW.js";import{u as Pt}from"../chunks/i18n.svelte.DUvAL5Pw.js";import{O as Vt}from"../chunks/Options.DfbArCXn.js";var Jt=C(''),Kt=C('
      ');function Qt(v,r){st(r,!0);let o=S(""),l=S(!1),i=S("");Bt(()=>{t()});async function t(){let M=await qt();if(M.ok){let y=await M.json();b(o,j(y.current)),y.last_check,y.latest,b(i,j(y.latest_url)),b(l,j(y.update_available))}}var k=vt(),x=X(k);{var G=M=>{var y=Jt(),$=p(y),g=p($);d($),d(y),m(()=>{a($,"href",e(i)),H(g,`v${e(o)??""} \u26A0\uFE0F`)}),s(M,y)},A=M=>{var y=Kt(),$=p(y);d(y),m(()=>H($,`v${e(o)??""}`)),s(M,y)};Y(x,M=>{e(l)?M(G):M(A,!1)})}s(v,k),nt()}var Dt=E(`rauthy`);function Ft(v){var r=Dt();s(v,r)}var Xt=C('
      '),Yt=C('
      ');function W(v,r){st(r,!0);const o="/auth/v1/admin";let l=lt(()=>r.compact?"1.5rem":"1.2rem"),i=lt(()=>`${o}${r.route}${r.params}`);Gt(v,{get href(){return e(i)},hideUnderline:!0,children:(t,k)=>{var x=vt(),G=X(x);{var A=y=>{var $=Xt(),g=p($),L=p(g);ct(L,()=>r.icon,()=>e(l)),d(g);var z=w(g,2),_=p(z);ct(_,()=>r.children),d(z),d($),s(y,$)},M=y=>{var $=Yt(),g=p($),L=p(g);ct(L,()=>r.icon,()=>e(l)),d(g);var z=w(g,2),_=p(z);ct(_,()=>r.children),d(z),d($),m(()=>pt(g,"width",e(l))),s(y,$)};Y(G,y=>{r.compact?y(A):y(M,!1)})}s(t,x)},$$slots:{default:!0}}),nt()}var te=E('');function ee(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=te();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var re=E(``);function ae(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=re();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var ie=E(``);function oe(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=ie();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var se=E('');function ne(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=se();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var le=E(``);function ce(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=le();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var ve=E('');function de(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=ve();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var pe=E('');function me(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=pe();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var he=E(``);function ue(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=he();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var fe=E(``);function ge(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=fe();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var we=E('');function ye(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=we();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var ke=E(``);function xe(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=ke();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var $e=E('');function be(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=$e();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var Le=E('');function Me(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=Le();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var je=E(``);function Ae(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=je();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var Ce=C(''),ze=C(''),Be=C("
      "),Se=C(' ',1),He=C('
      ',1),_e=C('
      ',1),Te=C('
      '),qe=C('');function Ze(v,r){st(r,!0);let o=gt();Ct("admin");let l=S(!1),i=S(""),t=S(!1),k=S(!0),x=S(void 0);it(()=>{b(i,j(At.url.search))}),it(()=>{e(x)&&e(x)<600&&At.url&&b(k,!0)}),it(()=>{b(k,j(e(x)&&e(x)<800||!1))}),it(()=>{b(t,j(e(x)&&e(x)<1280||!1))});function G(){b(l,!0)}function A(){setTimeout(()=>{b(l,!1)},1e3)}function M(){b(k,!e(k))}function y(){b(t,!e(t))}var $=qe(),g=p($),L=p(g),z=p(L),_=p(z),tt=p(_),I=p(tt);dt(I,{ariaControls:"mainNav",invisible:!0,onclick:M,children:(B,T)=>{var P=Ce(),D=p(P);ee(D,{}),d(P),s(B,P)},$$slots:{default:!0}}),d(tt);var N=w(tt,2);{var et=B=>{var T=Be(),P=p(T);dt(P,{invisible:!0,onclick:y,children:(D,rt)=>{var O=ze(),V=p(O);ae(V,{}),d(O),s(D,O)},$$slots:{default:!0}}),d(T),s(B,T)};Y(N,B=>{e(k)||B(et)})}d(_),d(z);var h=w(z,2);{var R=B=>{var T=Se(),P=X(T),D=p(P);Ft(D),d(P);var rt=w(P,2),O=p(rt);W(O,{get compact(){return e(t)},get params(){return e(i)},route:"/users",icon:(n,u=U)=>{me(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.users)),s(n,f)},$$slots:{icon:!0,default:!0}});var V=w(O,2);W(V,{get compact(){return e(t)},get params(){return e(i)},route:"/attributes",icon:(n,u=U)=>{ne(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.attributes)),s(n,f)},$$slots:{icon:!0,default:!0}});var J=w(V,2);W(J,{get compact(){return e(t)},get params(){return e(i)},route:"/clients",icon:(n,u=U)=>{ce(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.clients)),s(n,f)},$$slots:{icon:!0,default:!0}});var Q=w(J,2);W(Q,{get compact(){return e(t)},get params(){return e(i)},route:"/roles",icon:(n,u=U)=>{Ae(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.roles)),s(n,f)},$$slots:{icon:!0,default:!0}});var F=w(Q,2);W(F,{get compact(){return e(t)},get params(){return e(i)},route:"/groups",icon:(n,u=U)=>{oe(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.groups)),s(n,f)},$$slots:{icon:!0,default:!0}});var ot=w(F,2);W(ot,{get compact(){return e(t)},get params(){return e(i)},route:"/scopes",icon:(n,u=U)=>{ue(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.scopes)),s(n,f)},$$slots:{icon:!0,default:!0}});var mt=w(ot,2);W(mt,{get compact(){return e(t)},get params(){return e(i)},route:"/sessions",icon:(n,u=U)=>{de(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.sessions)),s(n,f)},$$slots:{icon:!0,default:!0}});var wt=w(mt,2);W(wt,{get compact(){return e(t)},get params(){return e(i)},route:"/events",icon:(n,u=U)=>{ge(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.events)),s(n,f)},$$slots:{icon:!0,default:!0}});var yt=w(wt,2);W(yt,{get compact(){return e(t)},get params(){return e(i)},route:"/blacklist",icon:(n,u=U)=>{Ot(n,{get width(){return u()},color:"currentColor"})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.blacklist)),s(n,f)},$$slots:{icon:!0,default:!0}});var kt=w(yt,2);W(kt,{get compact(){return e(t)},get params(){return e(i)},route:"/api_keys",icon:(n,u=U)=>{ye(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.apiKeys)),s(n,f)},$$slots:{icon:!0,default:!0}});var xt=w(kt,2);W(xt,{get compact(){return e(t)},get params(){return e(i)},route:"/providers",icon:(n,u=U)=>{xe(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.providers)),s(n,f)},$$slots:{icon:!0,default:!0}});var $t=w(xt,2);W($t,{get compact(){return e(t)},get params(){return e(i)},route:"/config/policy",icon:(n,u=U)=>{be(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.config)),s(n,f)},$$slots:{icon:!0,default:!0}});var zt=w($t,2);W(zt,{get compact(){return e(t)},get params(){return e(i)},route:"/docs",icon:(n,u=U)=>{Me(n,{get width(){return u()}})},children:(n,u)=>{q();var f=Z();m(()=>H(f,o.nav.docs)),s(n,f)},$$slots:{icon:!0,default:!0}}),d(rt),s(B,T)};Y(h,B=>{e(k)||B(R)})}d(L);var K=w(L,2);{var at=B=>{var T=Te(),P=p(T);{var D=O=>{var V=He(),J=X(V),Q=p(J);Mt(Q,{}),d(J);var F=w(J,2);jt(F,{openTop:!0}),s(O,V)},rt=O=>{var V=_e(),J=X(V),Q=p(J);Mt(Q,{});var F=w(Q,2);jt(F,{openTop:!0}),d(J);var ot=w(J,2),mt=p(ot);Qt(mt,{}),d(ot),s(O,V)};Y(P,O=>{e(t)?O(D):O(rt,!1)})}d(T),s(B,T)};Y(K,B=>{e(k)||B(at)})}d(g),d($),m(()=>{a($,"aria-hidden",e(k)),a($,"data-compact",e(t)),a(_,"aria-hidden",!e(k)&&!e(l))}),ut("innerWidth",B=>b(x,j(B))),bt("mouseenter",$,G),bt("mouseleave",$,A),s(v,$),nt()}var Ge=C('
      • Info
      • Notice
      • Warning
      • Critical
      ');function Oe(v,r){st(r,!0);let o=Pt();var l=Ge(),i=p(l),t=p(i,!0);d(i);var k=w(i,2),x=p(k);const G=lt(()=>ht("info"));m(()=>pt(x,"border-color",e(G)));var A=w(x,2);const M=lt(()=>ht("notice"));m(()=>pt(A,"border-color",e(M)));var y=w(A,2);const $=lt(()=>ht("warning"));m(()=>pt(y,"border-color",e($)));var g=w(y,2);const L=lt(()=>ht("critical"));m(()=>pt(g,"border-color",e(L))),d(k),d(l),m(()=>{H(t,o.common.legend),ft(k,"wide",r.wide)}),s(v,l),nt()}var Ee=C('
      Events
      ');function Ne(v,r){st(r,!0);const o=50;let l=gt(),i=S(void 0),t=S(!1),k=S(void 0),x=S(j([])),G=S(j([])),A=S(j(Wt()&&localStorage.getItem("eventLevel")||"info")),M="";St(()=>{var h;(h=e(k))==null||h.close()}),it(()=>{e(i)&&(e(i)>1440?b(t,!0):b(t,!1))}),it(()=>{e(A)!==M&&(M=e(A),$())}),it(()=>{if(e(x))switch(e(A)){case"info":b(G,j(e(x)));break;case"notice":b(G,j(e(x).filter(h=>h.typ==="Test"||h.level==="notice"||h.level==="warning"||h.level==="critical")));break;case"warning":b(G,j(e(x).filter(h=>h.typ==="Test"||h.level==="warning"||h.level==="critical")));break;case"critical":b(G,j(e(x).filter(h=>h.typ==="Test"||h.level==="critical")));break}});async function y(){await Zt()}function $(){var h,R;localStorage.setItem("eventLevel",e(A)),((h=e(k))==null?void 0:h.readyState)!==2&&((R=e(k))==null||R.close()),console.log("opening SSE stream"),b(k,j(new EventSource(`/auth/v1/events/stream?latest=${o}&level=${e(A).toLowerCase()}`))),e(k).onopen=()=>{b(x,j([]))},e(k).onerror=()=>{console.error("SSE Events Stream closed")},e(k).onmessage=K=>{if(K.data){let at=JSON.parse(K.data);b(x,j([at,...e(x).slice(-499)]))}}}var g=Ee(),L=p(g),z=p(L),_=p(z),tt=w(p(_),2);Vt(tt,{get ariaLabel(){return l.events.eventLevel},options:It,borderless:!0,get value(){return e(A)},set value(h){b(A,j(h))}}),d(_);var I=w(_,2);dt(I,{level:3,onclick:y,children:(h,R)=>{q();var K=Z("Test");s(h,K)},$$slots:{default:!0}}),d(z);var N=w(z,2);Rt(N,21,()=>e(G),h=>h.id,(h,R)=>{Ut(h,{get event(){return e(R)}})}),d(N),d(L);var et=w(L,2);Oe(et,{get wide(){return e(t)}}),d(g),m(()=>{ft(g,"wide",e(t)),ft(g,"narrow",!e(t))}),ut("innerWidth",h=>b(i,j(h))),s(v,g),nt()}var Re=C('
      '),Ue=C('
      '),We=C('
      '),Ie=C('
      ',1),Pe=C(" ",1);function Ve(v,r){st(r,!0),Et();let o=gt(),l=Ct("admin"),i=S(void 0),t=S(!1),k=S(!1),x=S(!1);it(()=>{var L;let g=l.get();g&&((L=g==null?void 0:g.roles)!=null&&L.includes("rauthy_admin")?(b(t,!0),G()):b(k,!0))});async function G(){(await Nt("/auth/v1/auth_check_admin")).status===406&&b(x,!0)}var A=vt();_t(g=>{Ht.title="Rauthy Admin"});var M=X(A);{var y=g=>{var L=Re(),z=p(L),_=p(z),tt=p(_);Lt(tt,()=>o.error.noAdmin),d(_);var I=w(_,2);dt(I,{onclick:()=>window.location.href="/auth/v1/account",children:(N,et)=>{q();var h=Z();m(()=>H(h,o.common.account)),s(N,h)},$$slots:{default:!0}}),d(z),d(L),s(g,L)},$=g=>{var L=vt(),z=X(L);{var _=I=>{var N=Ue(),et=p(N),h=p(et),R=p(h);Lt(R,()=>o.error.needsAdminRole),d(h);var K=w(h,2);dt(K,{onclick:()=>window.location.href="/auth/v1/",children:(at,B)=>{q();var T=Z();m(()=>H(T,o.common.back)),s(at,T)},$$slots:{default:!0}}),d(et),d(N),s(I,N)},tt=I=>{var N=vt(),et=X(N);{var h=R=>{var K=Pe(),at=X(K);Ze(at,{});var B=w(at,2);Tt(B,{children:(T,P)=>{var D=Ie(),rt=X(D),O=p(rt);ct(O,()=>r.children),d(rt);var V=w(rt,2);{var J=Q=>{var F=We(),ot=p(F);Ne(ot,{}),d(F),s(Q,F)};Y(V,Q=>{e(i)&&e(i)>1024&&Q(J)})}s(T,D)},$$slots:{default:!0}}),s(R,K)};Y(et,R=>{e(t)&&R(h)},!0)}s(I,N)};Y(z,I=>{e(k)?I(_):I(tt,!1)},!0)}s(g,L)};Y(M,g=>{e(x)?g(y):g($,!1)})}ut("innerWidth",g=>b(i,j(g))),s(v,A),nt()}export{Ve as component}; diff --git a/static/v1/_app/immutable/nodes/2.AWLSxON1.js.br b/static/v1/_app/immutable/nodes/2.AWLSxON1.js.br new file mode 100644 index 000000000..04a18e3b5 Binary files /dev/null and b/static/v1/_app/immutable/nodes/2.AWLSxON1.js.br differ diff --git a/static/v1/_app/immutable/nodes/2.AWLSxON1.js.gz b/static/v1/_app/immutable/nodes/2.AWLSxON1.js.gz new file mode 100644 index 000000000..02d096f41 Binary files /dev/null and b/static/v1/_app/immutable/nodes/2.AWLSxON1.js.gz differ diff --git a/static/v1/_app/immutable/nodes/2.DviUE_CX.js b/static/v1/_app/immutable/nodes/2.DviUE_CX.js deleted file mode 100644 index 725d98b69..000000000 --- a/static/v1/_app/immutable/nodes/2.DviUE_CX.js +++ /dev/null @@ -1,20 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{p as st,h as b,f as X,g as e,a as nt,i as S,c as p,r as d,t as m,O as lt,s as w,F as it,ap as T,Q as U,$ as Bt}from"../chunks/runtime.BsghBUX9.js";import{s as H,e as bt}from"../chunks/render.CTp9lacC.js";import{i as Y}from"../chunks/if.6Ov_EDLa.js";import{h as Lt}from"../chunks/html.BSubRRdz.js";import{s as ct}from"../chunks/snippet.C6jUNrz1.js";import{e as vt,a as s,t as C,n as N,d as Z}from"../chunks/template.jENAUvUX.js";import{h as St}from"../chunks/svelte-head.cS_wx7Ri.js";import{p as j}from"../chunks/proxy.YH42NwLs.js";import{a as ut}from"../chunks/window.DDH7z8ZH.js";import{M as Ht}from"../chunks/Main.DdVUe3_l.js";import{B as dt,f as _t}from"../chunks/fetch.BvIeF4JA.js";import{s as a,a as pt,t as ft}from"../chunks/index.G5lyZbma.js";import{T as Mt,L as jt}from"../chunks/LangSelector.TD0HCe5U.js";import{p as At}from"../chunks/index.CYO5XJ7v.js";import{u as Ct}from"../chunks/session.svelte.DJ5oIUdF.js";import{o as qt,a as Tt}from"../chunks/index-client.ClP8y9aT.js";import{h as Zt,i as Gt}from"../chunks/dataFetching.B7RPH17f.js";import"../chunks/legacy.Dn68_YLB.js";import{A as Et}from"../chunks/A.BmPHpmKq.js";import{p as c}from"../chunks/props.CslUVmW_.js";import{I as Nt}from"../chunks/IconStop.OvZMk6DH.js";import{u as gt,O as Ot,i as Rt}from"../chunks/Options.BJCTpMmM.js";import{e as Ut}from"../chunks/each.URXtkKAp.js";import{E as Wt}from"../chunks/Event.7OTthgGm.js";import{k as ht,i as It,S as Vt}from"../chunks/helpers.CBl6QeM5.js";import{u as Qt}from"../chunks/i18n.svelte.D8rR00qK.js";var Jt=C(''),Kt=C('
      ');function Dt(v,r){st(r,!0);let o=S(""),l=S(!1),i=S("");qt(()=>{t()});async function t(){let M=await Zt();if(M.ok){let y=await M.json();b(o,j(y.current)),y.last_check,y.latest,b(i,j(y.latest_url)),b(l,j(y.update_available))}}var k=vt(),x=X(k);{var G=M=>{var y=Jt(),$=p(y),g=p($);d($),d(y),m(()=>{a($,"href",e(i)),H(g,`v${e(o)??""} \u26A0\uFE0F`)}),s(M,y)},A=M=>{var y=Kt(),$=p(y);d(y),m(()=>H($,`v${e(o)??""}`)),s(M,y)};Y(x,M=>{e(l)?M(G):M(A,!1)})}s(v,k),nt()}var Pt=N(`rauthy`);function Ft(v){var r=Pt();s(v,r)}var Xt=C('
      '),Yt=C('
      ');function W(v,r){st(r,!0);const o="/auth/v1/admin";let l=lt(()=>r.compact?"1.5rem":"1.2rem"),i=lt(()=>`${o}${r.route}${r.params}`);Et(v,{get href(){return e(i)},hideUnderline:!0,children:(t,k)=>{var x=vt(),G=X(x);{var A=y=>{var $=Xt(),g=p($),L=p(g);ct(L,()=>r.icon,()=>e(l)),d(g);var z=w(g,2),_=p(z);ct(_,()=>r.children),d(z),d($),s(y,$)},M=y=>{var $=Yt(),g=p($),L=p(g);ct(L,()=>r.icon,()=>e(l)),d(g);var z=w(g,2),_=p(z);ct(_,()=>r.children),d(z),d($),m(()=>pt(g,"width",e(l))),s(y,$)};Y(G,y=>{r.compact?y(A):y(M,!1)})}s(t,x)},$$slots:{default:!0}}),nt()}var te=N('');function ee(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=te();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var re=N(``);function ae(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=re();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var ie=N(``);function oe(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=ie();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var se=N('');function ne(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=se();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var le=N(``);function ce(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=le();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var ve=N('');function de(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=ve();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var pe=N('');function me(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=pe();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var he=N(``);function ue(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=he();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var fe=N(``);function ge(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=fe();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var we=N('');function ye(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=we();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var ke=N(``);function xe(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=ke();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var $e=N('');function be(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=$e();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var Le=N('');function Me(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=Le();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var je=N(``);function Ae(v,r){let o=c(r,"opacity",3,.9),l=c(r,"width",3,"1.5rem"),i=c(r,"color",3,"currentColor");var t=je();a(t,"stroke-width",2),m(()=>{a(t,"stroke",i()),a(t,"width",l()),a(t,"opacity",o())}),s(v,t)}var Ce=C(''),ze=C(''),Be=C("
      "),Se=C(' ',1),He=C('
      ',1),_e=C('
      ',1),qe=C('
      '),Te=C('');function Ze(v,r){st(r,!0);let o=gt();Ct("admin");let l=S(!1),i=S(""),t=S(!1),k=S(!0),x=S(void 0);it(()=>{b(i,j(At.url.search))}),it(()=>{e(x)&&e(x)<600&&At.url&&b(k,!0)}),it(()=>{b(k,j(e(x)&&e(x)<800||!1))}),it(()=>{b(t,j(e(x)&&e(x)<1280||!1))});function G(){b(l,!0)}function A(){setTimeout(()=>{b(l,!1)},1e3)}function M(){b(k,!e(k))}function y(){b(t,!e(t))}var $=Te(),g=p($),L=p(g),z=p(L),_=p(z),tt=p(_),I=p(tt);dt(I,{ariaControls:"mainNav",invisible:!0,onclick:M,children:(B,q)=>{var V=Ce(),P=p(V);ee(P,{}),d(V),s(B,V)},$$slots:{default:!0}}),d(tt);var O=w(tt,2);{var et=B=>{var q=Be(),V=p(q);dt(V,{invisible:!0,onclick:y,children:(P,rt)=>{var E=ze(),Q=p(E);ae(Q,{}),d(E),s(P,E)},$$slots:{default:!0}}),d(q),s(B,q)};Y(O,B=>{e(k)||B(et)})}d(_),d(z);var h=w(z,2);{var R=B=>{var q=Se(),V=X(q),P=p(V);Ft(P),d(V);var rt=w(V,2),E=p(rt);W(E,{get compact(){return e(t)},get params(){return e(i)},route:"/users",icon:(n,u=U)=>{me(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.users)),s(n,f)},$$slots:{icon:!0,default:!0}});var Q=w(E,2);W(Q,{get compact(){return e(t)},get params(){return e(i)},route:"/attributes",icon:(n,u=U)=>{ne(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.attributes)),s(n,f)},$$slots:{icon:!0,default:!0}});var J=w(Q,2);W(J,{get compact(){return e(t)},get params(){return e(i)},route:"/clients",icon:(n,u=U)=>{ce(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.clients)),s(n,f)},$$slots:{icon:!0,default:!0}});var D=w(J,2);W(D,{get compact(){return e(t)},get params(){return e(i)},route:"/roles",icon:(n,u=U)=>{Ae(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.roles)),s(n,f)},$$slots:{icon:!0,default:!0}});var F=w(D,2);W(F,{get compact(){return e(t)},get params(){return e(i)},route:"/groups",icon:(n,u=U)=>{oe(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.groups)),s(n,f)},$$slots:{icon:!0,default:!0}});var ot=w(F,2);W(ot,{get compact(){return e(t)},get params(){return e(i)},route:"/scopes",icon:(n,u=U)=>{ue(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.scopes)),s(n,f)},$$slots:{icon:!0,default:!0}});var mt=w(ot,2);W(mt,{get compact(){return e(t)},get params(){return e(i)},route:"/sessions",icon:(n,u=U)=>{de(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.sessions)),s(n,f)},$$slots:{icon:!0,default:!0}});var wt=w(mt,2);W(wt,{get compact(){return e(t)},get params(){return e(i)},route:"/events",icon:(n,u=U)=>{ge(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.events)),s(n,f)},$$slots:{icon:!0,default:!0}});var yt=w(wt,2);W(yt,{get compact(){return e(t)},get params(){return e(i)},route:"/blacklist",icon:(n,u=U)=>{Nt(n,{get width(){return u()},color:"currentColor"})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.blacklist)),s(n,f)},$$slots:{icon:!0,default:!0}});var kt=w(yt,2);W(kt,{get compact(){return e(t)},get params(){return e(i)},route:"/api_keys",icon:(n,u=U)=>{ye(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.apiKeys)),s(n,f)},$$slots:{icon:!0,default:!0}});var xt=w(kt,2);W(xt,{get compact(){return e(t)},get params(){return e(i)},route:"/providers",icon:(n,u=U)=>{xe(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.providers)),s(n,f)},$$slots:{icon:!0,default:!0}});var $t=w(xt,2);W($t,{get compact(){return e(t)},get params(){return e(i)},route:"/config",icon:(n,u=U)=>{be(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.config)),s(n,f)},$$slots:{icon:!0,default:!0}});var zt=w($t,2);W(zt,{get compact(){return e(t)},get params(){return e(i)},route:"/docs",icon:(n,u=U)=>{Me(n,{get width(){return u()}})},children:(n,u)=>{T();var f=Z();m(()=>H(f,o.nav.docs)),s(n,f)},$$slots:{icon:!0,default:!0}}),d(rt),s(B,q)};Y(h,B=>{e(k)||B(R)})}d(L);var K=w(L,2);{var at=B=>{var q=qe(),V=p(q);{var P=E=>{var Q=He(),J=X(Q),D=p(J);Mt(D,{}),d(J);var F=w(J,2);jt(F,{openTop:!0}),s(E,Q)},rt=E=>{var Q=_e(),J=X(Q),D=p(J);Mt(D,{});var F=w(D,2);jt(F,{openTop:!0}),d(J);var ot=w(J,2),mt=p(ot);Dt(mt,{}),d(ot),s(E,Q)};Y(V,E=>{e(t)?E(P):E(rt,!1)})}d(q),s(B,q)};Y(K,B=>{e(k)||B(at)})}d(g),d($),m(()=>{a($,"aria-hidden",e(k)),a($,"data-compact",e(t)),a(_,"aria-hidden",!e(k)&&!e(l))}),ut("innerWidth",B=>b(x,j(B))),bt("mouseenter",$,G),bt("mouseleave",$,A),s(v,$),nt()}var Ge=C('
      • Info
      • Notice
      • Warning
      • Critical
      ');function Ee(v,r){st(r,!0);let o=Qt();var l=Ge(),i=p(l),t=p(i,!0);d(i);var k=w(i,2),x=p(k);const G=lt(()=>ht("info"));m(()=>pt(x,"border-color",e(G)));var A=w(x,2);const M=lt(()=>ht("notice"));m(()=>pt(A,"border-color",e(M)));var y=w(A,2);const $=lt(()=>ht("warning"));m(()=>pt(y,"border-color",e($)));var g=w(y,2);const L=lt(()=>ht("critical"));m(()=>pt(g,"border-color",e(L))),d(k),d(l),m(()=>{H(t,o.common.legend),ft(k,"wide",r.wide)}),s(v,l),nt()}var Ne=C('
      Events
      ');function Oe(v,r){st(r,!0);const o=50;let l=gt(),i=S(void 0),t=S(!1),k=S(void 0),x=S(j([])),G=S(j([])),A=S(j(It()&&localStorage.getItem("eventLevel")||"info")),M="";Tt(()=>{var h;(h=e(k))==null||h.close()}),it(()=>{e(i)&&(e(i)>1440?b(t,!0):b(t,!1))}),it(()=>{e(A)!==M&&(M=e(A),$())}),it(()=>{if(e(x))switch(e(A)){case"info":b(G,j(e(x)));break;case"notice":b(G,j(e(x).filter(h=>h.typ==="Test"||h.level==="notice"||h.level==="warning"||h.level==="critical")));break;case"warning":b(G,j(e(x).filter(h=>h.typ==="Test"||h.level==="warning"||h.level==="critical")));break;case"critical":b(G,j(e(x).filter(h=>h.typ==="Test"||h.level==="critical")));break}});async function y(){await Gt()}function $(){var h,R;localStorage.setItem("eventLevel",e(A)),((h=e(k))==null?void 0:h.readyState)!==2&&((R=e(k))==null||R.close()),console.log("opening SSE stream"),b(k,j(new EventSource(`/auth/v1/events/stream?latest=${o}&level=${e(A).toLowerCase()}`))),e(k).onopen=()=>{b(x,j([]))},e(k).onerror=()=>{console.error("SSE Events Stream closed")},e(k).onmessage=K=>{if(K.data){let at=JSON.parse(K.data);b(x,j([at,...e(x).slice(-499)]))}}}var g=Ne(),L=p(g),z=p(L),_=p(z),tt=w(p(_),2);Ot(tt,{get ariaLabel(){return l.events.eventLevel},options:Vt,borderless:!0,get value(){return e(A)},set value(h){b(A,j(h))}}),d(_);var I=w(_,2);dt(I,{level:3,onclick:y,children:(h,R)=>{T();var K=Z("Test");s(h,K)},$$slots:{default:!0}}),d(z);var O=w(z,2);Ut(O,21,()=>e(G),h=>h.id,(h,R)=>{Wt(h,{get event(){return e(R)}})}),d(O),d(L);var et=w(L,2);Ee(et,{get wide(){return e(t)}}),d(g),m(()=>{ft(g,"wide",e(t)),ft(g,"narrow",!e(t))}),ut("innerWidth",h=>b(i,j(h))),s(v,g),nt()}var Re=C('
      '),Ue=C('
      '),We=C('
      '),Ie=C('
      ',1),Ve=C(" ",1);function Qe(v,r){st(r,!0),Rt();let o=gt(),l=Ct("admin"),i=S(void 0),t=S(!1),k=S(!1),x=S(!1);it(()=>{var L;let g=l.get();g&&((L=g==null?void 0:g.roles)!=null&&L.includes("rauthy_admin")?(b(t,!0),G()):b(k,!0))});async function G(){(await _t("/auth/v1/auth_check_admin")).status===406&&b(x,!0)}var A=vt();St(g=>{Bt.title="Rauthy Admin"});var M=X(A);{var y=g=>{var L=Re(),z=p(L),_=p(z),tt=p(_);Lt(tt,()=>o.error.noAdmin),d(_);var I=w(_,2);dt(I,{onclick:()=>window.location.href="/auth/v1/account",children:(O,et)=>{T();var h=Z();m(()=>H(h,o.common.account)),s(O,h)},$$slots:{default:!0}}),d(z),d(L),s(g,L)},$=g=>{var L=vt(),z=X(L);{var _=I=>{var O=Ue(),et=p(O),h=p(et),R=p(h);Lt(R,()=>o.error.needsAdminRole),d(h);var K=w(h,2);dt(K,{onclick:()=>window.location.href="/auth/v1/",children:(at,B)=>{T();var q=Z();m(()=>H(q,o.common.back)),s(at,q)},$$slots:{default:!0}}),d(et),d(O),s(I,O)},tt=I=>{var O=vt(),et=X(O);{var h=R=>{var K=Ve(),at=X(K);Ze(at,{});var B=w(at,2);Ht(B,{children:(q,V)=>{var P=Ie(),rt=X(P),E=p(rt);ct(E,()=>r.children),d(rt);var Q=w(rt,2);{var J=D=>{var F=We(),ot=p(F);Oe(ot,{}),d(F),s(D,F)};Y(Q,D=>{e(i)&&e(i)>1024&&D(J)})}s(q,P)},$$slots:{default:!0}}),s(R,K)};Y(et,R=>{e(t)&&R(h)},!0)}s(I,O)};Y(z,I=>{e(k)?I(_):I(tt,!1)},!0)}s(g,L)};Y(M,g=>{e(x)?g(y):g($,!1)})}ut("innerWidth",g=>b(i,j(g))),s(v,A),nt()}export{Qe as component}; diff --git a/static/v1/_app/immutable/nodes/2.DviUE_CX.js.br b/static/v1/_app/immutable/nodes/2.DviUE_CX.js.br deleted file mode 100644 index efe39f15b..000000000 Binary files a/static/v1/_app/immutable/nodes/2.DviUE_CX.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/2.DviUE_CX.js.gz b/static/v1/_app/immutable/nodes/2.DviUE_CX.js.gz deleted file mode 100644 index 3e0a6330e..000000000 Binary files a/static/v1/_app/immutable/nodes/2.DviUE_CX.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/20.cfCYFvjk.js b/static/v1/_app/immutable/nodes/20.cfCYFvjk.js new file mode 100644 index 000000000..4c62dae7e --- /dev/null +++ b/static/v1/_app/immutable/nodes/20.cfCYFvjk.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{p as Y,i as m,ao as U,a as B,g as a,h as t,c as E,aq as q,s as g,r as y,t as z,f as F}from"../chunks/index-client.DAoU_hDn.js";import{s as G}from"../chunks/render.mNhspeV3.js";import{e as ue}from"../chunks/each.DTG73tix.js";import{a as n,d as J,t as p,e as me}from"../chunks/template.DcxtE4ym.js";import{p as r}from"../chunks/proxy.D3ASEzk3.js";import{u as pe,v as he,w as fe,k as ge,x as we}from"../chunks/dataFetchingAdmin.D7RWqeRL.js";import{i as N}from"../chunks/if.BANCODOf.js";import{p as M}from"../chunks/props.VJ8UyA45.js";import{r as ee}from"../chunks/legacy-client.rYJ80fHr.js";import{E as te}from"../chunks/ExpandContainer.mM6ZiTQe.js";import{c as se,a as re,I as oe}from"../chunks/Input.C04-Kl2S.js";import{Y as ie,o as ve,Z as ne}from"../chunks/helpers.BV-akmwW.js";import{B as ae}from"../chunks/Button.CKHLXer8.js";import{s as le,t as X,a as Z}from"../chunks/index.DER1jHiU.js";import{T as ce}from"../chunks/OptionSelect.CBlj_bre.js";import{T as be}from"../chunks/TabBar.BqcS880p.js";import{I as de}from"../chunks/ItemTiles.DxajBUfv.js";import{O as $e,P as ye}from"../chunks/Pagination.DF9sn7Vj.js";var _e=p('
      ADD NEW SCOPE
      '),Se=p('
      Success
      '),Ee=p('
      '),Ce=p('
      ');function De(P,$){Y($,!0);let j=M($,"idx",31,()=>-1),s=m(void 0),c=m(r({scope:""})),h=m(""),w=m(!1),_=m(void 0),S=m(r({}));const T=se().shape({scope:re().trim().matches(ie,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});ee(()=>{a(w)&&t(_,r(setTimeout(()=>{$.onSave(),t(w,!1),t(c,r({scope:""})),t(s,!1)},1500)))}),U(()=>()=>clearTimeout(a(_)));async function C(){if(t(h,""),!await b()){t(h,"Invalid input");return}a(c).scope=a(c).scope.trim();let i=await pe(a(c));if(i.ok)t(w,!0);else{let d=await i.json();t(h,r(d.message))}}async function b(){try{return await T.validate(a(c),{abortEarly:!1}),t(S,r({})),!0}catch(i){return t(S,r(ve(i))),!1}}te(P,{get idx(){return j()},set idx(i){j(i)},get show(){return a(s)},set show(i){t(s,r(i))},header:i=>{var d=_e();n(i,d)},body:i=>{var d=Ce(),k=E(d);oe(k,{autocomplete:"off",placeholder:"Scope Name",get value(){return a(c).scope},set value(e){a(c).scope=e},get error(){return a(S).scope},set error(e){a(S).scope=e},$$events:{input:b},children:(e,l)=>{q();var I=J("SCOPE NAME");n(e,I)},$$slots:{default:!0}});var u=g(k,2);ae(u,{level:1,width:"4rem",$$events:{click:C},children:(e,l)=>{q();var I=J("SAVE");n(e,I)},$$slots:{default:!0}});var D=g(u,2);{var v=e=>{var l=Se();n(e,l)};N(D,e=>{a(w)&&e(v)})}var f=g(D,2);{var O=e=>{var l=Ee(),I=E(l,!0);y(l),z(()=>G(I,a(h))),n(e,l)};N(f,e=>{a(h)&&e(O)})}y(d),n(i,d)},$$slots:{header:!0,body:!0}}),B()}var Ie=p('

      Custom mappings cannot be done for OpenID default scopes and their names cannot be changed.

      '),je=p('

      You can map custom scopes to attributes.
      All additional attributes, that were configured, can have a custom value for each user.
      When they are mapped to a scope, they can be included in the Access and / or ID Tokens.

      ACCESS TOKEN MAPPINGS
      ID TOKEN MAPPINGS
      ',1),ke=p('
      Success
      '),xe=p('
      '),Te=p(" ",1),Ae=p('
      ID
      ');function Pe(P,$){Y($,!0);let j=M($,"attrs",27,()=>r([])),s=M($,"scope",31,()=>r({})),c=m(""),h=m(!1),w=m(void 0),_=m(!1),S=m(r([]));ee(()=>{a(h)&&t(w,r(setTimeout(()=>{t(h,!1),$.onSave()},2e3)))}),ee(()=>{j()&&t(S,r(j().map(o=>o.name)))}),U(()=>(t(_,r(ne(s().name))),()=>clearTimeout(a(w))));let T=m(r({}));const C=se().shape({name:re().trim().matches(ie,"Can only contain: 'a-z0-9-_/:*', length: 2-64")});async function b(){if(t(c,""),!await i()){t(c,"Invalid input");return}let o={scope:s().name.trim()};s().attr_include_access.length>0&&(o.attr_include_access=s().attr_include_access),s().attr_include_id.length>0&&(o.attr_include_id=s().attr_include_id);let A=await he(s().id,o);if(A.ok)t(h,!0);else{let x=await A.json();t(c,r(x.message))}}async function i(){try{return await C.validate(s(),{abortEarly:!1}),t(T,r({})),!0}catch(o){return t(T,r(ve(o))),!1}}var d=Ae(),k=E(d),u=g(E(k),2),D=E(u,!0);y(u),y(k);var v=g(k,2);oe(v,{autocomplete:"off",placeholder:"Scope Name",get disabled(){return a(_)},get value(){return s().name},set value(o){s(s().name=o,!0)},get error(){return a(T).name},set error(o){a(T).name=o},$$events:{input:i},children:(o,A)=>{q();var x=J("SCOPE NAME");n(o,x)},$$slots:{default:!0}});var f=g(v,4);{var O=o=>{var A=Ie();n(o,A)},e=o=>{var A=je(),x=g(F(A),2);le(x,"margin-top","-3px");var Q=g(E(x),2);de(Q,{get options(){return a(S)},searchThreshold:4,get items(){return s().attr_include_access},set items(W){s(s().attr_include_access=W,!0)}}),y(x);var V=g(x,2);le(V,"margin-top","-3px");var H=g(E(V),2);de(H,{get options(){return a(S)},searchThreshold:4,get items(){return s().attr_include_id},set items(W){s(s().attr_include_id=W,!0)}}),y(V),n(o,A)};N(f,o=>{a(_)?o(O):o(e,!1)})}var l=g(f,2);{var I=o=>{var A=Te(),x=F(A);ae(x,{level:1,width:"4rem",$$events:{click:b},children:(L,K)=>{q();var R=J("SAVE");n(L,R)},$$slots:{default:!0}});var Q=g(x,2);{var V=L=>{var K=ke();n(L,K)};N(Q,L=>{a(h)&&L(V)})}var H=g(Q,2);{var W=L=>{var K=xe(),R=E(K,!0);y(K),z(()=>G(R,a(c))),n(L,K)};N(H,L=>{a(c)&&L(W)})}n(o,A)};N(l,o=>{a(_)||o(I)})}y(d),z(()=>G(D,s().id)),n(P,d),B()}var Ne=p('
      OpenID default scopes cannot be deleted
      '),Oe=p('
      '),Le=p('
      Are you sure, you want to delete this scope?
      ',1),qe=p('
      ');function ze(P,$){Y($,!0);let j=M($,"scope",19,()=>({})),s=m(!1),c=m("");async function h(){t(c,""),t(s,!0);let C=await fe(j().id);if(C.ok)$.onSave();else{let b=await C.json();t(c,r(b.message))}t(s,!1)}var w=qe(),_=E(w);{var S=C=>{var b=Ne();n(C,b)},T=C=>{var b=Le(),i=g(F(b),2);ae(i,{level:1,get isLoading(){return a(s)},set isLoading(u){t(s,r(u))},$$events:{click:h},children:(u,D)=>{q();var v=J("DELETE");n(u,v)},$$slots:{default:!0}});var d=g(i,2);{var k=u=>{var D=Oe(),v=E(D,!0);y(D),z(()=>G(v,a(c))),n(u,D)};N(d,u=>{a(c)&&u(k)})}n(C,b)};N(_,C=>{ne(j().name)?C(S):C(T,!1)})}y(w),n(P,w),B()}var Ge=p('
      '),Me=p('
      '),Ke=p('
      '),Ve=p("
      "),We=p("
      "),Ye=p("
      ");function Be(P,$){Y($,!0);let j=M($,"attrs",15),s=M($,"scope",31,()=>r({})),c=M($,"onSave",15),h=m(void 0);const w=["Config","Delete"];let _=m(r(w[0]));const S=200,T=S/2;function C(){t(h,!1),c()()}te(P,{get show(){return a(h)},set show(b){t(h,r(b))},header:b=>{var i=Ke(),d=E(i);ce(d,{text:"Scope ID",children:(u,D)=>{var v=Ge(),f=E(v,!0);y(v),z(()=>G(f,s().id)),n(u,v)},$$slots:{default:!0}});var k=g(d,2);ce(k,{text:"Scope Name",children:(u,D)=>{var v=Me(),f=E(v,!0);y(v),z(()=>G(f,s().name)),n(u,v)},$$slots:{default:!0}}),y(i),n(b,i)},body:b=>{var i=Ye(),d=E(i);be(d,{labels:w,get selected(){return a(_)},set selected(v){t(_,r(v))}});var k=g(d,2);{var u=v=>{var f=Ve(),O=E(f);Pe(O,{get attrs(){return j()},set attrs(e){j(e)},get scope(){return s()},set scope(e){s(e)},get onSave(){return c()},set onSave(e){c(e)}}),y(f),X(5,f,()=>Z,()=>({delay:T,duration:S})),X(6,f,()=>Z,()=>({duration:S})),n(v,f)},D=v=>{var f=me(),O=F(f);{var e=l=>{var I=We(),o=E(I);ze(o,{get scope(){return s()},onSave:C}),y(I),X(5,I,()=>Z,()=>({delay:T,duration:S})),X(6,I,()=>Z,()=>({duration:S})),n(l,I)};N(O,l=>{a(_)==="Delete"&&l(e)},!0)}n(v,f)};N(k,v=>{a(_)==="Config"?v(u):v(D,!1)})}y(i),n(b,i)},$$slots:{header:!0,body:!0}}),B()}var Fe=p('
      '),Je=p('
      ',1);function Qe(P,$){Y($,!0);let j=m(r([])),s=m(""),c=m(r([])),h=m(r([])),w=m(r([])),_=m(""),S=[{label:"Name",callback:(e,l)=>e.name.toLowerCase().includes(l.toLowerCase())},{label:"ID",callback:(e,l)=>e.id.toLowerCase().includes(l.toLowerCase())}],T=[{label:"Name",callback:(e,l)=>e.name.localeCompare(l.name)},{label:"ID",callback:(e,l)=>e.id.localeCompare(l.id)}];U(()=>{b(),C(),t(_,"")});async function C(){let e=await ge();if(!e.ok)t(s,"Error fetching attributes: "+e.body.message);else{let l=await e.json();t(j,r([...l.values]))}}async function b(){let e=await we(),l=await e.json();e.ok?t(c,r([...l])):t(s,r(l.message))}function i(){b()}q();var d=Je(),k=F(d),u=g(k),D=E(u);$e(D,{get items(){return a(c)},searchOptions:S,orderOptions:T,get resItems(){return a(h)},set resItems(e){t(h,r(e))},get search(){return a(_)},set search(e){t(_,r(e))}});var v=g(D,2);De(v,{onSave:i});var f=g(v,2);ue(f,23,()=>a(w),e=>e.id,(e,l,I)=>{var o=Fe(),A=E(o);Be(A,{onSave:i,get attrs(){return a(j)},set attrs(x){t(j,r(x))},get scope(){return a(w)[a(I)]},set scope(x){a(w)[a(I)]=x}}),y(o),n(e,o)}),y(f);var O=g(f,2);ye(O,{get items(){return a(h)},set items(e){t(h,r(e))},get resItems(){return a(w)},set resItems(e){t(w,r(e))}}),q(2),y(u),z(()=>G(k,`${a(s)??""} `)),n(P,d),B()}function Xe(P){Qe(P,{})}export{Xe as component}; diff --git a/static/v1/_app/immutable/nodes/20.cfCYFvjk.js.br b/static/v1/_app/immutable/nodes/20.cfCYFvjk.js.br new file mode 100644 index 000000000..9245686db Binary files /dev/null and b/static/v1/_app/immutable/nodes/20.cfCYFvjk.js.br differ diff --git a/static/v1/_app/immutable/nodes/20.cfCYFvjk.js.gz b/static/v1/_app/immutable/nodes/20.cfCYFvjk.js.gz new file mode 100644 index 000000000..dcb279ead Binary files /dev/null and b/static/v1/_app/immutable/nodes/20.cfCYFvjk.js.gz differ diff --git a/static/v1/_app/immutable/nodes/20.vE9Iw4eS.js.br b/static/v1/_app/immutable/nodes/20.vE9Iw4eS.js.br deleted file mode 100644 index 0b1905d5b..000000000 Binary files a/static/v1/_app/immutable/nodes/20.vE9Iw4eS.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/20.vE9Iw4eS.js.gz b/static/v1/_app/immutable/nodes/20.vE9Iw4eS.js.gz deleted file mode 100644 index 6fa1b2742..000000000 Binary files a/static/v1/_app/immutable/nodes/20.vE9Iw4eS.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/21.BYE4caay.js b/static/v1/_app/immutable/nodes/21.BYE4caay.js new file mode 100644 index 000000000..27585d7f5 --- /dev/null +++ b/static/v1/_app/immutable/nodes/21.BYE4caay.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{p as H,c as r,r as l,t as P,a as J,s as v,i as $,ao as oe,h as t,g as a,aq as ve,f as K}from"../chunks/index-client.DAoU_hDn.js";import{s as k}from"../chunks/render.mNhspeV3.js";import{i as Q}from"../chunks/if.BANCODOf.js";import{e as V}from"../chunks/each.DTG73tix.js";import{a as b,t as _,d as ne,e as W}from"../chunks/template.DcxtE4ym.js";import{s as ce}from"../chunks/index.DER1jHiU.js";import{p as d}from"../chunks/proxy.D3ASEzk3.js";import{b as pe,c as me,e as Y}from"../chunks/dataFetchingAdmin.D7RWqeRL.js";import{k as N,r as be}from"../chunks/helpers.BV-akmwW.js";import{B as ge}from"../chunks/Button.CKHLXer8.js";import{O as ue,P as fe}from"../chunks/Pagination.DF9sn7Vj.js";import{P as he}from"../chunks/PaginationServer.CSS8vRPq.js";import{t as we}from"../chunks/class.DWa3OhYO.js";import{p as Z}from"../chunks/props.VJ8UyA45.js";import{C as xe}from"../chunks/CheckIcon.CrU43zqd.js";import{E as Ie}from"../chunks/ExpandContainer.mM6ZiTQe.js";import{T as U}from"../chunks/OptionSelect.CBlj_bre.js";var $e=_('
      '),ke=_('
      '),Se=_('
      '),_e=_('
      '),Ce=_('
      Session ID:
      User ID:
      Expires:
      Last Seen:
      State:
      IP:
      MFA:
      '),Pe=_('
      ');function ee(F,q){H(q,!0);let n=Z(q,"session",27,()=>d({})),y=Z(q,"now",11,0);var h=Pe(),D=r(h);Ie(D,{header:w=>{var c=_e(),g=r(c);U(g,{text:"User ID",children:(u,A)=>{var o=$e(),S=r(o,!0);l(o),P(()=>k(S,n().user_id)),b(u,o)},$$slots:{default:!0}});var x=v(g,2),p=r(x);U(p,{text:"Peer IP",children:(u,A)=>{var o=ke(),S=r(o,!0);l(o),P(()=>k(S,n().remote_ip)),b(u,o)},$$slots:{default:!0}});var m=v(p,2);U(m,{text:"Last Seen",children:(u,A)=>{var o=Se(),S=r(o,!0);P(()=>k(S,N(n().last_seen))),l(o),b(u,o)},$$slots:{default:!0}}),l(x),l(c),b(w,c)},body:w=>{var c=Ce(),g=r(c),x=v(r(g));l(g);var p=v(g,2),m=v(r(p));l(p);var u=v(p,2),A=v(r(u));P(()=>k(A,` ${N(n().exp)??""}`)),l(u);var o=v(u,2),S=v(r(o));P(()=>k(S,` ${N(n().last_seen)??""}`)),l(o);var B=v(o,2),T=v(r(B));l(B);var L=v(B,2),M=v(r(L));l(L);var O=v(L,2),R=v(r(O),2);xe(R,{get check(){return n().is_mfa}}),l(O),l(c),P(()=>{k(x,` ${n().id??""}`),k(m,` ${n().user_id??""}`),k(T,` ${n().state??""}`),k(M,` ${n().remote_ip??""}`)}),b(w,c)},$$slots:{header:!0,body:!0}}),l(h),P(()=>we(h,"expired",n().exp
      '),De=_('
      '),Le=_('
      ');function je(F,q){H(q,!0);let n=$(""),y=$(d([])),h=$(d([])),D=$(d([])),w=$(Date.now()/1e3),c=$(""),g=$(!1),x=$(15),p=$(""),m=$(1),u=[{label:"User ID",callback:(e,s)=>{var i;return(i=e.user_id)==null?void 0:i.toLowerCase().includes(s.toLowerCase())}},{label:"Session ID",callback:(e,s)=>e.id.toLowerCase().includes(s.toLowerCase())},{label:"IP",callback:(e,s)=>{var i;return(i=e.remote_ip)==null?void 0:i.toLowerCase().includes(s.toLowerCase())}}],A=[{label:"Expires",callback:(e,s)=>e.exp-s.exp},{label:"Last Seen",callback:(e,s)=>e.last_seen-s.last_seen},{label:"Session ID",callback:(e,s)=>e.id.localeCompare(s.id)},{label:"User ID",callback:(e,s)=>{var i;return(i=e.user_id)==null?void 0:i.localeCompare(s.user_id)}},{label:"State",callback:(e,s)=>e.state.localeCompare(s.state)},{label:"IP",callback:(e,s)=>{var i;return(i=e.remote_ip)==null?void 0:i.localeCompare(s.remote_ip)}}];oe(()=>{o()});async function o(e,s,i,I){let f;if(e===!0?i&&a(m)===2?f=await Y(I||a(x),s,void 0,!1):f=await Y(I||a(x),s,a(p),i):f=await pe(),!f.ok)t(n,"Error fetching sessions: "+f.body.message);else{f.status===206?(t(x,d(Number.parseInt(f.headers.get("x-page-size"),10))),t(p,d(f.headers.get("x-continuation-token"))),t(c,"session")):t(c,"");let C=await f.json();t(y,d([...C])),t(h,d([...C])),t(w,Date.now()/1e3)}}async function S(e,s){await o(!0,e,s),s?t(m,a(m)-1):t(m,a(m)+1)}async function B(e){t(p,""),await o(!0,0,!1,e),t(m,1)}async function T(){let e=await me();if(e.ok)be();else{let s=await e.json();t(n,d(s.message))}t(w,d(new Date))}var L=Le(),M=r(L),O=r(M);ue(O,{get items(){return a(y)},searchOptions:u,orderOptions:A,firstDirReverse:!0,get resItems(){return a(h)},set resItems(e){t(h,d(e))},get useServerSideIdx(){return a(c)},set useServerSideIdx(e){t(c,d(e))},get isSearchFiltered(){return a(g)},set isSearchFiltered(e){t(g,d(e))}});var R=v(O,2);ce(R,"margin-top","-10px");var se=r(R);ge(se,{level:3,$$events:{click:T},children:(e,s)=>{ve();var i=ne("Invalidate All Sessions");b(e,i)},$$slots:{default:!0}}),l(R),l(M);var X=v(M),z=v(X),ae=r(z);{var te=e=>{var s=W(),i=K(s);V(i,19,()=>a(y),I=>I.id,(I,f,C)=>{var j=ye(),G=r(j);ee(G,{get session(){return a(y)[a(C)]},set session(E){a(y)[a(C)]=E},get now(){return a(w)},set now(E){t(w,d(E))}}),l(j),b(I,j)}),b(e,s)},ie=e=>{var s=W(),i=K(s);V(i,19,()=>a(D),I=>I.id,(I,f,C)=>{var j=De(),G=r(j);ee(G,{get session(){return a(D)[a(C)]},set session(E){a(D)[a(C)]=E},get now(){return a(w)},set now(E){t(w,d(E))}}),l(j),b(I,j)}),b(e,s)};Q(ae,e=>{a(c)&&!a(g)?e(te):e(ie,!1)})}l(z);var re=v(z,2);{var le=e=>{he(e,{fetchPageCallback:S,sspPageSizeChange:B,get sspPage(){return a(m)},set sspPage(s){t(m,d(s))},get sspPageSize(){return a(x)},set sspPageSize(s){t(x,d(s))},get sspContinuationToken(){return a(p)},set sspContinuationToken(s){t(p,d(s))}})},de=e=>{fe(e,{get items(){return a(h)},set items(s){t(h,d(s))},get resItems(){return a(D)},set resItems(s){t(D,d(s))}})};Q(re,e=>{a(c)&&!a(g)?e(le):e(de,!1)})}l(L),P(()=>k(X,` ${a(n)??""} `)),b(F,L),J()}function Ee(F){je(F,{})}export{Ee as component}; diff --git a/static/v1/_app/immutable/nodes/21.BYE4caay.js.br b/static/v1/_app/immutable/nodes/21.BYE4caay.js.br new file mode 100644 index 000000000..458977aea Binary files /dev/null and b/static/v1/_app/immutable/nodes/21.BYE4caay.js.br differ diff --git a/static/v1/_app/immutable/nodes/21.BYE4caay.js.gz b/static/v1/_app/immutable/nodes/21.BYE4caay.js.gz new file mode 100644 index 000000000..63e07a5b4 Binary files /dev/null and b/static/v1/_app/immutable/nodes/21.BYE4caay.js.gz differ diff --git a/static/v1/_app/immutable/nodes/21.vE9Iw4eS.js.br b/static/v1/_app/immutable/nodes/21.vE9Iw4eS.js.br deleted file mode 100644 index 0b1905d5b..000000000 Binary files a/static/v1/_app/immutable/nodes/21.vE9Iw4eS.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/21.vE9Iw4eS.js.gz b/static/v1/_app/immutable/nodes/21.vE9Iw4eS.js.gz deleted file mode 100644 index 6fa1b2742..000000000 Binary files a/static/v1/_app/immutable/nodes/21.vE9Iw4eS.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/18.CrpSeHwi.js b/static/v1/_app/immutable/nodes/22.D6VyD6rm.js similarity index 64% rename from static/v1/_app/immutable/nodes/18.CrpSeHwi.js rename to static/v1/_app/immutable/nodes/22.D6VyD6rm.js index b296bd79a..8b337f2be 100644 --- a/static/v1/_app/immutable/nodes/18.CrpSeHwi.js +++ b/static/v1/_app/immutable/nodes/22.D6VyD6rm.js @@ -1 +1 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{U as p}from"../chunks/Users.DQjgWw0O.js";function t(o){p(o,{})}export{t as component}; +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{U as p}from"../chunks/Users.BUOAhkxZ.js";function t(o){p(o,{})}export{t as component}; diff --git a/static/v1/_app/immutable/nodes/22.D6VyD6rm.js.br b/static/v1/_app/immutable/nodes/22.D6VyD6rm.js.br new file mode 100644 index 000000000..4cdb8aedd Binary files /dev/null and b/static/v1/_app/immutable/nodes/22.D6VyD6rm.js.br differ diff --git a/static/v1/_app/immutable/nodes/22.D6VyD6rm.js.gz b/static/v1/_app/immutable/nodes/22.D6VyD6rm.js.gz new file mode 100644 index 000000000..af424f90d Binary files /dev/null and b/static/v1/_app/immutable/nodes/22.D6VyD6rm.js.gz differ diff --git a/static/v1/_app/immutable/nodes/22.vE9Iw4eS.js.br b/static/v1/_app/immutable/nodes/22.vE9Iw4eS.js.br deleted file mode 100644 index 0b1905d5b..000000000 Binary files a/static/v1/_app/immutable/nodes/22.vE9Iw4eS.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/22.vE9Iw4eS.js.gz b/static/v1/_app/immutable/nodes/22.vE9Iw4eS.js.gz deleted file mode 100644 index 6fa1b2742..000000000 Binary files a/static/v1/_app/immutable/nodes/22.vE9Iw4eS.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/23.BD4hLYpE.js b/static/v1/_app/immutable/nodes/23.BD4hLYpE.js new file mode 100644 index 000000000..53c99478c --- /dev/null +++ b/static/v1/_app/immutable/nodes/23.BD4hLYpE.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{p as be,ao as ye,f as k,a as Te,h as a,t as l,ap as Le,g as e,s as o,i as f,c as s,r as t,aq as U,a9 as ce}from"../chunks/index-client.DAoU_hDn.js";import{s as d}from"../chunks/render.mNhspeV3.js";import{i as N}from"../chunks/if.BANCODOf.js";import{e as Se,i as ke}from"../chunks/each.DTG73tix.js";import{a as i,t as $,d as X,e as le}from"../chunks/template.DcxtE4ym.js";import{h as Ae}from"../chunks/svelte-head.CtCGS4lr.js";import{p as n}from"../chunks/proxy.D3ASEzk3.js";import{r as ne,m as Pe}from"../chunks/helpers.BV-akmwW.js";import{T as De,L as Ee}from"../chunks/LangSelector.BrxfVQ9N.js";import{I as qe}from"../chunks/Input.DSR5bYkF.js";import{B as Y}from"../chunks/Button.Cy8gcSM8.js";import{f as Ce}from"../chunks/pow.DW3pz83d.js";import{M as Re}from"../chunks/Main.B9oV9Is2.js";import{C as We}from"../chunks/ContentCenter.DlYnOTAE.js";import{u as _e}from"../chunks/i18n.svelte.DUvAL5Pw.js";import{T as je}from"../chunks/Template.g8euQA0a.js";import{u as Be}from"../chunks/param.svelte.BFj7Iv3L.js";import{f as Me,b as Ne}from"../chunks/fetch.m5EOWhre.js";import{P as Oe}from"../chunks/patterns.BdncpE46.js";var Fe=$('
      ',1),Ge=$('

      '),He=$('

      '),Ie=$('
    • '),Je=$('
      ',1),Ke=$('

      '),Ve=$(" ",1),Qe=$(" ",1);function Ue(me,ue){be(ue,!0);let r=_e(),Z=f(void 0),w=f(""),O=f(!1),A=f(!1),b=f(8),F=f(void 0),ee=f(!1),re=f(!1),T=f("");ye(async()=>{let v=Be("code").get()||"";a(T,n(v));let L=await Me("/auth/v1/oidc/sessioninfo");L.body?a(Z,n(L.body)):v?ne(`device?code=${v}`):ne("device")});async function G(v){var P,D,_;if(a(w,""),e(O))return;if(e(T).lengthe(b)){a(w,n(r.common.errTooLong));return}a(A,!0);let L=await Ce();if(!L){a(w,"PoW error - please contact your administrator");return}let H={user_code:e(T),pow:L,device_accepted:v},h=await Ne("/auth/v1/oidc/device/verify",H);h.status===200?a(F,n(((D=(P=h.body)==null?void 0:P.scopes)==null?void 0:D.split(" "))||["openid"])):h.status===202?(a(ee,!0),setTimeout(()=>{window.location.replace("/auth/v1/account?v=devices")},2e3)):h.status===204?a(re,!0):h.status===404?a(w,n(r.device.wrongOrExpired)):(console.error(h),a(w,n((_=h.error)==null?void 0:_.message))),a(A,!1)}var ae=Qe();Ae(v=>{l(()=>Le.title=(r==null?void 0:r.device.title)||"Device Authorization")});var te=k(ae);je(te,{id:Pe,get value(){return e(b)},set value(v){a(b,n(v))}});var pe=o(te,2);Re(pe,{children:(v,L)=>{We(v,{children:(H,h)=>{var P=Ve(),D=k(P);{var _=I=>{var J=Ke(),K=s(J),ie=s(K),he=s(ie,!0);t(ie),t(K);var oe=o(K,2);{var ge=S=>{var E=Fe(),q=k(E),V=s(q,!0);l(()=>d(V,r.device.desc.replace("{{count}}",e(b).toString()))),t(q);var j=o(q,2),g=ce(()=>e(b).toString()),x=ce(()=>e(b).toString());qe(j,{name:"userCode",autocomplete:"off",get label(){return r.device.userCode},get placeholder(){return r.device.userCode},required:!0,get min(){return e(g)},get max(){return e(x)},pattern:Oe,get value(){return e(T)},set value(c){a(T,n(c))},get isError(){return e(O)},set isError(c){a(O,n(c))}});var z=o(j,2),C=s(z);Y(C,{onclick:()=>G("pending"),get isLoading(){return e(A)},children:(c,m)=>{U();var u=X();l(()=>d(u,r.device.submit)),i(c,u)},$$slots:{default:!0}}),t(z),i(S,E)},xe=S=>{var E=le(),q=k(E);{var V=g=>{var x=Ge(),z=s(x),C=s(z,!0);t(z);var c=o(z,2),m=s(c,!0);t(c),t(x),l(()=>{d(C,r.device.isAccepted),d(m,r.device.autoRedirectAccount)}),i(g,x)},j=g=>{var x=le(),z=k(x);{var C=m=>{var u=He(),y=s(u),B=s(y,!0);t(y);var R=o(y,2),M=s(R,!0);t(R),t(u),l(()=>{d(B,r.device.isDeclined),d(M,r.device.closeWindow)}),i(m,u)},c=m=>{var u=Je(),y=k(u),B=s(y),R=o(B);Se(R,21,()=>e(F),ke,(W,Q)=>{var p=Ie(),we=s(p,!0);t(p),l(()=>d(we,e(Q))),i(W,p)}),t(R),t(y);var M=o(y,2),ve=s(M);Y(ve,{onclick:()=>G("accept"),get isLoading(){return e(A)},children:(W,Q)=>{U();var p=X();l(()=>d(p,r.device.accept)),i(W,p)},$$slots:{default:!0}});var $e=o(ve,2);Y($e,{level:-1,onclick:()=>G("decline"),get isLoading(){return e(A)},children:(W,Q)=>{U();var p=X();l(()=>d(p,r.device.decline)),i(W,p)},$$slots:{default:!0}}),t(M),l(()=>d(B,`${r.device.descScopes??""} `)),i(m,u)};N(z,m=>{e(re)?m(C):m(c,!1)},!0)}i(g,x)};N(q,g=>{e(ee)?g(V):g(j,!1)},!0)}i(S,E)};N(oe,S=>{e(F)===void 0?S(ge):S(xe,!1)})}var de=o(oe,2),ze=s(de,!0);t(de),t(J),l(()=>{d(he,r.device.title),d(ze,e(w))}),i(I,J)};N(D,I=>{e(Z)&&I(_)})}var se=o(D,2);De(se,{absolute:!0});var fe=o(se,2);Ee(fe,{absolute:!0}),i(H,P)},$$slots:{default:!0}})},$$slots:{default:!0}}),i(me,ae),Te()}export{Ue as component}; diff --git a/static/v1/_app/immutable/nodes/23.BD4hLYpE.js.br b/static/v1/_app/immutable/nodes/23.BD4hLYpE.js.br new file mode 100644 index 000000000..2e50cf058 Binary files /dev/null and b/static/v1/_app/immutable/nodes/23.BD4hLYpE.js.br differ diff --git a/static/v1/_app/immutable/nodes/23.BD4hLYpE.js.gz b/static/v1/_app/immutable/nodes/23.BD4hLYpE.js.gz new file mode 100644 index 000000000..a56819671 Binary files /dev/null and b/static/v1/_app/immutable/nodes/23.BD4hLYpE.js.gz differ diff --git a/static/v1/_app/immutable/nodes/23.vE9Iw4eS.js.br b/static/v1/_app/immutable/nodes/23.vE9Iw4eS.js.br deleted file mode 100644 index 0b1905d5b..000000000 Binary files a/static/v1/_app/immutable/nodes/23.vE9Iw4eS.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/23.vE9Iw4eS.js.gz b/static/v1/_app/immutable/nodes/23.vE9Iw4eS.js.gz deleted file mode 100644 index 6fa1b2742..000000000 Binary files a/static/v1/_app/immutable/nodes/23.vE9Iw4eS.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/24.Dl5dPrUX.js b/static/v1/_app/immutable/nodes/24.Dl5dPrUX.js deleted file mode 100644 index a81f0b49e..000000000 --- a/static/v1/_app/immutable/nodes/24.Dl5dPrUX.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{p as le,i as p,f as R,a as ce,h as c,s as r,c as a,g as t,r as s,ap as $,t as de}from"../chunks/runtime.BsghBUX9.js";import{s as z}from"../chunks/render.CTp9lacC.js";import{i as _}from"../chunks/if.6Ov_EDLa.js";import{a as n,t as I,d as y}from"../chunks/template.jENAUvUX.js";import{p as m}from"../chunks/proxy.YH42NwLs.js";import{o as ve}from"../chunks/index-client.ClP8y9aT.js";import{B as A,g as fe}from"../chunks/Button.CHwcFOJ-.js";import{c as ue,a as K,I as Q}from"../chunks/Input.B4ccwD4n.js";import{m as S,n as ge}from"../chunks/helpers.CBl6QeM5.js";import{C as V}from"../chunks/CheckIcon.CMbYrOAg.js";import{c as pe}from"../chunks/dataFetching.B7RPH17f.js";import{M as me}from"../chunks/Main.DdVUe3_l.js";import{C as he}from"../chunks/ContentCenter.1a7TMW4_.js";var $e=I("
      -> enable idp registration:
      chrome://flags/#fedcm-idp-registration",1),Ie=I('

      Logged In:
      ',1),be=I('

      FedCM Testing

      FedCM supported:
      '),we=I('
      Credential Type:
      ',1),Ce=I(" ",1);function ye(W,X){le(X,!0);let T=p(""),b=p(!1),U=p(!1),M=p(""),x=p(""),l=m({clientId:"fedcm",configUrl:"any"}),f=p(m({}));const Y=ue().shape({clientId:K().required("Client ID is required").trim().matches(S,"Must be URL safe"),configUrl:K().nullable().trim().matches(S,"Must be URL safe")});ve(async()=>{if(c(T,`${window.location.origin}/auth/v1/fed_cm/config`),l.clientId=`${window.location.origin}/auth/v1/fed_cm/client_config`,(await pe()).ok?(console.log("FedCM status is: logged-in"),c(U,!0)):console.log("FedCM status is: logged-out"),window.IdentityProvider&&IdentityProvider.register!=null)console.log("FedCM is supported"),c(b,!0);else{console.error("FedCM is not supported");return}});async function Z(){if(!await k())return;let i=l.configUrl||void 0,u=l.clientId;console.log("using credentials get values: configUrl: "+i+" / clientId: "+u);try{let o=await navigator.credentials.get({identity:{mode:"button",providers:[{configURL:i,clientId:u,nonce:fe(48)}]}});console.log(o),c(x,m(o.type)),c(M,m(o.token)),c(U,!0)}catch(o){console.error("FedCM credentials error: "+o)}}function H(){IdentityProvider.register(t(T))}async function k(){try{return await Y.validate(l,{abortEarly:!1}),c(f,m({})),!0}catch(i){return c(f,m(ge(i))),!1}}var B=Ce(),D=R(B);me(D,{children:(i,u)=>{he(i,{children:(o,q)=>{var h=be(),g=r(a(h),2),w=r(a(g),2),re=a(w);V(re,{get check(){return t(b)}}),s(w),s(g);var E=r(g,2);{var te=d=>{var C=$e();$(4),n(d,C)};_(E,d=>{t(b)||d(te)})}var oe=r(E,2);{var ie=d=>{var C=Ie(),F=R(C),ae=a(F);A(ae,{level:3,$$events:{click:H},children:(e,P)=>{$();var v=y("Register IdP");n(e,v)},$$slots:{default:!0}}),s(F);var L=r(F,2),N=a(L);Q(N,{autocomplete:"off",placeholder:"Client Id",get value(){return l.clientId},set value(e){l.clientId=e},get error(){return t(f).clientId},set error(e){t(f).clientId=e},$$events:{input:k},children:(e,P)=>{$();var v=y("CLIENT ID");n(e,v)},$$slots:{default:!0}});var G=r(N,2);Q(G,{autocomplete:"off",placeholder:"Config URL",get value(){return l.configUrl},set value(e){l.configUrl=e},get error(){return t(f).configUrl},set error(e){t(f).configUrl=e},$$events:{input:k},children:(e,P)=>{$();var v=y("CONFIG URL");n(e,v)},$$slots:{default:!0}});var se=r(G,2);A(se,{$$events:{click:Z},children:(e,P)=>{$();var v=y("Login");n(e,v)},$$slots:{default:!0}}),s(L);var O=r(L,2),j=r(a(O),2),ne=a(j);V(ne,{get check(){return t(U)}}),s(j),s(O),n(d,C)};_(oe,d=>{t(b)&&d(ie)})}s(h),n(o,h)},$$slots:{default:!0}})},$$slots:{default:!0}});var J=r(D,2);{var ee=i=>{var u=we(),o=R(u),q=r(a(o),2),h=a(q,!0);s(q),s(o);var g=r(o,2),w=a(g,!0);s(g),de(()=>{z(h,t(x)),z(w,t(M))}),n(i,u)};_(J,i=>{t(M)&&i(ee)})}n(W,B),ce()}export{ye as component}; diff --git a/static/v1/_app/immutable/nodes/24.Dl5dPrUX.js.br b/static/v1/_app/immutable/nodes/24.Dl5dPrUX.js.br deleted file mode 100644 index 7c6a26fc4..000000000 Binary files a/static/v1/_app/immutable/nodes/24.Dl5dPrUX.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/24.Dl5dPrUX.js.gz b/static/v1/_app/immutable/nodes/24.Dl5dPrUX.js.gz deleted file mode 100644 index 55d51052c..000000000 Binary files a/static/v1/_app/immutable/nodes/24.Dl5dPrUX.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/23.vE9Iw4eS.js b/static/v1/_app/immutable/nodes/24.Knmclegr.js similarity index 64% rename from static/v1/_app/immutable/nodes/23.vE9Iw4eS.js rename to static/v1/_app/immutable/nodes/24.Knmclegr.js index 2990d3f4e..61a20b294 100644 --- a/static/v1/_app/immutable/nodes/23.vE9Iw4eS.js +++ b/static/v1/_app/immutable/nodes/24.Knmclegr.js @@ -1 +1 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{E as r}from"../chunks/Error._4x1l89Z.js";function t(o){r(o,{})}export{t as component}; +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{E as r}from"../chunks/Error.CKQsPFI0.js";function t(o){r(o,{})}export{t as component}; diff --git a/static/v1/_app/immutable/nodes/24.Knmclegr.js.br b/static/v1/_app/immutable/nodes/24.Knmclegr.js.br new file mode 100644 index 000000000..f59656e00 Binary files /dev/null and b/static/v1/_app/immutable/nodes/24.Knmclegr.js.br differ diff --git a/static/v1/_app/immutable/nodes/24.Knmclegr.js.gz b/static/v1/_app/immutable/nodes/24.Knmclegr.js.gz new file mode 100644 index 000000000..ae33bbea5 Binary files /dev/null and b/static/v1/_app/immutable/nodes/24.Knmclegr.js.gz differ diff --git a/static/v1/_app/immutable/nodes/20.vE9Iw4eS.js b/static/v1/_app/immutable/nodes/25.Knmclegr.js similarity index 64% rename from static/v1/_app/immutable/nodes/20.vE9Iw4eS.js rename to static/v1/_app/immutable/nodes/25.Knmclegr.js index 2990d3f4e..61a20b294 100644 --- a/static/v1/_app/immutable/nodes/20.vE9Iw4eS.js +++ b/static/v1/_app/immutable/nodes/25.Knmclegr.js @@ -1 +1 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{E as r}from"../chunks/Error._4x1l89Z.js";function t(o){r(o,{})}export{t as component}; +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{E as r}from"../chunks/Error.CKQsPFI0.js";function t(o){r(o,{})}export{t as component}; diff --git a/static/v1/_app/immutable/nodes/25.Knmclegr.js.br b/static/v1/_app/immutable/nodes/25.Knmclegr.js.br new file mode 100644 index 000000000..f59656e00 Binary files /dev/null and b/static/v1/_app/immutable/nodes/25.Knmclegr.js.br differ diff --git a/static/v1/_app/immutable/nodes/25.Knmclegr.js.gz b/static/v1/_app/immutable/nodes/25.Knmclegr.js.gz new file mode 100644 index 000000000..ae33bbea5 Binary files /dev/null and b/static/v1/_app/immutable/nodes/25.Knmclegr.js.gz differ diff --git a/static/v1/_app/immutable/nodes/25.jhrVnsQM.js b/static/v1/_app/immutable/nodes/25.jhrVnsQM.js deleted file mode 100644 index cf92064db..000000000 --- a/static/v1/_app/immutable/nodes/25.jhrVnsQM.js +++ /dev/null @@ -1,3 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{t as $,p as Sr,i as n,F as se,f as A,a as Wr,g as e,h as t,$ as qr,s as c,c as v,r as d,ap as fe,O as he}from"../chunks/runtime.BsghBUX9.js";import{s as S}from"../chunks/render.CTp9lacC.js";import{i as g}from"../chunks/if.6Ov_EDLa.js";import{e as Tr}from"../chunks/each.URXtkKAp.js";import{a as l,n as jr,t as p,d as ge,e as rr}from"../chunks/template.jENAUvUX.js";import{h as Fr}from"../chunks/svelte-head.cS_wx7Ri.js";import{s as D}from"../chunks/index.G5lyZbma.js";import{p as i}from"../chunks/proxy.YH42NwLs.js";import{o as Br}from"../chunks/index-client.ClP8y9aT.js";import{p as Rr}from"../chunks/dataFetching.B7RPH17f.js";import{c as tr,B as Ur,D as Cr,E as Hr,q as Vr,F as Ar,h as Dr,j as Er,_ as Gr,P as Jr,G as Nr}from"../chunks/helpers.CBl6QeM5.js";import{b as we,B as _e}from"../chunks/fetch.BvIeF4JA.js";import{W as Or}from"../chunks/WebauthnRequest.M9ddrbaa.js";import{I as Zr}from"../chunks/Input.luLa8YQi.js";import{T as Pr,L as Qr}from"../chunks/LangSelector.TD0HCe5U.js";import{p as Be}from"../chunks/props.CslUVmW_.js";import{M as Xr}from"../chunks/Main.DdVUe3_l.js";import{C as Yr}from"../chunks/ContentCenter.1a7TMW4_.js";import{u as Kr}from"../chunks/i18n.svelte.D8rR00qK.js";import{T as O}from"../chunks/Template.ZFmGCuZr.js";import{u as B}from"../chunks/param.svelte.BhHpzHur.js";import{I as et}from"../chunks/InputPassword.DfsGFINf.js";import{u as ar}from"../chunks/is_dev.svelte.BUWsjuLN.js";import{F as rt}from"../chunks/Form.ry95iany.js";import{B as tt}from"../chunks/ButtonAuthProvider.sE1ylnOp.js";var at=jr(``);function ot(be,Z){let ie=Be(Z,"opacity",3,.9),u=Be(Z,"width",3,"1.5rem"),P=Be(Z,"color",3,"currentColor");var R=at();D(R,"stroke-width",2),$(()=>{D(R,"stroke",P()),D(R,"width",u()),D(R,"opacity",ie())}),l(be,R)}var st=p('No Logo Available'),it=p(''),lt=p('
      '),nt=p(" ",1),ct=p('
      '),vt=p('
      '),dt=p(" ",1),ut=p(' '),pt=p(' '),mt=p(" ",1),ft=p('
      '),ht=p('
      '),gt=p('
      '),wt=p('
      '),_t=p('

      ',1),bt=p(" ",1);function $t(be,Z){var Ne;Sr(Z,!0);const ie="18rem";let u=Kr(),P=ar().get(),R=he(()=>P?"/auth/v1/dev/authorize":"/auth/v1/oidc/authorize"),_=B("client_id").get(),le=n(""),W=n(i(P?"/auth/v1":"")),Q=B("redirect_uri").get(),$e=B("nonce").get(),xe=((Ne=B("scope").get())==null?void 0:Ne.split(" "))||[],ye=n(void 0),ze=n(void 0),ke=B("state").get(),X=B("code_challenge").get(),L=B("code_challenge_method").get(),Re=!1,Le=n(void 0),ne=n(i([])),ce=n(void 0),E=n(!1),m=n(""),Y=n(""),ve=n(""),q=n(!1),U=n(!1),de=n(!1),ue=n(!1),pe=n(!1),C=n(!1),Ue=n(""),Ie=n(!1),x=n(i(B("login_hint").get()||"")),T=n(""),Me=n("");Br(()=>{var r;e(q)||((r=e(ye))==null||r.focus())}),se(()=>{Re&&(_!=null&&_.length)&&ir()}),se(()=>{e(pe)&&setTimeout(()=>{t(pe,!1),t(de,!1),t(ue,!1)},3e3)}),se(()=>{var r;(r=e(ze))==null||r.focus()}),se(()=>{var r;if(e(Y)==="Refresh")Re=!0;else if((r=e(Y))!=null&&r.startsWith("MfaLogin ")){let o=e(Y).replace("MfaLogin ","");t(x,i(o)),t(Le,i(o))}}),se(()=>{P?or():e(ve)&&tr(e(ve))});async function or(){var o;let r=await we("/auth/v1/oidc/session");console.log("manual session",r.body),(o=r.body)!=null&&o.csrf_token?tr(r.body.csrf_token):console.error(r.error)}function sr(){t(m,""),t(de,!0),t(T,"")}async function ir(){if(!_){console.error("clientId is undefined");return}if(!Q){console.error("redirectUri is undefined");return}t(E,!0);const r={client_id:_,redirect_uri:Q,state:ke,nonce:$e,scopes:xe};X&&L&&(L==="plain"||L==="S256")&&(r.code_challenge=X,r.code_challenge_method=L);let o=await we("/auth/v1/oidc/authorize/refresh",r);await Ce(o)}async function lr(r,o){if(t(m,""),!_){console.error("clientId is undefined");return}if(!Q){console.error("redirectUri is undefined");return}const w={email:e(x),client_id:_,redirect_uri:Q,state:ke,nonce:$e,scopes:xe};if(X&&L&&(L==="plain"||L==="S256")&&(w.code_challenge=X,w.code_challenge_method=L),e(q)&&e(x)!==e(Le)){if(!e(T)){t(m,i(u.authorize.passwordRequired));return}if(e(T).length>256){t(m,"max 256");return}w.password=e(T)}t(E,!0);let b="/auth/v1/oidc/authorize";ar().get()&&(b="/auth/v1/dev/authorize");let z=await we(b,w);await Ce(z)}async function Ce(r){if(r.status===202){let o=r.headers.get("location");if(!o){console.error("location header missing");return}window.location.replace(o)}else if(r.status===200){t(m,"");let o=r.body;o&&"user_id"in o&&"code"in o?(t(Me,i(o.user_id)),t(ce,i({Login:o.code}))):console.error("did not receive a proper WebauthnLoginResponse after HTTP200")}else if(r.status===406)t(m,i(u.authorize.clientForceMfa)),t(U,!0);else if(r.status===429){let o=r.headers.get("x-retry-not-before");if(!o){console.error("x-retry-not-before header missing");return}let w=Number.parseInt(o),b=Er(w),z=w*1e3-new Date().getTime();t(C,!0),t(m,`${u.authorize.http429} ${b}`),t(x,""),t(T,""),t(q,!1),setTimeout(()=>{t(C,!1),t(m,"")},z)}else e(q)?(t(m,i(u.authorize.invalidCredentials)),t(ue,!0)):(t(q,!0),t(Ue,i(e(x))));t(E,!1)}function nr(){e(q)&&e(Ue)!==e(x)&&(t(q,!1),t(T,""),t(m,""))}function cr(r){Gr(64,(o,{challenge:w,verifier:b})=>{o||(localStorage.setItem(Jr,b),vr(r,w))})}async function vr(r,o){let w={email:e(x)||null,client_id:_,redirect_uri:Q,scopes:xe,state:ke,nonce:$e,code_challenge:X,code_challenge_method:L,provider_id:r,pkce_challenge:o},b=await Rr(w);if(b.ok){const z=await b.text();Nr(z);let G=b.headers.get("location");if(!G){console.error("no location header set for provider login");return}window.location.href=G}else{let z=await b.json();t(m,i(z.message))}}function dr(r){t(ce,void 0),t(m,i(r))}function ur(r){console.log("onWebauthnSuccess",r),r&&"loc"in r&&window.location.replace(r.loc)}async function pr(){let r={email:e(x)};e(W)&&(r.redirect_uri=encodeURI(e(W))),t(E,!0);let o=await we("/auth/v1/users/request_reset",r);o.error?t(m,i(o.error.message)):t(pe,!0),t(E,!1)}var He=bt();Fr(r=>{$(()=>qr.title=`Login ${(e(le)||_)??""}`)});var Ve=A(He);O(Ve,{id:Ur,get value(){return e(ne)},set value(r){t(ne,i(r))}});var Ae=c(Ve,2);O(Ae,{id:Cr,get value(){return e(le)},set value(r){t(le,i(r))}});var De=c(Ae,2);O(De,{id:Hr,get value(){return e(W)},set value(r){t(W,i(r))}});var Ee=c(De,2);O(Ee,{id:Vr,get value(){return e(ve)},set value(r){t(ve,i(r))}});var Ge=c(Ee,2);O(Ge,{id:Ar,get value(){return e(Y)},set value(r){t(Y,i(r))}});var Je=c(Ge,2);O(Je,{id:Dr,get value(){return e(Ie)},set value(r){t(Ie,i(r))}});var mr=c(Je,2);Xr(mr,{children:(r,o)=>{Yr(r,{children:(w,b)=>{var z=_t(),G=A(z),Se=v(G),We=v(Se),fr=v(We);{var hr=a=>{var s=st();D(s,"src",`/auth/v1/clients/${_}/logo`),l(a,s)};g(fr,a=>{_&&a(hr)})}d(We);var gr=c(We,2);{var wr=a=>{var s=it(),h=v(s);ot(h,{color:"hsla(var(--text) / .4)"}),d(s),$(()=>D(s,"href",e(W))),l(a,s)};g(gr,a=>{e(W)&&a(wr)})}d(Se);var qe=c(Se,2),Oe=v(qe),_r=v(Oe,!0);d(Oe),d(qe);var Ze=c(qe,2);{var br=a=>{Or(a,{get userId(){return e(Me)},get purpose(){return e(ce)},onSuccess:ur,onError:dr})};g(Ze,a=>{e(ce)&&e(Me)&&a(br)})}var Pe=c(Ze,2);{var $r=a=>{var s=mt(),h=A(s);rt(h,{get action(){return e(R)},onSubmit:lr,children:(I,ee)=>{var j=dt(),H=A(j),re=he(()=>e(C)||e(U));Zr(H,{typ:"email",name:"email",autocomplete:"email",get label(){return u.common.email},get placeholder(){return u.common.email},get disabled(){return e(re)},onInput:nr,width:ie,required:!0,get ref(){return e(ye)},set ref(y){t(ye,i(y))},get value(){return e(x)},set value(y){t(x,i(y))}});var M=c(H,2);{var k=y=>{var ae=nt(),me=A(ae),Te=he(()=>e(C)||e(U));et(me,{name:"password",autocomplete:"current-password",get label(){return u.common.password},get placeholder(){return u.common.password},maxLength:256,get disabled(){return e(Te)},width:ie,required:!0,get ref(){return e(ze)},set ref(f){t(ze,i(f))},get value(){return e(T)},set value(f){t(T,i(f))}});var je=c(me,2);{var F=f=>{var V=lt(),oe=v(V);_e(oe,{invisible:!0,onclick:sr,children:(Fe,N)=>{fe();var er=ge();$(()=>S(er,u.authorize.passwordForgotten)),l(Fe,er)},$$slots:{default:!0}}),d(V),l(f,V)};g(je,f=>{e(ue)&&!e(C)&&f(F)})}l(y,ae)};g(M,y=>{e(q)&&e(Le)!==e(x)&&!e(de)&&y(k)})}var te=c(M,2);{var Mr=y=>{var ae=rr(),me=A(ae);{var Te=F=>{var f=ct(),V=v(f);_e(V,{onclick:pr,children:(oe,Fe)=>{fe();var N=ge();$(()=>S(N,u.authorize.passwordRequest)),l(oe,N)},$$slots:{default:!0}}),d(f),l(F,f)},je=F=>{var f=vt(),V=v(f);_e(V,{type:"submit",get isLoading(){return e(E)},children:(oe,Fe)=>{fe();var N=ge();$(()=>S(N,u.authorize.login)),l(oe,N)},$$slots:{default:!0}}),d(f),l(F,f)};g(me,F=>{e(de)?F(Te):F(je,!1)})}l(y,ae)};g(te,y=>{!e(C)&&!e(U)&&y(Mr)})}l(I,j)},$$slots:{default:!0}});var J=c(h,2);{var K=I=>{var ee=rr(),j=A(ee);{var H=M=>{var k=ut(),te=v(k,!0);d(k),$(()=>{D(k,"href",`/auth/v1/users/register?redirect_uri=${e(W)??""}`),S(te,u.authorize.signUp)}),l(M,k)},re=M=>{var k=pt(),te=v(k,!0);d(k),$(()=>S(te,u.authorize.signUp)),l(M,k)};g(j,M=>{e(W)?M(H):M(re,!1)})}l(I,ee)};g(J,I=>{e(Ie)&&!e(ue)&&!e(C)&&I(K)})}l(a,s)};g(Pe,a=>{e(U)||a($r)})}var Qe=c(Pe,2);{var xr=a=>{var s=ft(),h=v(s,!0);d(s),$(()=>S(h,e(m))),l(a,s)};g(Qe,a=>{e(m)&&a(xr)})}var Xe=c(Qe,2);{var yr=a=>{var s=ht(),h=v(s,!0);d(s),$(()=>S(h,u.authorize.emailSentMsg)),l(a,s)};g(Xe,a=>{e(pe)&&a(yr)})}var Ye=c(Xe,2);{var zr=a=>{var s=gt(),h=v(s);_e(h,{onclick:()=>window.location.href="/auth/v1/account",children:(J,K)=>{fe();var I=ge("Account");l(J,I)},$$slots:{default:!0}}),d(s),l(a,s)};g(Ye,a=>{e(U)&&a(zr)})}var kr=c(Ye,2);{var Lr=a=>{var s=wt(),h=v(s),J=c(v(h),2),K=v(J),I=v(K,!0);d(K),d(J),d(h);var ee=c(h,2);Tr(ee,17,()=>e(ne),j=>j.id,(j,H)=>{var re=he(()=>`Login: ${e(H).name}`);tt(j,{get ariaLabel(){return e(re)},get provider(){return e(H)},onclick:cr})}),d(s),$(()=>S(I,u.authorize.orLoginWith)),l(a,s)};g(kr,a=>{!e(U)&&e(ne)&&a(Lr)})}d(G);var Ke=c(G,2);Pr(Ke,{absolute:!0});var Ir=c(Ke,2);Qr(Ir,{absolute:!0}),$(()=>S(_r,e(le)||_)),l(w,z)},$$slots:{default:!0}})},$$slots:{default:!0}}),l(be,He),Wr()}export{$t as component}; diff --git a/static/v1/_app/immutable/nodes/25.jhrVnsQM.js.br b/static/v1/_app/immutable/nodes/25.jhrVnsQM.js.br deleted file mode 100644 index 2785241c5..000000000 Binary files a/static/v1/_app/immutable/nodes/25.jhrVnsQM.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/25.jhrVnsQM.js.gz b/static/v1/_app/immutable/nodes/25.jhrVnsQM.js.gz deleted file mode 100644 index 53de95f7b..000000000 Binary files a/static/v1/_app/immutable/nodes/25.jhrVnsQM.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/21.vE9Iw4eS.js b/static/v1/_app/immutable/nodes/26.Knmclegr.js similarity index 64% rename from static/v1/_app/immutable/nodes/21.vE9Iw4eS.js rename to static/v1/_app/immutable/nodes/26.Knmclegr.js index 2990d3f4e..61a20b294 100644 --- a/static/v1/_app/immutable/nodes/21.vE9Iw4eS.js +++ b/static/v1/_app/immutable/nodes/26.Knmclegr.js @@ -1 +1 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{E as r}from"../chunks/Error._4x1l89Z.js";function t(o){r(o,{})}export{t as component}; +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{E as r}from"../chunks/Error.CKQsPFI0.js";function t(o){r(o,{})}export{t as component}; diff --git a/static/v1/_app/immutable/nodes/26.Knmclegr.js.br b/static/v1/_app/immutable/nodes/26.Knmclegr.js.br new file mode 100644 index 000000000..f59656e00 Binary files /dev/null and b/static/v1/_app/immutable/nodes/26.Knmclegr.js.br differ diff --git a/static/v1/_app/immutable/nodes/26.Knmclegr.js.gz b/static/v1/_app/immutable/nodes/26.Knmclegr.js.gz new file mode 100644 index 000000000..ae33bbea5 Binary files /dev/null and b/static/v1/_app/immutable/nodes/26.Knmclegr.js.gz differ diff --git a/static/v1/_app/immutable/nodes/26.qAtmHm5E.js b/static/v1/_app/immutable/nodes/26.qAtmHm5E.js deleted file mode 100644 index 161f1908d..000000000 --- a/static/v1/_app/immutable/nodes/26.qAtmHm5E.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{p as m,a as d,$ as f}from"../chunks/runtime.BsghBUX9.js";import{h as l}from"../chunks/svelte-head.cS_wx7Ri.js";import{i as _}from"../chunks/lifecycle.Cs9nPmNO.js";import{o as u}from"../chunks/index-client.ClP8y9aT.js";import{C as w,g,s as h,b as k,c as v,d as C,R as b,e as j}from"../chunks/helpers.CBl6QeM5.js";import{g as y,a as P}from"../chunks/dataFetching.B7RPH17f.js";import{u as i}from"../chunks/param.svelte.BhHpzHur.js";function R(S,n){m(n,!1);let c=i("code"),p=i("state");u(async()=>{const a=new URLSearchParams;let t=b,o=p.get();o&&(o==="account"?t=j:o.startsWith("device")&&(t=`/auth/v1/${o}`));let s=c.get();if(!s){console.error("no `code` given");return}a.append("grant_type","authorization_code"),a.append("code",s),a.append("redirect_uri",t),a.append("client_id",w),a.append("code_verifier",g());let r=await y(a),e=await r.json();h(e.access_token),k(e.id_token),r=await P(e.access_token),e=await r.json(),v(e.csrf_token),C(),window.location.replace(t)}),_(),l(a=>{f.title="Callback"}),d()}export{R as component}; diff --git a/static/v1/_app/immutable/nodes/26.qAtmHm5E.js.br b/static/v1/_app/immutable/nodes/26.qAtmHm5E.js.br deleted file mode 100644 index c8c8d4a2f..000000000 Binary files a/static/v1/_app/immutable/nodes/26.qAtmHm5E.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/26.qAtmHm5E.js.gz b/static/v1/_app/immutable/nodes/26.qAtmHm5E.js.gz deleted file mode 100644 index f69fb516e..000000000 Binary files a/static/v1/_app/immutable/nodes/26.qAtmHm5E.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/27.JIKtM6c6.js b/static/v1/_app/immutable/nodes/27.JIKtM6c6.js deleted file mode 100644 index ce2d9750a..000000000 --- a/static/v1/_app/immutable/nodes/27.JIKtM6c6.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{p as U,F as M,f as T,a as V,g as l,h as x,t as n,$ as W,s as a,i as B,c as m,r as c,ap as F}from"../chunks/runtime.BsghBUX9.js";import{s as u}from"../chunks/render.CTp9lacC.js";import{i as X}from"../chunks/if.6Ov_EDLa.js";import{a as v,t as H,d as z}from"../chunks/template.jENAUvUX.js";import{h as Y}from"../chunks/svelte-head.cS_wx7Ri.js";import{p as A}from"../chunks/proxy.YH42NwLs.js";import{c as Z,o as E,q as K}from"../chunks/helpers.CBl6QeM5.js";import{b as tt,B as D}from"../chunks/fetch.BvIeF4JA.js";import{u as ot}from"../chunks/i18n.svelte.D8rR00qK.js";import{M as at}from"../chunks/Main.DdVUe3_l.js";import{C as rt}from"../chunks/ContentCenter.1a7TMW4_.js";import{T as st,L as it}from"../chunks/LangSelector.TD0HCe5U.js";import{T as et}from"../chunks/Template.ZFmGCuZr.js";import{u as h}from"../chunks/param.svelte.BhHpzHur.js";import{u as lt}from"../chunks/is_dev.svelte.BUWsjuLN.js";var nt=H('

      ',1),mt=H(" ",1);function ct(G,I){U(I,!0);let t=ot(),_=B(!1),i=B(""),$=A({post_logout_redirect_uri:h("post_logout_redirect_uri").get(),id_token_hint:h("id_token_hint").get(),state:h("state").get()});M(()=>{l(i)&&Z(l(i))}),M(()=>{$.id_token_hint&&k()});async function w(){window.location.replace("/auth/v1")}async function k(){x(_,!0);let o="/auth/v1/oidc/logout";lt().get()&&(o="/auth/v1/dev/logout");let q=await tt(o,$,"form");E();let r=q.headers.get("location");console.log("loc",r),r?window.location.replace(r):await w()}var b=mt();Y(o=>{n(()=>W.title=(t==null?void 0:t.logout.logout)||"Logout")});var L=T(b);et(L,{id:K,get value(){return l(i)},set value(o){x(i,A(o))}});var J=a(L,2);at(J,{children:(o,q)=>{rt(o,{children:(r,ut)=>{var j=nt(),p=T(j),d=m(p),N=m(d,!0);c(d);var f=a(d,2),O=m(f,!0);c(f);var g=a(f,2),y=m(g);D(y,{onclick:k,get isLoading(){return l(_)},children:(e,S)=>{F();var s=z();n(()=>u(s,t.logout.logout)),v(e,s)},$$slots:{default:!0}});var P=a(y,2);D(P,{level:3,onclick:w,children:(e,S)=>{F();var s=z();n(()=>u(s,t.common.cancel)),v(e,s)},$$slots:{default:!0}}),c(g);var Q=a(g,2);X(Q,e=>{}),c(p);var C=a(p,2);st(C,{absolute:!0});var R=a(C,2);it(R,{absolute:!0}),n(()=>{u(N,t.logout.logout),u(O,t.logout.confirmMsg)}),v(r,j)},$$slots:{default:!0}})},$$slots:{default:!0}}),v(G,b),V()}export{ct as component}; diff --git a/static/v1/_app/immutable/nodes/27.JIKtM6c6.js.br b/static/v1/_app/immutable/nodes/27.JIKtM6c6.js.br deleted file mode 100644 index dd6c40f80..000000000 Binary files a/static/v1/_app/immutable/nodes/27.JIKtM6c6.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/27.JIKtM6c6.js.gz b/static/v1/_app/immutable/nodes/27.JIKtM6c6.js.gz deleted file mode 100644 index 8f0bcd9b1..000000000 Binary files a/static/v1/_app/immutable/nodes/27.JIKtM6c6.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/22.vE9Iw4eS.js b/static/v1/_app/immutable/nodes/27.Knmclegr.js similarity index 64% rename from static/v1/_app/immutable/nodes/22.vE9Iw4eS.js rename to static/v1/_app/immutable/nodes/27.Knmclegr.js index 2990d3f4e..61a20b294 100644 --- a/static/v1/_app/immutable/nodes/22.vE9Iw4eS.js +++ b/static/v1/_app/immutable/nodes/27.Knmclegr.js @@ -1 +1 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{E as r}from"../chunks/Error._4x1l89Z.js";function t(o){r(o,{})}export{t as component}; +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{E as r}from"../chunks/Error.CKQsPFI0.js";function t(o){r(o,{})}export{t as component}; diff --git a/static/v1/_app/immutable/nodes/27.Knmclegr.js.br b/static/v1/_app/immutable/nodes/27.Knmclegr.js.br new file mode 100644 index 000000000..f59656e00 Binary files /dev/null and b/static/v1/_app/immutable/nodes/27.Knmclegr.js.br differ diff --git a/static/v1/_app/immutable/nodes/27.Knmclegr.js.gz b/static/v1/_app/immutable/nodes/27.Knmclegr.js.gz new file mode 100644 index 000000000..ae33bbea5 Binary files /dev/null and b/static/v1/_app/immutable/nodes/27.Knmclegr.js.gz differ diff --git a/static/v1/_app/immutable/nodes/28.C-MF0u5X.js b/static/v1/_app/immutable/nodes/28.C-MF0u5X.js new file mode 100644 index 000000000..a83315fe6 --- /dev/null +++ b/static/v1/_app/immutable/nodes/28.C-MF0u5X.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{p as le,i as p,ao as ce,f as R,a as de,h as c,s as r,c as a,g as t,r as s,aq as $,t as ve}from"../chunks/index-client.DAoU_hDn.js";import{s as z}from"../chunks/render.mNhspeV3.js";import{i as _}from"../chunks/if.BANCODOf.js";import{a as n,t as I,d as y}from"../chunks/template.DcxtE4ym.js";import{p as m}from"../chunks/proxy.D3ASEzk3.js";import{g as fe}from"../chunks/helpers.mrWtKrwW.js";import{B as A}from"../chunks/Button.CKHLXer8.js";import{c as ue,a as K,I as Q}from"../chunks/Input.C04-Kl2S.js";import{n as S,o as ge}from"../chunks/helpers.BV-akmwW.js";import{C as V}from"../chunks/CheckIcon.CrU43zqd.js";import{c as pe}from"../chunks/dataFetching.dLYaql-r.js";import{M as me}from"../chunks/Main.B9oV9Is2.js";import{C as he}from"../chunks/ContentCenter.DlYnOTAE.js";var $e=I("
      -> enable idp registration:
      chrome://flags/#fedcm-idp-registration",1),Ie=I('

      Logged In:
      ',1),be=I('

      FedCM Testing

      FedCM supported:
      '),we=I('
      Credential Type:
      ',1),Ce=I(" ",1);function ye(W,X){le(X,!0);let T=p(""),b=p(!1),U=p(!1),M=p(""),x=p(""),l=m({clientId:"fedcm",configUrl:"any"}),f=p(m({}));const Y=ue().shape({clientId:K().required("Client ID is required").trim().matches(S,"Must be URL safe"),configUrl:K().nullable().trim().matches(S,"Must be URL safe")});ce(async()=>{if(c(T,`${window.location.origin}/auth/v1/fed_cm/config`),l.clientId=`${window.location.origin}/auth/v1/fed_cm/client_config`,(await pe()).ok?(console.log("FedCM status is: logged-in"),c(U,!0)):console.log("FedCM status is: logged-out"),window.IdentityProvider&&IdentityProvider.register!=null)console.log("FedCM is supported"),c(b,!0);else{console.error("FedCM is not supported");return}});async function Z(){if(!await k())return;let i=l.configUrl||void 0,u=l.clientId;console.log("using credentials get values: configUrl: "+i+" / clientId: "+u);try{let o=await navigator.credentials.get({identity:{mode:"button",providers:[{configURL:i,clientId:u,nonce:fe(48)}]}});console.log(o),c(x,m(o.type)),c(M,m(o.token)),c(U,!0)}catch(o){console.error("FedCM credentials error: "+o)}}function H(){IdentityProvider.register(t(T))}async function k(){try{return await Y.validate(l,{abortEarly:!1}),c(f,m({})),!0}catch(i){return c(f,m(ge(i))),!1}}var B=Ce(),D=R(B);me(D,{children:(i,u)=>{he(i,{children:(o,q)=>{var h=be(),g=r(a(h),2),w=r(a(g),2),re=a(w);V(re,{get check(){return t(b)}}),s(w),s(g);var E=r(g,2);{var te=d=>{var C=$e();$(4),n(d,C)};_(E,d=>{t(b)||d(te)})}var oe=r(E,2);{var ie=d=>{var C=Ie(),F=R(C),ae=a(F);A(ae,{level:3,$$events:{click:H},children:(e,P)=>{$();var v=y("Register IdP");n(e,v)},$$slots:{default:!0}}),s(F);var L=r(F,2),N=a(L);Q(N,{autocomplete:"off",placeholder:"Client Id",get value(){return l.clientId},set value(e){l.clientId=e},get error(){return t(f).clientId},set error(e){t(f).clientId=e},$$events:{input:k},children:(e,P)=>{$();var v=y("CLIENT ID");n(e,v)},$$slots:{default:!0}});var G=r(N,2);Q(G,{autocomplete:"off",placeholder:"Config URL",get value(){return l.configUrl},set value(e){l.configUrl=e},get error(){return t(f).configUrl},set error(e){t(f).configUrl=e},$$events:{input:k},children:(e,P)=>{$();var v=y("CONFIG URL");n(e,v)},$$slots:{default:!0}});var se=r(G,2);A(se,{$$events:{click:Z},children:(e,P)=>{$();var v=y("Login");n(e,v)},$$slots:{default:!0}}),s(L);var O=r(L,2),j=r(a(O),2),ne=a(j);V(ne,{get check(){return t(U)}}),s(j),s(O),n(d,C)};_(oe,d=>{t(b)&&d(ie)})}s(h),n(o,h)},$$slots:{default:!0}})},$$slots:{default:!0}});var J=r(D,2);{var ee=i=>{var u=we(),o=R(u),q=r(a(o),2),h=a(q,!0);s(q),s(o);var g=r(o,2),w=a(g,!0);s(g),ve(()=>{z(h,t(x)),z(w,t(M))}),n(i,u)};_(J,i=>{t(M)&&i(ee)})}n(W,B),de()}export{ye as component}; diff --git a/static/v1/_app/immutable/nodes/28.C-MF0u5X.js.br b/static/v1/_app/immutable/nodes/28.C-MF0u5X.js.br new file mode 100644 index 000000000..568452b9f Binary files /dev/null and b/static/v1/_app/immutable/nodes/28.C-MF0u5X.js.br differ diff --git a/static/v1/_app/immutable/nodes/28.C-MF0u5X.js.gz b/static/v1/_app/immutable/nodes/28.C-MF0u5X.js.gz new file mode 100644 index 000000000..d0707baa4 Binary files /dev/null and b/static/v1/_app/immutable/nodes/28.C-MF0u5X.js.gz differ diff --git a/static/v1/_app/immutable/nodes/28.DFki_LR6.js b/static/v1/_app/immutable/nodes/28.DFki_LR6.js deleted file mode 100644 index f2b59daf1..000000000 --- a/static/v1/_app/immutable/nodes/28.DFki_LR6.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{p as z,s as S,f as m,a as A,h as r,g as c,i as p,Q as G,$ as J,c as B,ap as K,r as E,t as N}from"../chunks/runtime.BsghBUX9.js";import{s as V}from"../chunks/render.CTp9lacC.js";import{i as _}from"../chunks/if.6Ov_EDLa.js";import{a as i,t as x,e as C,d as X}from"../chunks/template.jENAUvUX.js";import{h as Z}from"../chunks/svelte-head.cS_wx7Ri.js";import{p as f}from"../chunks/proxy.YH42NwLs.js";import{o as M}from"../chunks/index-client.ClP8y9aT.js";import{H as D,I as O}from"../chunks/helpers.CBl6QeM5.js";import{W as ee}from"../chunks/WebauthnRequest.M9ddrbaa.js";import{s as oe}from"../chunks/snippet.C6jUNrz1.js";import{T as ae,L as re}from"../chunks/LangSelector.TD0HCe5U.js";import{b as te,B as se}from"../chunks/fetch.BvIeF4JA.js";import{u as ie}from"../chunks/i18n.svelte.D8rR00qK.js";import{u as I}from"../chunks/param.svelte.BhHpzHur.js";import{u as ne}from"../chunks/is_dev.svelte.BUWsjuLN.js";var ce=x("

      Cookies disabled

      You need to enable Cookies.
      Without them, a safe login cannot be executed.

      "),le=x(" ",1);function ue(P,L){z(L,!0);let T=p(!1),g=p(!1);M(()=>{r(g,f(navigator.cookieEnabled)),r(T,!0)});var t=le(),h=S(m(t),2);{var u=b=>{var W=C(),e=m(W);{var k=s=>{var n=C(),o=m(n);oe(o,()=>L.children??G),i(s,n)},l=s=>{var n=ce();i(s,n)};_(e,s=>{c(g)?s(k):s(l,!1)})}i(b,W)};_(h,b=>{c(T)&&b(u)})}i(P,t),A()}var ve=x('
      '),de=x('
      '),me=x(" ",1);function pe(P,L){z(L,!0);let T=ie(),g=p(!1),t=p(""),h=p(void 0),u=p(void 0);M(async()=>{var w,H;let e=I("error").get();if(e){let a=I("error_description").get();r(t,`${e}: ${a}`);return}let k=I("state").get();if(!k){r(t,"'state' is missing in URL");return}let l=I("code").get();if(!l){r(t,"'code' is missing in URL");return}let s={state:k,code:l,pkce_verifier:D(),xsrf_token:O()},n="/auth/v1/providers/callback";ne().get()&&(n="/auth/v1/dev/providers_callback");let o=await te(n,s);if(o.status===202)window.location.replace(o.headers.get("location")||"/auth/v1/account");else if(o.status===200){r(t,"");let a=o.body;a&&"user_id"in a&&"code"in a?(r(h,f(a.user_id)),r(u,f({Login:a.code}))):console.error("did not receive a proper WebauthnLoginResponse after HTTP200")}else o.status===204?window.location.replace("/auth/v1/account"):o.status===403?r(t,f(((w=o.error)==null?void 0:w.message)||"HTTP 403 Forbidden")):o.status===406?(r(t,f(T.authorize.clientForceMfa)),r(g,!0)):r(t,`HTTP ${o.status}: ${(H=o.error)==null?void 0:H.message}`)});function b(e){r(t,f(e)),r(u,void 0)}function W(e){console.log("onWebauthnSuccess",e),e&&"loc"in e&&window.location.replace(e.loc)}Z(e=>{J.title="Callback"}),ue(P,{children:(e,k)=>{var l=me(),s=m(l);{var n=a=>{ee(a,{get userId(){return c(h)},get purpose(){return c(u)},onSuccess:W,onError:b})},o=a=>{var U=C(),Q=m(U);{var Y=v=>{var d=ve(),R=B(d);se(R,{onclick:()=>window.location.href="/auth/v1/account",children:(F,y)=>{K();var $=X("Account");i(F,$)},$$slots:{default:!0}}),E(d),i(v,d)},j=v=>{var d=C(),R=m(d);{var F=y=>{var $=de(),q=B($,!0);E($),N(()=>V(q,c(t))),i(y,$)};_(R,y=>{c(t)&&y(F)},!0)}i(v,d)};_(Q,v=>{c(g)?v(Y):v(j,!1)},!0)}i(a,U)};_(s,a=>{c(u)&&c(h)?a(n):a(o,!1)})}var w=S(s,2);ae(w,{absolute:!0});var H=S(w,2);re(H,{absolute:!0}),i(e,l)},$$slots:{default:!0}}),A()}export{pe as component}; diff --git a/static/v1/_app/immutable/nodes/28.DFki_LR6.js.br b/static/v1/_app/immutable/nodes/28.DFki_LR6.js.br deleted file mode 100644 index f1cf461ee..000000000 Binary files a/static/v1/_app/immutable/nodes/28.DFki_LR6.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/28.DFki_LR6.js.gz b/static/v1/_app/immutable/nodes/28.DFki_LR6.js.gz deleted file mode 100644 index c64e38cbf..000000000 Binary files a/static/v1/_app/immutable/nodes/28.DFki_LR6.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/29.C03yypnM.js b/static/v1/_app/immutable/nodes/29.C03yypnM.js deleted file mode 100644 index 0ee45c5f3..000000000 --- a/static/v1/_app/immutable/nodes/29.C03yypnM.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{p as ne,f as E,a as ce,t as c,$ as ue,g as i,h as s,s as r,i as M,O as ve,c as u,r as v,ap as de}from"../chunks/runtime.BsghBUX9.js";import{s as m}from"../chunks/render.CTp9lacC.js";import{i as R}from"../chunks/if.6Ov_EDLa.js";import{a as o,t as d,d as ge,e as pe}from"../chunks/template.jENAUvUX.js";import{h as fe}from"../chunks/svelte-head.cS_wx7Ri.js";import{d as he,e as $e}from"../chunks/index.G5lyZbma.js";import{p as B}from"../chunks/proxy.YH42NwLs.js";import{B as be,b as _e}from"../chunks/fetch.BvIeF4JA.js";import{t as we}from"../chunks/helpers.CBl6QeM5.js";import{I as D}from"../chunks/Input.luLa8YQi.js";import{T as ye,L as Ne}from"../chunks/LangSelector.TD0HCe5U.js";import{M as Te}from"../chunks/Main.DdVUe3_l.js";import{C as Ee}from"../chunks/ContentCenter.1a7TMW4_.js";import{u as Ce}from"../chunks/i18n.svelte.D8rR00qK.js";import{T as Ie}from"../chunks/Template.ZFmGCuZr.js";import{u as Me}from"../chunks/param.svelte.BhHpzHur.js";import{F as Re}from"../chunks/Form.ry95iany.js";import{u as xe}from"../chunks/is_dev.svelte.BUWsjuLN.js";import{a as G}from"../chunks/patterns.BdncpE46.js";var Ae=d("
      ",1),Le=d(''),ke=d('

      '),qe=d('
      '),Pe=d('
      ',1),Se=d('

      ',1),Ue=d(" ",1);function Be(K,V){ne(V,!0);let e=Ce(),X=xe(),g=M(""),F=Me("redirect_uri"),x=M(!1),l=M(""),A=M(!1),Y=ve(()=>X.get()?"/auth/v1/dev/register":"/auth/v1/users/register");async function Z(p,f){s(A,!1),s(l,"");let _=f.get("email"),L=f.get("given_name"),w=f.get("pow");if(!_||!L||!w){console.error("email, given_name, pow missing");return}if(i(g)&&!_.endsWith(i(g))){s(l,B(e.register.domainErr));return}let h={email:_,given_name:L,family_name:f.get("family_name")||void 0,pow:w,redirect_uri:f.get("redirect_uri")||void 0};s(x,!0);const $=await _e(p.action,h);if($.error){let b=$.error.message||"Error";b.includes("UNIQUE constraint")?s(l,"E-Mail is already registered"):s(l,B(b))}else s(l,""),s(A,!0),setTimeout(()=>{window.location.replace(h.redirect_uri||"/auth/v1/account")},3e3);s(x,!1)}var O=Ue();fe(p=>{c(()=>ue.title=(e==null?void 0:e.register)||"Register")});var Q=E(O);Ie(Q,{id:we,get value(){return i(g)},set value(p){s(g,B(p))}});var H=r(Q,2);Te(H,{children:(p,f)=>{Ee(p,{children:(_,L)=>{var w=Se(),h=E(w),$=u(h),b=u($),J=u(b,!0);v(b);var ee=r(b,2);{var re=y=>{var k=Ae(),N=E(k,!0),T=r(N,2),C=r(T),I=u(C);v(C),c(()=>{m(N,e.register.domainRestricted),m(T,` ${e.register.domainAllowed??""} `),m(I,`@${i(g)??""}`)}),o(y,k)};R(ee,y=>{i(g)&&y(re)})}v($);var ae=r($,2);Re(ae,{get action(){return i(Y)},onSubmit:Z,withPowAs:"pow",children:(y,k)=>{var N=Pe(),T=E(N);{var C=a=>{var t=Le();he(t),c(()=>$e(t,F.get())),o(a,t)};R(T,a=>{F.get()&&a(C)})}var I=r(T,2);D(I,{typ:"email",name:"email",autocomplete:"email",get label(){return e.common.email},get placeholder(){return e.common.email},required:!0});var j=r(I,2);D(j,{name:"given_name",autocomplete:"given-name",get label(){return e.account.givenName},get placeholder(){return e.account.givenName},pattern:G,required:!0});var z=r(j,2);D(z,{name:"family_name",autocomplete:"family-name",get label(){return e.account.familyName},get placeholder(){return e.account.familyName},pattern:G});var q=r(z,2),ie=u(q);be(ie,{type:"submit",get isLoading(){return i(x)},children:(a,t)=>{de();var n=ge();c(()=>m(n,e.register.register)),o(a,n)},$$slots:{default:!0}}),v(q);var se=r(q,2);{var oe=a=>{var t=ke(),n=u(t,!0),P=r(n,2);v(t),c(()=>{m(n,e.register.success),m(P,` ${e.register.emailCheck??""}`)}),o(a,t)},me=a=>{var t=pe(),n=E(t);{var P=S=>{var U=qe(),le=u(U,!0);v(U),c(()=>m(le,i(l))),o(S,U)};R(n,S=>{i(l)&&S(P)},!0)}o(a,t)};R(se,a=>{i(A)?a(oe):a(me,!1)})}o(y,N)},$$slots:{default:!0}}),v(h);var W=r(h,2);ye(W,{absolute:!0});var te=r(W,2);Ne(te,{absolute:!0}),c(()=>m(J,e.register.userReg)),o(_,w)},$$slots:{default:!0}})},$$slots:{default:!0}}),o(K,O),ce()}export{Be as component}; diff --git a/static/v1/_app/immutable/nodes/29.C03yypnM.js.br b/static/v1/_app/immutable/nodes/29.C03yypnM.js.br deleted file mode 100644 index d73500bd6..000000000 Binary files a/static/v1/_app/immutable/nodes/29.C03yypnM.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/29.C03yypnM.js.gz b/static/v1/_app/immutable/nodes/29.C03yypnM.js.gz deleted file mode 100644 index 8309f2bb6..000000000 Binary files a/static/v1/_app/immutable/nodes/29.C03yypnM.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/29.ikFNXE67.js b/static/v1/_app/immutable/nodes/29.ikFNXE67.js new file mode 100644 index 000000000..0d8899eb2 --- /dev/null +++ b/static/v1/_app/immutable/nodes/29.ikFNXE67.js @@ -0,0 +1,3 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{t as $,p as Sr,i as n,ao as qr,a4 as se,f as A,a as Tr,g as e,h as t,ap as jr,s as c,c as v,r as d,aq as fe,a9 as he}from"../chunks/index-client.DAoU_hDn.js";import{s as S}from"../chunks/render.mNhspeV3.js";import{i as g}from"../chunks/if.BANCODOf.js";import{e as Fr}from"../chunks/each.DTG73tix.js";import{a as l,n as Wr,t as p,d as ge,e as rr}from"../chunks/template.DcxtE4ym.js";import{h as Hr}from"../chunks/svelte-head.CtCGS4lr.js";import{s as D}from"../chunks/class.DWa3OhYO.js";import{p as i}from"../chunks/proxy.D3ASEzk3.js";import{p as Rr}from"../chunks/dataFetching.dLYaql-r.js";import{e as tr,D as Ur,E as Br,F as Cr,u as Vr,G as Ar,j as Dr,k as Er,_ as Nr,P as Gr,H as Jr}from"../chunks/helpers.BV-akmwW.js";import{B as we}from"../chunks/Button.Cy8gcSM8.js";import{W as Zr}from"../chunks/WebauthnRequest.C4OO6VEa.js";import{I as Or}from"../chunks/Input.DSR5bYkF.js";import{T as Pr,L as Qr}from"../chunks/LangSelector.BrxfVQ9N.js";import{p as He}from"../chunks/props.VJ8UyA45.js";import{M as Xr}from"../chunks/Main.B9oV9Is2.js";import{C as Yr}from"../chunks/ContentCenter.DlYnOTAE.js";import{u as Kr}from"../chunks/i18n.svelte.DUvAL5Pw.js";import{T as Z}from"../chunks/Template.g8euQA0a.js";import{u as H}from"../chunks/param.svelte.BFj7Iv3L.js";import{I as et}from"../chunks/InputPassword.nPyam57A.js";import{b as _e}from"../chunks/fetch.m5EOWhre.js";import{u as ar}from"../chunks/is_dev.svelte.Ii9Cp3xd.js";import{F as rt}from"../chunks/Form.gnacPhba.js";import{B as tt}from"../chunks/ButtonAuthProvider.C0t303gQ.js";var at=Wr(``);function ot(be,O){let ie=He(O,"opacity",3,.9),u=He(O,"width",3,"1.5rem"),P=He(O,"color",3,"currentColor");var R=at();D(R,"stroke-width",2),$(()=>{D(R,"stroke",P()),D(R,"width",u()),D(R,"opacity",ie())}),l(be,R)}var st=p('No Logo Available'),it=p(''),lt=p('
      '),nt=p(" ",1),ct=p('
      '),vt=p('
      '),dt=p(" ",1),ut=p(' '),pt=p(' '),mt=p(" ",1),ft=p('
      '),ht=p('
      '),gt=p('
      '),wt=p('
      '),_t=p('

      ',1),bt=p(" ",1);function $t(be,O){var Je;Sr(O,!0);const ie="18rem";let u=Kr(),P=ar().get(),R=he(()=>P?"/auth/v1/dev/authorize":"/auth/v1/oidc/authorize"),_=H("client_id").get(),le=n(""),q=n(i(P?"/auth/v1":"")),Q=H("redirect_uri").get(),$e=H("nonce").get(),xe=((Je=H("scope").get())==null?void 0:Je.split(" "))||[],ye=n(void 0),ze=n(void 0),ke=H("state").get(),X=H("code_challenge").get(),L=H("code_challenge_method").get(),Re=!1,Le=n(void 0),ne=n(i([])),ce=n(void 0),E=n(!1),m=n(""),Y=n(""),ve=n(""),T=n(!1),U=n(!1),de=n(!1),ue=n(!1),pe=n(!1),B=n(!1),Ue=n(""),Ie=n(!1),x=n(i(H("login_hint").get()||"")),j=n(""),Me=n("");qr(()=>{var r;e(T)||((r=e(ye))==null||r.focus())}),se(()=>{Re&&(_!=null&&_.length)&&ir()}),se(()=>{e(pe)&&setTimeout(()=>{t(pe,!1),t(de,!1),t(ue,!1)},3e3)}),se(()=>{var r;(r=e(ze))==null||r.focus()}),se(()=>{var r;if(e(Y)==="Refresh")Re=!0;else if((r=e(Y))!=null&&r.startsWith("MfaLogin ")){let o=e(Y).replace("MfaLogin ","");t(x,i(o)),t(Le,i(o))}}),se(()=>{P?or():e(ve)&&tr(e(ve))});async function or(){var o;let r=await _e("/auth/v1/oidc/session");console.log("manual session",r.body),(o=r.body)!=null&&o.csrf_token?tr(r.body.csrf_token):console.error(r.error)}function sr(){t(m,""),t(de,!0),t(j,"")}async function ir(){if(!_){console.error("clientId is undefined");return}if(!Q){console.error("redirectUri is undefined");return}t(E,!0);const r={client_id:_,redirect_uri:Q,state:ke,nonce:$e,scopes:xe};X&&L&&(L==="plain"||L==="S256")&&(r.code_challenge=X,r.code_challenge_method=L);let o=await _e("/auth/v1/oidc/authorize/refresh",r);await Be(o)}async function lr(r,o){if(t(m,""),!_){console.error("clientId is undefined");return}if(!Q){console.error("redirectUri is undefined");return}const w={email:e(x),client_id:_,redirect_uri:Q,state:ke,nonce:$e,scopes:xe};if(X&&L&&(L==="plain"||L==="S256")&&(w.code_challenge=X,w.code_challenge_method=L),e(T)&&e(x)!==e(Le)){if(!e(j)){t(m,i(u.authorize.passwordRequired));return}if(e(j).length>256){t(m,"max 256");return}w.password=e(j)}t(E,!0);let b="/auth/v1/oidc/authorize";ar().get()&&(b="/auth/v1/dev/authorize");let z=await _e(b,w);await Be(z)}async function Be(r){if(r.status===202){let o=r.headers.get("location");if(!o){console.error("location header missing");return}window.location.replace(o)}else if(r.status===200){t(m,"");let o=r.body;o&&"user_id"in o&&"code"in o?(t(Me,i(o.user_id)),t(ce,i({Login:o.code}))):console.error("did not receive a proper WebauthnLoginResponse after HTTP200")}else if(r.status===406)t(m,i(u.authorize.clientForceMfa)),t(U,!0);else if(r.status===429){let o=r.headers.get("x-retry-not-before");if(!o){console.error("x-retry-not-before header missing");return}let w=Number.parseInt(o),b=Er(w),z=w*1e3-new Date().getTime();t(B,!0),t(m,`${u.authorize.http429} ${b}`),t(x,""),t(j,""),t(T,!1),setTimeout(()=>{t(B,!1),t(m,"")},z)}else e(T)?(t(m,i(u.authorize.invalidCredentials)),t(ue,!0)):(t(T,!0),t(Ue,i(e(x))));t(E,!1)}function nr(){e(T)&&e(Ue)!==e(x)&&(t(T,!1),t(j,""),t(m,""))}function cr(r){Nr(64,(o,{challenge:w,verifier:b})=>{o||(localStorage.setItem(Gr,b),vr(r,w))})}async function vr(r,o){let w={email:e(x)||null,client_id:_,redirect_uri:Q,scopes:xe,state:ke,nonce:$e,code_challenge:X,code_challenge_method:L,provider_id:r,pkce_challenge:o},b=await Rr(w);if(b.ok){const z=await b.text();Jr(z);let N=b.headers.get("location");if(!N){console.error("no location header set for provider login");return}window.location.href=N}else{let z=await b.json();t(m,i(z.message))}}function dr(r){t(ce,void 0),t(m,i(r))}function ur(r){console.log("onWebauthnSuccess",r),r&&"loc"in r&&window.location.replace(r.loc)}async function pr(){let r={email:e(x)};e(q)&&(r.redirect_uri=encodeURI(e(q))),t(E,!0);let o=await _e("/auth/v1/users/request_reset",r);o.error?t(m,i(o.error.message)):t(pe,!0),t(E,!1)}var Ce=bt();Hr(r=>{$(()=>jr.title=`Login ${(e(le)||_)??""}`)});var Ve=A(Ce);Z(Ve,{id:Ur,get value(){return e(ne)},set value(r){t(ne,i(r))}});var Ae=c(Ve,2);Z(Ae,{id:Br,get value(){return e(le)},set value(r){t(le,i(r))}});var De=c(Ae,2);Z(De,{id:Cr,get value(){return e(q)},set value(r){t(q,i(r))}});var Ee=c(De,2);Z(Ee,{id:Vr,get value(){return e(ve)},set value(r){t(ve,i(r))}});var Ne=c(Ee,2);Z(Ne,{id:Ar,get value(){return e(Y)},set value(r){t(Y,i(r))}});var Ge=c(Ne,2);Z(Ge,{id:Dr,get value(){return e(Ie)},set value(r){t(Ie,i(r))}});var mr=c(Ge,2);Xr(mr,{children:(r,o)=>{Yr(r,{children:(w,b)=>{var z=_t(),N=A(z),Se=v(N),qe=v(Se),fr=v(qe);{var hr=a=>{var s=st();D(s,"src",`/auth/v1/clients/${_}/logo`),l(a,s)};g(fr,a=>{_&&a(hr)})}d(qe);var gr=c(qe,2);{var wr=a=>{var s=it(),h=v(s);ot(h,{color:"hsla(var(--text) / .4)"}),d(s),$(()=>D(s,"href",e(q))),l(a,s)};g(gr,a=>{e(q)&&a(wr)})}d(Se);var Te=c(Se,2),Ze=v(Te),_r=v(Ze,!0);d(Ze),d(Te);var Oe=c(Te,2);{var br=a=>{Zr(a,{get userId(){return e(Me)},get purpose(){return e(ce)},onSuccess:ur,onError:dr})};g(Oe,a=>{e(ce)&&e(Me)&&a(br)})}var Pe=c(Oe,2);{var $r=a=>{var s=mt(),h=A(s);rt(h,{get action(){return e(R)},onSubmit:lr,children:(I,ee)=>{var F=dt(),C=A(F),re=he(()=>e(B)||e(U));Or(C,{typ:"email",name:"email",autocomplete:"email",get label(){return u.common.email},get placeholder(){return u.common.email},get disabled(){return e(re)},onInput:nr,width:ie,required:!0,get ref(){return e(ye)},set ref(y){t(ye,i(y))},get value(){return e(x)},set value(y){t(x,i(y))}});var M=c(C,2);{var k=y=>{var ae=nt(),me=A(ae),je=he(()=>e(B)||e(U));et(me,{name:"password",autocomplete:"current-password",get label(){return u.common.password},get placeholder(){return u.common.password},maxLength:256,get disabled(){return e(je)},width:ie,required:!0,get ref(){return e(ze)},set ref(f){t(ze,i(f))},get value(){return e(j)},set value(f){t(j,i(f))}});var Fe=c(me,2);{var W=f=>{var V=lt(),oe=v(V);we(oe,{invisible:!0,onclick:sr,children:(We,J)=>{fe();var er=ge();$(()=>S(er,u.authorize.passwordForgotten)),l(We,er)},$$slots:{default:!0}}),d(V),l(f,V)};g(Fe,f=>{e(ue)&&!e(B)&&f(W)})}l(y,ae)};g(M,y=>{e(T)&&e(Le)!==e(x)&&!e(de)&&y(k)})}var te=c(M,2);{var Mr=y=>{var ae=rr(),me=A(ae);{var je=W=>{var f=ct(),V=v(f);we(V,{onclick:pr,children:(oe,We)=>{fe();var J=ge();$(()=>S(J,u.authorize.passwordRequest)),l(oe,J)},$$slots:{default:!0}}),d(f),l(W,f)},Fe=W=>{var f=vt(),V=v(f);we(V,{type:"submit",get isLoading(){return e(E)},children:(oe,We)=>{fe();var J=ge();$(()=>S(J,u.authorize.login)),l(oe,J)},$$slots:{default:!0}}),d(f),l(W,f)};g(me,W=>{e(de)?W(je):W(Fe,!1)})}l(y,ae)};g(te,y=>{!e(B)&&!e(U)&&y(Mr)})}l(I,F)},$$slots:{default:!0}});var G=c(h,2);{var K=I=>{var ee=rr(),F=A(ee);{var C=M=>{var k=ut(),te=v(k,!0);d(k),$(()=>{D(k,"href",`/auth/v1/users/register?redirect_uri=${e(q)??""}`),S(te,u.authorize.signUp)}),l(M,k)},re=M=>{var k=pt(),te=v(k,!0);d(k),$(()=>S(te,u.authorize.signUp)),l(M,k)};g(F,M=>{e(q)?M(C):M(re,!1)})}l(I,ee)};g(G,I=>{e(Ie)&&!e(ue)&&!e(B)&&I(K)})}l(a,s)};g(Pe,a=>{e(U)||a($r)})}var Qe=c(Pe,2);{var xr=a=>{var s=ft(),h=v(s,!0);d(s),$(()=>S(h,e(m))),l(a,s)};g(Qe,a=>{e(m)&&a(xr)})}var Xe=c(Qe,2);{var yr=a=>{var s=ht(),h=v(s,!0);d(s),$(()=>S(h,u.authorize.emailSentMsg)),l(a,s)};g(Xe,a=>{e(pe)&&a(yr)})}var Ye=c(Xe,2);{var zr=a=>{var s=gt(),h=v(s);we(h,{onclick:()=>window.location.href="/auth/v1/account",children:(G,K)=>{fe();var I=ge("Account");l(G,I)},$$slots:{default:!0}}),d(s),l(a,s)};g(Ye,a=>{e(U)&&a(zr)})}var kr=c(Ye,2);{var Lr=a=>{var s=wt(),h=v(s),G=c(v(h),2),K=v(G),I=v(K,!0);d(K),d(G),d(h);var ee=c(h,2);Fr(ee,17,()=>e(ne),F=>F.id,(F,C)=>{var re=he(()=>`Login: ${e(C).name}`);tt(F,{get ariaLabel(){return e(re)},get provider(){return e(C)},onclick:cr})}),d(s),$(()=>S(I,u.authorize.orLoginWith)),l(a,s)};g(kr,a=>{!e(U)&&e(ne)&&a(Lr)})}d(N);var Ke=c(N,2);Pr(Ke,{absolute:!0});var Ir=c(Ke,2);Qr(Ir,{absolute:!0}),$(()=>S(_r,e(le)||_)),l(w,z)},$$slots:{default:!0}})},$$slots:{default:!0}}),l(be,Ce),Tr()}export{$t as component}; diff --git a/static/v1/_app/immutable/nodes/29.ikFNXE67.js.br b/static/v1/_app/immutable/nodes/29.ikFNXE67.js.br new file mode 100644 index 000000000..4e8cb2524 Binary files /dev/null and b/static/v1/_app/immutable/nodes/29.ikFNXE67.js.br differ diff --git a/static/v1/_app/immutable/nodes/29.ikFNXE67.js.gz b/static/v1/_app/immutable/nodes/29.ikFNXE67.js.gz new file mode 100644 index 000000000..13fbe62de Binary files /dev/null and b/static/v1/_app/immutable/nodes/29.ikFNXE67.js.gz differ diff --git a/static/v1/_app/immutable/nodes/3.D7B8fLBU.js b/static/v1/_app/immutable/nodes/3.D7B8fLBU.js deleted file mode 100644 index 22545d588..000000000 --- a/static/v1/_app/immutable/nodes/3.D7B8fLBU.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{p as G,f as T,a as H,$ as J,g as y,h as K,s as o,t as f,i as N,c as O,ap as c,r as P}from"../chunks/runtime.BsghBUX9.js";import{s as d}from"../chunks/render.CTp9lacC.js";import{i as Q}from"../chunks/if.6Ov_EDLa.js";import{a as r,t as v,d as u}from"../chunks/template.jENAUvUX.js";import{h as R}from"../chunks/svelte-head.cS_wx7Ri.js";import{p as S}from"../chunks/proxy.YH42NwLs.js";import{B as p}from"../chunks/fetch.BvIeF4JA.js";import{M as U}from"../chunks/Main.DdVUe3_l.js";import{C as V}from"../chunks/ContentCenter.1a7TMW4_.js";import{u as W}from"../chunks/i18n.svelte.D8rR00qK.js";import{T as X}from"../chunks/Template.ZFmGCuZr.js";import{h as Y}from"../chunks/helpers.CBl6QeM5.js";import{T as Z,L as E}from"../chunks/LangSelector.TD0HCe5U.js";var I=v('
      '),aa=v(" ",1),ta=v(" ",1);function ra(B,C){G(C,!0);const i="9rem";let e=W(),n=N(!1);function M(){window.location.href="/auth/v1/admin"}function _(){window.location.href="/auth/v1/account"}function j(){window.location.href="/auth/v1/users/register"}var h=ta();R(s=>{J.title="Rauthy"});var $=T(h);X($,{id:Y,get value(){return y(n)},set value(s){K(n,S(s))}});var q=o($,2);U(q,{children:(s,oa)=>{var w=aa(),g=T(w);V(g,{children:(A,sa)=>{var l=I(),x=O(l);p(x,{onclick:_,width:i,children:(a,m)=>{c();var t=u();f(()=>d(t,e.index.accountLogin)),r(a,t)},$$slots:{default:!0}});var L=o(x,2);{var D=a=>{p(a,{level:2,onclick:j,width:i,children:(m,t)=>{c();var k=u();f(()=>d(k,e.index.register)),r(m,k)},$$slots:{default:!0}})};Q(L,a=>{y(n)&&a(D)})}var F=o(L,2);p(F,{level:3,onclick:M,width:i,children:(a,m)=>{c();var t=u();f(()=>d(t,e.index.adminLogin)),r(a,t)},$$slots:{default:!0}}),P(l),r(A,l)},$$slots:{default:!0}});var b=o(g,2);Z(b,{absolute:!0});var z=o(b,2);E(z,{absolute:!0}),r(s,w)},$$slots:{default:!0}}),r(B,h),H()}export{ra as component}; diff --git a/static/v1/_app/immutable/nodes/3.D7B8fLBU.js.br b/static/v1/_app/immutable/nodes/3.D7B8fLBU.js.br deleted file mode 100644 index f1c952be3..000000000 Binary files a/static/v1/_app/immutable/nodes/3.D7B8fLBU.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/3.D7B8fLBU.js.gz b/static/v1/_app/immutable/nodes/3.D7B8fLBU.js.gz deleted file mode 100644 index df1fdbd66..000000000 Binary files a/static/v1/_app/immutable/nodes/3.D7B8fLBU.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/3.Dd8ltyz7.js b/static/v1/_app/immutable/nodes/3.Dd8ltyz7.js new file mode 100644 index 000000000..e79d65e1e --- /dev/null +++ b/static/v1/_app/immutable/nodes/3.Dd8ltyz7.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{t as C,p as J,a4 as O,a as K,g as r,h as k,a9 as Q,i as N,s as L,c as u,r as g,f as _,aq as j}from"../chunks/index-client.DAoU_hDn.js";import{d as ta,e as R,s as V}from"../chunks/render.mNhspeV3.js";import{a as s,n as sa,t as z,e as X,d as q}from"../chunks/template.DcxtE4ym.js";import{s as U}from"../chunks/snippet.DHnbbgSs.js";import{i as Y}from"../chunks/if.BANCODOf.js";import{s as w,t as ia}from"../chunks/class.DWa3OhYO.js";import{s as F}from"../chunks/index.DER1jHiU.js";import{p as G}from"../chunks/proxy.D3ASEzk3.js";import{b as oa}from"../chunks/window.Dv-FFGvE.js";import{p as h}from"../chunks/props.VJ8UyA45.js";import{q as ea}from"../chunks/helpers.BV-akmwW.js";import{B as la}from"../chunks/Button.Cy8gcSM8.js";import{p as I}from"../chunks/index.BWkwQiKI.js";import{A as na}from"../chunks/A.CPSniiiu.js";import{C as da}from"../chunks/ContentAdmin.DjjTGKTF.js";import{u as va}from"../chunks/i18n_admin.svelte.C0tjsaXn.js";import{u as ha}from"../chunks/i18n.svelte.DUvAL5Pw.js";var ca=sa('');function ma(p,a){let l=h(a,"opacity",3,.9),$=h(a,"width",3,"1.5rem"),n=h(a,"color",3,"currentColor");var o=ca();w(o,"stroke-width",2),C(()=>{w(o,"stroke",n()),w(o,"width",$()),w(o,"opacity",l())}),s(p,o)}function fa(p,a,l){r(a)&&k(l,!0)}var pa=z('
      '),ua=z('
      '),ga=z('
      '),wa=z('');function $a(p,a){J(a,!0);let l=h(a,"width",3,"min(25rem, 100dvw)"),$=h(a,"paddingTop",3,"4.5rem"),n=h(a,"collapse",15),o=h(a,"collapseButtonThreshold",3,800),W=h(a,"thresholdNavSub",3,500);const P=ea();let d=N(void 0),i=Q(()=>!!(r(d)&&r(d){n(()=>k(t,G(r(i))))}),O(()=>{r(d)&&k(t,G(r(i)))});function S(){k(t,!r(t))}function T(){r(d)&&r(d){la(m,{ariaControls:P,invisible:!0,onclick:S,children:(f,x)=>{var H=pa(),ra=u(H);ma(ra,{width:"1.4rem"}),g(H),s(f,H)},$$slots:{default:!0}})};var e=u(b);{var Z=m=>{var f=ua(),x=u(f);B(x),g(f),s(m,f)};Y(e,m=>{(r(t)||r(i))&&m(Z)})}var v=L(e,2);w(v,"id",P),v.__click=[fa,i,t];var M=u(v);{var D=m=>{var f=ga(),x=u(f),H=u(x);B(H),g(x),g(f),C(()=>ia(x,"hoverLeft",r(t))),s(m,f)};Y(M,m=>{r(y)&&!(r(t)||r(i))&&m(D)})}var A=L(M,2),aa=u(A);U(aa,()=>a.children),g(A),g(v),g(b),C(()=>{w(v,"aria-hidden",r(t)),w(v,"data-collapsed",r(t)),F(v,"width",r(t)?0:l()),F(v,"min-width",r(t)?0:l()),F(A,"padding-top",$())}),R("mouseenter",v,T),R("mouseleave",v,c)}oa("innerWidth",B=>k(d,G(B))),s(p,b),K()}ta(["click"]);var Pa=z('
      ');function E(p,a){J(a,!0),h(a,"highlightExact",3,!0);let l=h(a,"highlightWithParams",3,!1),$=Q(()=>l()?`${I.route.id}${I.url.search}`.startsWith(a.href):I.route.id===a.href.split("?")[0]);var n=Pa(),o=u(n);na(o,{get href(){return a.href},hideUnderline:!0,get highlightWithParams(){return l()},children:(W,P)=>{var d=X(),i=_(d);U(i,()=>a.children),s(W,d)},$$slots:{default:!0}}),g(n),C(()=>w(n,"data-current",r($))),s(p,n),K()}var ba=z(" ",1),ka=z(" ",1);function za(p,a){J(a,!0);let l=ha(),$=va();var n=ka(),o=_(n);$a(o,{width:"11rem",children:(P,d)=>{var i=ba(),t=_(i);E(t,{href:"/auth/v1/admin/config/policy",children:(c,b)=>{j();var e=q();C(()=>V(e,l.passwordPolicy.passwordPolicy)),s(c,e)},$$slots:{default:!0}});var y=L(t,2);E(y,{href:"/auth/v1/admin/config/jwks",children:(c,b)=>{j();var e=q("JWKS");s(c,e)},$$slots:{default:!0}});var S=L(y,2);E(S,{href:"/auth/v1/admin/config/argon2",children:(c,b)=>{j();var e=q("Password Hashing");s(c,e)},$$slots:{default:!0}});var T=L(S,2);E(T,{href:"/auth/v1/admin/config/encryption",children:(c,b)=>{j();var e=q();C(()=>V(e,$.docs.encryption)),s(c,e)},$$slots:{default:!0}}),s(P,i)},$$slots:{default:!0}});var W=L(o,2);da(W,{children:(P,d)=>{var i=X(),t=_(i);U(t,()=>a.children),s(P,i)},$$slots:{default:!0}}),s(p,n),K()}export{za as component}; diff --git a/static/v1/_app/immutable/nodes/3.Dd8ltyz7.js.br b/static/v1/_app/immutable/nodes/3.Dd8ltyz7.js.br new file mode 100644 index 000000000..3274f4823 Binary files /dev/null and b/static/v1/_app/immutable/nodes/3.Dd8ltyz7.js.br differ diff --git a/static/v1/_app/immutable/nodes/3.Dd8ltyz7.js.gz b/static/v1/_app/immutable/nodes/3.Dd8ltyz7.js.gz new file mode 100644 index 000000000..d9ca11b85 Binary files /dev/null and b/static/v1/_app/immutable/nodes/3.Dd8ltyz7.js.gz differ diff --git a/static/v1/_app/immutable/nodes/30.Bw4P0Cke.js b/static/v1/_app/immutable/nodes/30.Bw4P0Cke.js deleted file mode 100644 index 0fe91fccb..000000000 --- a/static/v1/_app/immutable/nodes/30.Bw4P0Cke.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{p as S,f as z,a as U,t as g,$ as V,g as i,h as B,s as a,i as E,c as t,r,ap as W}from"../chunks/runtime.BsghBUX9.js";import{s}from"../chunks/render.CTp9lacC.js";import{a as c,t as j,d as X}from"../chunks/template.jENAUvUX.js";import{h as Y}from"../chunks/svelte-head.cS_wx7Ri.js";import{p as k}from"../chunks/proxy.YH42NwLs.js";import{T as Z,L as _}from"../chunks/LangSelector.TD0HCe5U.js";import{B as F}from"../chunks/fetch.BvIeF4JA.js";import{M as N}from"../chunks/Main.DdVUe3_l.js";import{C as O}from"../chunks/ContentCenter.1a7TMW4_.js";import{u as aa}from"../chunks/i18n.svelte.D8rR00qK.js";import{T as q}from"../chunks/Template.ZFmGCuZr.js";import{v as ta,w as ra}from"../chunks/helpers.CBl6QeM5.js";var sa=j('


      ',1),ea=j(" ",1);function oa(y,A){S(A,!0);let e=aa(),l=E("old@mail.org"),m=E("new@mail.org");var d=ea();Y(o=>{g(()=>V.title=e.emailChange.title||"E-Mail Change Confirm")});var h=z(d);q(h,{id:ta,get value(){return i(l)},set value(o){B(l,k(o))}});var b=a(h,2);q(b,{id:ra,get value(){return i(m)},set value(o){B(m,k(o))}});var D=a(b,2);N(D,{children:(o,ia)=>{O(o,{children:(G,la)=>{var C=sa(),n=z(C),p=t(n),H=t(p,!0);r(p);var v=a(p,2),$=t(v),u=a($,3),I=t(u,!0);r(u);var w=a(u),x=a(w),J=t(x,!0);r(x),r(v);var f=a(v,2),K=t(f,!0);r(f);var L=a(f,2),P=t(L);F(P,{onclick:()=>window.location.replace("/auth/v1/account"),children:(R,ma)=>{W();var T=X();g(()=>s(T,e.authorize.login)),c(R,T)},$$slots:{default:!0}}),r(L),r(n);var M=a(n,2);Z(M,{absolute:!0});var Q=a(M,2);_(Q,{absolute:!0}),g(()=>{s(H,e.emailChange.title),s($,`${e.emailChange.textChanged??""}:`),s(I,i(l)),s(w,` ${e.emailChange.to??""} `),s(J,i(m)),s(K,e.emailChange.textLogin)}),c(G,C)},$$slots:{default:!0}})},$$slots:{default:!0}}),c(y,d),U()}export{oa as component}; diff --git a/static/v1/_app/immutable/nodes/30.Bw4P0Cke.js.br b/static/v1/_app/immutable/nodes/30.Bw4P0Cke.js.br deleted file mode 100644 index 65ba1f737..000000000 Binary files a/static/v1/_app/immutable/nodes/30.Bw4P0Cke.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/30.Bw4P0Cke.js.gz b/static/v1/_app/immutable/nodes/30.Bw4P0Cke.js.gz deleted file mode 100644 index 6b46861ae..000000000 Binary files a/static/v1/_app/immutable/nodes/30.Bw4P0Cke.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/30.CX50lbts.js b/static/v1/_app/immutable/nodes/30.CX50lbts.js new file mode 100644 index 000000000..01697ee6e --- /dev/null +++ b/static/v1/_app/immutable/nodes/30.CX50lbts.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{p as d,ao as m,a as f,ap as l}from"../chunks/index-client.DAoU_hDn.js";import{h as _}from"../chunks/svelte-head.CtCGS4lr.js";import{i as u}from"../chunks/lifecycle.CJdofDvP.js";import{b as w,c as h,s as k,d as g,e as v,f as b,R as j,h as y}from"../chunks/helpers.BV-akmwW.js";import{a as C,b as L}from"../chunks/dataFetching.dLYaql-r.js";import{u as i}from"../chunks/param.svelte.BFj7Iv3L.js";function R(S,n){d(n,!1);let c=i("code"),p=i("state");m(async()=>{const a=new URLSearchParams;let t=j,o=p.get();o&&(o==="account"?t=y:o.startsWith("device")&&(t=`/auth/v1/${o}`));let s=c.get();if(!s){console.error("no `code` given");return}a.append("grant_type","authorization_code"),a.append("code",s),a.append("redirect_uri",t),a.append("client_id",w),a.append("code_verifier",h());let r=await C(a),e=await r.json();k(e.access_token),g(e.id_token),r=await L(e.access_token),e=await r.json(),v(e.csrf_token),b(),window.location.replace(t)}),u(),_(a=>{l.title="Callback"}),f()}export{R as component}; diff --git a/static/v1/_app/immutable/nodes/30.CX50lbts.js.br b/static/v1/_app/immutable/nodes/30.CX50lbts.js.br new file mode 100644 index 000000000..bbfa2dfdf Binary files /dev/null and b/static/v1/_app/immutable/nodes/30.CX50lbts.js.br differ diff --git a/static/v1/_app/immutable/nodes/30.CX50lbts.js.gz b/static/v1/_app/immutable/nodes/30.CX50lbts.js.gz new file mode 100644 index 000000000..5c070909b Binary files /dev/null and b/static/v1/_app/immutable/nodes/30.CX50lbts.js.gz differ diff --git a/static/v1/_app/immutable/nodes/31.Bbbk_Az9.js b/static/v1/_app/immutable/nodes/31.Bbbk_Az9.js deleted file mode 100644 index ce87cae3f..000000000 --- a/static/v1/_app/immutable/nodes/31.Bbbk_Az9.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{p as pr,F as ce,f as h,a as ur,g as e,h as s,t as b,$ as Ae,s as o,i as u,c as w,ap as q,r as f,O as oe}from"../chunks/runtime.BsghBUX9.js";import{s as v}from"../chunks/render.CTp9lacC.js";import{i as g}from"../chunks/if.6Ov_EDLa.js";import{a as t,t as $,e as K,d as N}from"../chunks/template.jENAUvUX.js";import{h as vr}from"../chunks/svelte-head.cS_wx7Ri.js";import{b as Oe,c as Se}from"../chunks/index.G5lyZbma.js";import{p as l}from"../chunks/proxy.YH42NwLs.js";import{x as mr,y as wr}from"../chunks/helpers.CBl6QeM5.js";import{B as E}from"../chunks/fetch.BvIeF4JA.js";import{P as fr}from"../chunks/PasswordPolicy.B5Y9P_Yk.js";import{I as gr}from"../chunks/Input.luLa8YQi.js";import{W as hr}from"../chunks/WebauthnRequest.M9ddrbaa.js";import{L as $r,T as yr}from"../chunks/LangSelector.TD0HCe5U.js";import{u as _r}from"../chunks/i18n.svelte.D8rR00qK.js";import{M as Rr}from"../chunks/Main.DdVUe3_l.js";import{C as kr}from"../chunks/ContentCenter.1a7TMW4_.js";import{T as br}from"../chunks/Template.ZFmGCuZr.js";import{u as Ar}from"../chunks/param.svelte.BhHpzHur.js";import{I as Ve}from"../chunks/InputPassword.DfsGFINf.js";import{A as Te}from"../chunks/A.BmPHpmKq.js";import{u as xr}from"../chunks/is_dev.svelte.BUWsjuLN.js";import{w as Lr}from"../chunks/registration.CcD5s1by.js";import{F as Ue}from"../chunks/Form.ry95iany.js";import{a as Cr}from"../chunks/patterns.BdncpE46.js";var Pr=$('
      ',1),qr=$('

      This window shows up during local dev,
      only to be able to switch modes easily.

      '),Nr=$("




      "),jr=$("
      "),Fr=$(" ",1),Ir=$('

      '),Wr=$("
      "),Dr=$('

      ',1),Mr=$("

      Password Reset

      ",1),Er=$('
      '),Or=$('
      '),Sr=$(" ",1),Vr=$(" ",1);function Tr(ze,Je){pr(Je,!0);const xe=r=>{var c=K(),p=h(c);{var F=m=>{Ue(m,{action:"",onSubmit:Ge,children:(y,I)=>{var S=Pr(),G=h(S);fr(G,{get policy(){return e(n).password_policy},get password(){return e(j)},get accepted(){return e(me)},set accepted(i){s(me,l(i))}});var H=o(G,2),W=oe(()=>e(j).length>=e(n).password_policy.length_min);Ve(H,{autocomplete:"new-password",get label(){return a.account.passwordNew},get placeholder(){return a.account.passwordNew},get maxLength(){return e(n).password_policy.length_max},required:!0,get showCopy(){return e(W)},width:pe,get ref(){return e(ve)},set ref(i){s(ve,l(i))},get value(){return e(j)},set value(i){s(j,l(i))},get reportValidity(){return e(we)},set reportValidity(i){s(we,l(i))}});var d=o(H,2);Ve(d,{autocomplete:"new-password",get label(){return a.account.passwordConfirm},get placeholder(){return a.account.passwordConfirm},get maxLength(){return e(n).password_policy.length_max},required:!0,width:pe,get value(){return e(re)},set value(i){s(re,l(i))},get reportValidity(){return e(fe)},set reportValidity(i){s(fe,l(i))}});var _=o(d,2),M=w(_);E(M,{level:2,onclick:Qe,children:(i,V)=>{q();var L=N();b(()=>v(L,a.passwordReset.generate)),t(i,L)},$$slots:{default:!0}}),f(_);var D=o(_,2);E(D,{type:"submit",get isLoading(){return e(Z)},children:(i,V)=>{q();var L=N();b(()=>v(L,a.common.save)),t(i,L)},$$slots:{default:!0}}),t(y,S)},$$slots:{default:!0}})};g(p,m=>{e(n)&&m(F)})}t(r,c)},pe="20rem";let a=_r(),Ke=xr().get(),n=u(void 0),ue=u(void 0),ve=u(void 0),Z=u(!1),A=u(""),Q=Ar("type","password_reset"),O=u(""),ie=u(""),B=u(!1),me=u(!1),Y=u(void 0),ee=u(""),j=u(""),re=u(""),we=u(void 0),fe=u(void 0);ce(()=>{e(O)&&ge()}),ce(()=>{var r;(r=e(ue))==null||r.focus()}),ce(()=>{var r;(r=e(ve))==null||r.focus()}),ce(()=>{e(B)&&setTimeout(()=>{e(ie)?window.location.replace(e(ie)):Le()},5e3)});function Le(){window.location.replace("/auth/v1/account")}function Qe(){if(e(n)){let r=wr(e(n).password_policy);s(j,l(r)),s(re,l(r)),requestAnimationFrame(()=>{var c,p;(c=e(we))==null||c(),(p=e(fe))==null||p()})}}async function Be(){if(!e(n)){console.error("template data is undefined");return}if(s(A,""),e(ee).length<1){s(A,l(a.mfa.passkeyNameErr));return}let r=await Lr(e(n).user_id,e(ee),a.authorize.invalidKeyUsed,a.authorize.requestExpired);r.error?s(A,`${a.mfa.errorReg} - ${r.error}`):(ge(),s(B,!0))}async function Ge(){var r;if(s(A,""),!!e(me)){if(e(j)!==e(re)){s(A,l(a.passwordReset.passwordNoMatch));return}if(e(j).length>256){s(A,"max 256");return}(r=e(n))!=null&&r.needs_mfa?s(Y,"PasswordReset"):await Ce()}}async function Ce(r){var F;if(!e(n))return;s(Z,!0);const c={password:e(j),magic_link_id:e(n).magic_link_id,mfa_code:r};let p=await fetch(`/auth/v1/users/${e(n).user_id}/reset`,{method:"PUT",headers:{"content-type":"application/json","pwd-csrf-token":(F=e(n))==null?void 0:F.csrf_token},body:JSON.stringify(c)});if(p.ok)ge(),s(ie,l(p.headers.get("location")||"/auth/v1/account")),s(B,!0);else{const m=await p.json();s(A,l(m.message))}s(Z,!1)}function He(r){s(A,l(r)),s(Y,void 0)}function Xe(r){s(Y,void 0),r&&"code"in r?Ce(r.code):console.error("invalid webauthn response",r)}function ge(){s(A,""),s(ee,""),s(j,""),s(re,"")}var Pe=Vr();vr(r=>{var c=K(),p=h(c);{var F=y=>{var I=K(),S=h(I);{var G=W=>{b(()=>Ae.title=a.passwordReset.newAccount)},H=W=>{var d=K(),_=h(d);{var M=D=>{b(()=>Ae.title=a.passwordReset.passwordReset)};g(_,D=>{Q.get()==="password_reset"&&D(M)},!0)}t(W,d)};g(S,W=>{var d;(d=Q.get())!=null&&d.startsWith("new_user")?W(G):W(H,!1)})}t(y,I)},m=y=>{Ae.title="Password"};g(p,y=>{a?y(F):y(m,!1)})}t(r,c)});var qe=h(Pe);br(qe,{id:mr,get value(){return e(n)},set value(r){s(n,l(r))}});var Ne=o(qe,2);{var Ze=r=>{var c=qr(),p=o(w(c),2);E(p,{level:2,onclick:()=>Q.set("new_user"),children:(m,y)=>{q();var I=N("new_user");t(m,I)},$$slots:{default:!0}});var F=o(p,2);E(F,{level:2,onclick:()=>Q.set("password_reset"),children:(m,y)=>{q();var I=N("password_reset");t(m,I)},$$slots:{default:!0}}),f(c),t(r,c)};g(Ne,r=>{Ke&&r(Ze)})}var je=o(Ne,2);Rr(je,{children:(r,c)=>{kr(r,{children:(p,F)=>{var m=Sr(),y=h(m);{var I=d=>{hr(d,{get userId(){return e(n).user_id},get purpose(){return e(Y)},onSuccess:Xe,onError:He})};g(y,d=>{e(Y)&&e(n)&&d(I)})}var S=o(y,2);{var G=d=>{var _=Nr(),M=w(_),D=o(M,2),i=o(D,4),V=o(i),L=oe(()=>e(ie)||"/auth/v1/account");Te(V,{get href(){return e(L)},children:(he,Fe)=>{q();var $e=N("Account");t(he,$e)},$$slots:{default:!0}}),f(_),b(()=>{v(M,`${a.passwordReset.success1??""} `),v(D,` ${a.passwordReset.success2??""} `),v(i,` ${a.passwordReset.success3??""} `)}),t(d,_)},H=d=>{var _=K(),M=h(_);{var D=i=>{var V=Or(),L=w(V);{var he=C=>{var R=Dr(),T=h(R),ye=w(T,!0);f(T);var U=o(T,2),z=w(U,!0);f(U);var se=o(U,2),Ie=w(se),rr=o(Ie);Te(rr,{get href(){return a.passwordReset.fidoLink},target:"_blank",children:(k,P)=>{q();var x=N("FIDO Alliance");t(k,x)},$$slots:{default:!0}}),f(se);var _e=o(se,2),We=w(_e),sr=oe(()=>e(O)?3:1);E(We,{get level(){return e(sr)},onclick:()=>s(O,"passkey"),get isLoading(){return e(Z)},children:(k,P)=>{q();var x=N();b(()=>v(x,a.passwordReset.passwordless)),t(k,x)},$$slots:{default:!0}});var tr=o(We,2),ar=oe(()=>e(O)?3:2);E(tr,{get level(){return e(ar)},onclick:()=>s(O,"password"),get isLoading(){return e(Z)},children:(k,P)=>{q();var x=N();b(()=>v(x,a.passwordReset.password)),t(k,x)},$$slots:{default:!0}}),f(_e);var or=o(_e,2);{var ir=k=>{var P=jr(),x=w(P);xe(x),f(P),Oe(3,P,()=>Se),t(k,P)},nr=k=>{var P=K(),x=h(P);{var dr=Re=>{var ne=Wr(),De=w(ne);Ue(De,{action:"",onSubmit:Be,children:(te,de)=>{var X=Fr(),le=h(X);gr(le,{autocomplete:"off",get label(){return a.mfa.passkeyName},get placeholder(){return a.mfa.passkeyName},width:pe,maxLength:32,pattern:Cr,required:!0,get ref(){return e(ue)},set ref(J){s(ue,l(J))},get value(){return e(ee)},set value(J){s(ee,l(J))}});var ae=o(le,2),ke=oe(()=>e(B)?2:1);E(ae,{type:"submit",get level(){return e(ke)},children:(J,Me)=>{q();var be=N();b(()=>v(be,a.mfa.register)),t(J,be)},$$slots:{default:!0}}),t(te,X)},$$slots:{default:!0}});var lr=o(De,2);{var cr=te=>{var de=Ir(),X=w(de),le=w(X,!0);f(X);var ae=o(X,2),ke=w(ae,!0);f(ae);var J=o(ae,2);E(J,{onclick:Le,children:(Me,be)=>{q();var Ee=N();b(()=>v(Ee,a.passwordReset.accountLogin)),t(Me,Ee)},$$slots:{default:!0}}),f(de),b(()=>{v(le,a.passwordReset.successPasskey1),v(ke,a.passwordReset.successPasskey2)}),t(te,de)};g(lr,te=>{e(B)&&te(cr)})}f(ne),Oe(3,ne,()=>Se),t(Re,ne)};g(x,Re=>{e(O)==="passkey"&&Re(dr)},!0)}t(k,P)};g(or,k=>{e(O)==="password"?k(ir):k(nr,!1)})}b(()=>{v(ye,a.passwordReset.newAccount),v(z,a.passwordReset.newAccDesc1),v(Ie,`${a.passwordReset.newAccDesc2??""} `)}),t(C,R)},Fe=C=>{var R=K(),T=h(R);{var ye=U=>{var z=Mr(),se=o(h(z),2);xe(se),t(U,z)};g(T,U=>{var z;(z=Q.get())!=null&&z.startsWith("password_reset")&&U(ye)},!0)}t(C,R)};g(L,C=>{var R;(R=Q.get())!=null&&R.startsWith("new_user")?C(he):C(Fe,!1)})}var $e=o(L,2);{var er=C=>{var R=Er(),T=w(R,!0);f(R),b(()=>v(T,e(A))),t(C,R)};g($e,C=>{e(A)&&C(er)})}f(V),t(i,V)};g(M,i=>{e(n)&&i(D)},!0)}t(d,_)};g(S,d=>{e(B)?d(G):d(H,!1)})}var W=o(S,2);yr(W,{absolute:!0}),t(p,m)},$$slots:{default:!0}})},$$slots:{default:!0}});var Ye=o(je,2);$r(Ye,{absolute:!0}),t(ze,Pe),ur()}export{Tr as component}; diff --git a/static/v1/_app/immutable/nodes/31.Bbbk_Az9.js.br b/static/v1/_app/immutable/nodes/31.Bbbk_Az9.js.br deleted file mode 100644 index 54ce27a90..000000000 Binary files a/static/v1/_app/immutable/nodes/31.Bbbk_Az9.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/31.Bbbk_Az9.js.gz b/static/v1/_app/immutable/nodes/31.Bbbk_Az9.js.gz deleted file mode 100644 index 5398c20ee..000000000 Binary files a/static/v1/_app/immutable/nodes/31.Bbbk_Az9.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/31.BoMN_E6s.js b/static/v1/_app/immutable/nodes/31.BoMN_E6s.js new file mode 100644 index 000000000..1a6bf27bf --- /dev/null +++ b/static/v1/_app/immutable/nodes/31.BoMN_E6s.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{p as U,a4 as T,f as x,a as V,g as l,h as B,t as m,ap as W,s as a,i as C,c as n,r as u,aq as H}from"../chunks/index-client.DAoU_hDn.js";import{s as c}from"../chunks/render.mNhspeV3.js";import{i as X}from"../chunks/if.BANCODOf.js";import{a as p,t as S,d as z}from"../chunks/template.DcxtE4ym.js";import{h as Y}from"../chunks/svelte-head.CtCGS4lr.js";import{p as A}from"../chunks/proxy.D3ASEzk3.js";import{e as Z,t as F,u as K}from"../chunks/helpers.BV-akmwW.js";import{B as D}from"../chunks/Button.Cy8gcSM8.js";import{u as tt}from"../chunks/i18n.svelte.DUvAL5Pw.js";import{M as ot}from"../chunks/Main.B9oV9Is2.js";import{C as at}from"../chunks/ContentCenter.DlYnOTAE.js";import{T as rt,L as st}from"../chunks/LangSelector.BrxfVQ9N.js";import{T as it}from"../chunks/Template.g8euQA0a.js";import{u as h}from"../chunks/param.svelte.BFj7Iv3L.js";import{b as et}from"../chunks/fetch.m5EOWhre.js";import{u as lt}from"../chunks/is_dev.svelte.Ii9Cp3xd.js";var mt=S('

      ',1),nt=S(" ",1);function ut(E,G){U(G,!0);let t=tt(),_=C(!1),i=C(""),$=A({post_logout_redirect_uri:h("post_logout_redirect_uri").get(),id_token_hint:h("id_token_hint").get(),state:h("state").get()});T(()=>{l(i)&&Z(l(i))}),T(()=>{$.id_token_hint&&k()});async function w(){window.location.replace("/auth/v1")}async function k(){B(_,!0);let o="/auth/v1/oidc/logout";lt().get()&&(o="/auth/v1/dev/logout");let q=await et(o,$,"form");F();let r=q.headers.get("location");console.log("loc",r),r?window.location.replace(r):await w()}var b=nt();Y(o=>{m(()=>W.title=(t==null?void 0:t.logout.logout)||"Logout")});var L=x(b);it(L,{id:K,get value(){return l(i)},set value(o){B(i,A(o))}});var I=a(L,2);ot(I,{children:(o,q)=>{at(o,{children:(r,ct)=>{var j=mt(),v=x(j),f=n(v),J=n(f,!0);u(f);var d=a(f,2),N=n(d,!0);u(d);var g=a(d,2),y=n(g);D(y,{onclick:k,get isLoading(){return l(_)},children:(e,R)=>{H();var s=z();m(()=>c(s,t.logout.logout)),p(e,s)},$$slots:{default:!0}});var O=a(y,2);D(O,{level:3,onclick:w,children:(e,R)=>{H();var s=z();m(()=>c(s,t.common.cancel)),p(e,s)},$$slots:{default:!0}}),u(g);var P=a(g,2);X(P,e=>{}),u(v);var M=a(v,2);rt(M,{absolute:!0});var Q=a(M,2);st(Q,{absolute:!0}),m(()=>{c(J,t.logout.logout),c(N,t.logout.confirmMsg)}),p(r,j)},$$slots:{default:!0}})},$$slots:{default:!0}}),p(E,b),V()}export{ut as component}; diff --git a/static/v1/_app/immutable/nodes/31.BoMN_E6s.js.br b/static/v1/_app/immutable/nodes/31.BoMN_E6s.js.br new file mode 100644 index 000000000..e8f168a4b Binary files /dev/null and b/static/v1/_app/immutable/nodes/31.BoMN_E6s.js.br differ diff --git a/static/v1/_app/immutable/nodes/31.BoMN_E6s.js.gz b/static/v1/_app/immutable/nodes/31.BoMN_E6s.js.gz new file mode 100644 index 000000000..8b4470f72 Binary files /dev/null and b/static/v1/_app/immutable/nodes/31.BoMN_E6s.js.gz differ diff --git a/static/v1/_app/immutable/nodes/32.DgZ6HB4b.js b/static/v1/_app/immutable/nodes/32.DgZ6HB4b.js new file mode 100644 index 000000000..8dad0831d --- /dev/null +++ b/static/v1/_app/immutable/nodes/32.DgZ6HB4b.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{p as q,ao as z,s as S,f as m,a as A,h as r,g as c,i as p,F as J,ap as K,c as B,aq as N,r as I,t as O}from"../chunks/index-client.DAoU_hDn.js";import{s as Q}from"../chunks/render.mNhspeV3.js";import{i as _}from"../chunks/if.BANCODOf.js";import{a as i,t as x,e as C,d as V}from"../chunks/template.DcxtE4ym.js";import{h as X}from"../chunks/svelte-head.CtCGS4lr.js";import{p as f}from"../chunks/proxy.D3ASEzk3.js";import{I as Z,J as D}from"../chunks/helpers.BV-akmwW.js";import{W as ee}from"../chunks/WebauthnRequest.C4OO6VEa.js";import{s as oe}from"../chunks/snippet.DHnbbgSs.js";import{T as ae,L as re}from"../chunks/LangSelector.BrxfVQ9N.js";import{B as te}from"../chunks/Button.Cy8gcSM8.js";import{u as se}from"../chunks/i18n.svelte.DUvAL5Pw.js";import{u as H}from"../chunks/param.svelte.BFj7Iv3L.js";import{b as ie}from"../chunks/fetch.m5EOWhre.js";import{u as ne}from"../chunks/is_dev.svelte.Ii9Cp3xd.js";var ce=x("

      Cookies disabled

      You need to enable Cookies.
      Without them, a safe login cannot be executed.

      "),le=x(" ",1);function ue(P,L){q(L,!0);let T=p(!1),g=p(!1);z(()=>{r(g,f(navigator.cookieEnabled)),r(T,!0)});var t=le(),h=S(m(t),2);{var u=b=>{var W=C(),e=m(W);{var k=s=>{var n=C(),o=m(n);oe(o,()=>L.children??J),i(s,n)},l=s=>{var n=ce();i(s,n)};_(e,s=>{c(g)?s(k):s(l,!1)})}i(b,W)};_(h,b=>{c(T)&&b(u)})}i(P,t),A()}var ve=x('
      '),de=x('
      '),me=x(" ",1);function pe(P,L){q(L,!0);let T=se(),g=p(!1),t=p(""),h=p(void 0),u=p(void 0);z(async()=>{var w,F;let e=H("error").get();if(e){let a=H("error_description").get();r(t,`${e}: ${a}`);return}let k=H("state").get();if(!k){r(t,"'state' is missing in URL");return}let l=H("code").get();if(!l){r(t,"'code' is missing in URL");return}let s={state:k,code:l,pkce_verifier:Z(),xsrf_token:D()},n="/auth/v1/providers/callback";ne().get()&&(n="/auth/v1/dev/providers_callback");let o=await ie(n,s);if(o.status===202)window.location.replace(o.headers.get("location")||"/auth/v1/account");else if(o.status===200){r(t,"");let a=o.body;a&&"user_id"in a&&"code"in a?(r(h,f(a.user_id)),r(u,f({Login:a.code}))):console.error("did not receive a proper WebauthnLoginResponse after HTTP200")}else o.status===204?window.location.replace("/auth/v1/account"):o.status===403?r(t,f(((w=o.error)==null?void 0:w.message)||"HTTP 403 Forbidden")):o.status===406?(r(t,f(T.authorize.clientForceMfa)),r(g,!0)):r(t,`HTTP ${o.status}: ${(F=o.error)==null?void 0:F.message}`)});function b(e){r(t,f(e)),r(u,void 0)}function W(e){console.log("onWebauthnSuccess",e),e&&"loc"in e&&window.location.replace(e.loc)}X(e=>{K.title="Callback"}),ue(P,{children:(e,k)=>{var l=me(),s=m(l);{var n=a=>{ee(a,{get userId(){return c(h)},get purpose(){return c(u)},onSuccess:W,onError:b})},o=a=>{var U=C(),M=m(U);{var Y=v=>{var d=ve(),R=B(d);te(R,{onclick:()=>window.location.href="/auth/v1/account",children:(E,y)=>{N();var $=V("Account");i(E,$)},$$slots:{default:!0}}),I(d),i(v,d)},j=v=>{var d=C(),R=m(d);{var E=y=>{var $=de(),G=B($,!0);I($),O(()=>Q(G,c(t))),i(y,$)};_(R,y=>{c(t)&&y(E)},!0)}i(v,d)};_(M,v=>{c(g)?v(Y):v(j,!1)},!0)}i(a,U)};_(s,a=>{c(u)&&c(h)?a(n):a(o,!1)})}var w=S(s,2);ae(w,{absolute:!0});var F=S(w,2);re(F,{absolute:!0}),i(e,l)},$$slots:{default:!0}}),A()}export{pe as component}; diff --git a/static/v1/_app/immutable/nodes/32.DgZ6HB4b.js.br b/static/v1/_app/immutable/nodes/32.DgZ6HB4b.js.br new file mode 100644 index 000000000..bdf8146d5 Binary files /dev/null and b/static/v1/_app/immutable/nodes/32.DgZ6HB4b.js.br differ diff --git a/static/v1/_app/immutable/nodes/32.DgZ6HB4b.js.gz b/static/v1/_app/immutable/nodes/32.DgZ6HB4b.js.gz new file mode 100644 index 000000000..baeef11f5 Binary files /dev/null and b/static/v1/_app/immutable/nodes/32.DgZ6HB4b.js.gz differ diff --git a/static/v1/_app/immutable/nodes/33.CB7fFcmA.js b/static/v1/_app/immutable/nodes/33.CB7fFcmA.js new file mode 100644 index 000000000..490804c0e --- /dev/null +++ b/static/v1/_app/immutable/nodes/33.CB7fFcmA.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{p as ne,f as E,a as ce,t as c,ap as ue,g as i,h as s,s as r,i as I,a9 as ve,c as u,r as v,aq as de}from"../chunks/index-client.DAoU_hDn.js";import{s as m}from"../chunks/render.mNhspeV3.js";import{i as M}from"../chunks/if.BANCODOf.js";import{a as o,t as d,d as ge,e as pe}from"../chunks/template.DcxtE4ym.js";import{h as fe}from"../chunks/svelte-head.CtCGS4lr.js";import{r as he,a as be}from"../chunks/class.DWa3OhYO.js";import{p as B}from"../chunks/proxy.D3ASEzk3.js";import{B as _e}from"../chunks/Button.Cy8gcSM8.js";import{v as $e}from"../chunks/helpers.BV-akmwW.js";import{I as D}from"../chunks/Input.DSR5bYkF.js";import{T as we,L as ye}from"../chunks/LangSelector.BrxfVQ9N.js";import{M as Ne}from"../chunks/Main.B9oV9Is2.js";import{C as Te}from"../chunks/ContentCenter.DlYnOTAE.js";import{u as Ee}from"../chunks/i18n.svelte.DUvAL5Pw.js";import{T as qe}from"../chunks/Template.g8euQA0a.js";import{u as Ce}from"../chunks/param.svelte.BFj7Iv3L.js";import{F as Ie}from"../chunks/Form.gnacPhba.js";import{u as Me}from"../chunks/is_dev.svelte.Ii9Cp3xd.js";import{a as K}from"../chunks/patterns.BdncpE46.js";import{b as Re}from"../chunks/fetch.m5EOWhre.js";var xe=d("
      ",1),Ae=d(''),Le=d('

      '),Pe=d('
      '),Se=d('
      ',1),Ue=d('

      ',1),ke=d(" ",1);function Be(O,V){ne(V,!0);let e=Ee(),X=Me(),g=I(""),F=Ce("redirect_uri"),R=I(!1),l=I(""),x=I(!1),Y=ve(()=>X.get()?"/auth/v1/dev/register":"/auth/v1/users/register");async function Z(p,f){s(x,!1),s(l,"");let $=f.get("email"),A=f.get("given_name"),w=f.get("pow");if(!$||!A||!w){console.error("email, given_name, pow missing");return}if(i(g)&&!$.endsWith(i(g))){s(l,B(e.register.domainErr));return}let h={email:$,given_name:A,family_name:f.get("family_name")||void 0,pow:w,redirect_uri:f.get("redirect_uri")||void 0};s(R,!0);const b=await Re(p.action,h);if(b.error){let _=b.error.message||"Error";_.includes("UNIQUE constraint")?s(l,"E-Mail is already registered"):s(l,B(_))}else s(l,""),s(x,!0),setTimeout(()=>{window.location.replace(h.redirect_uri||"/auth/v1/account")},3e3);s(R,!1)}var Q=ke();fe(p=>{c(()=>ue.title=(e==null?void 0:e.register)||"Register")});var W=E(Q);qe(W,{id:$e,get value(){return i(g)},set value(p){s(g,B(p))}});var H=r(W,2);Ne(H,{children:(p,f)=>{Te(p,{children:($,A)=>{var w=Ue(),h=E(w),b=u(h),_=u(b),J=u(_,!0);v(_);var ee=r(_,2);{var re=y=>{var L=xe(),N=E(L,!0),T=r(N,2),q=r(T),C=u(q);v(q),c(()=>{m(N,e.register.domainRestricted),m(T,` ${e.register.domainAllowed??""} `),m(C,`@${i(g)??""}`)}),o(y,L)};M(ee,y=>{i(g)&&y(re)})}v(b);var ae=r(b,2);Ie(ae,{get action(){return i(Y)},onSubmit:Z,withPowAs:"pow",children:(y,L)=>{var N=Se(),T=E(N);{var q=a=>{var t=Ae();he(t),c(()=>be(t,F.get())),o(a,t)};M(T,a=>{F.get()&&a(q)})}var C=r(T,2);D(C,{typ:"email",name:"email",autocomplete:"email",get label(){return e.common.email},get placeholder(){return e.common.email},required:!0});var z=r(C,2);D(z,{name:"given_name",autocomplete:"given-name",get label(){return e.account.givenName},get placeholder(){return e.account.givenName},pattern:K,required:!0});var G=r(z,2);D(G,{name:"family_name",autocomplete:"family-name",get label(){return e.account.familyName},get placeholder(){return e.account.familyName},pattern:K});var P=r(G,2),ie=u(P);_e(ie,{type:"submit",get isLoading(){return i(R)},children:(a,t)=>{de();var n=ge();c(()=>m(n,e.register.register)),o(a,n)},$$slots:{default:!0}}),v(P);var se=r(P,2);{var oe=a=>{var t=Le(),n=u(t,!0),S=r(n,2);v(t),c(()=>{m(n,e.register.success),m(S,` ${e.register.emailCheck??""}`)}),o(a,t)},me=a=>{var t=pe(),n=E(t);{var S=U=>{var k=Pe(),le=u(k,!0);v(k),c(()=>m(le,i(l))),o(U,k)};M(n,U=>{i(l)&&U(S)},!0)}o(a,t)};M(se,a=>{i(x)?a(oe):a(me,!1)})}o(y,N)},$$slots:{default:!0}}),v(h);var j=r(h,2);we(j,{absolute:!0});var te=r(j,2);ye(te,{absolute:!0}),c(()=>m(J,e.register.userReg)),o($,w)},$$slots:{default:!0}})},$$slots:{default:!0}}),o(O,Q),ce()}export{Be as component}; diff --git a/static/v1/_app/immutable/nodes/33.CB7fFcmA.js.br b/static/v1/_app/immutable/nodes/33.CB7fFcmA.js.br new file mode 100644 index 000000000..d7f4b9de3 Binary files /dev/null and b/static/v1/_app/immutable/nodes/33.CB7fFcmA.js.br differ diff --git a/static/v1/_app/immutable/nodes/33.CB7fFcmA.js.gz b/static/v1/_app/immutable/nodes/33.CB7fFcmA.js.gz new file mode 100644 index 000000000..ffd8d3190 Binary files /dev/null and b/static/v1/_app/immutable/nodes/33.CB7fFcmA.js.gz differ diff --git a/static/v1/_app/immutable/nodes/34.Cxwt7RUg.js b/static/v1/_app/immutable/nodes/34.Cxwt7RUg.js new file mode 100644 index 000000000..c9640c091 --- /dev/null +++ b/static/v1/_app/immutable/nodes/34.Cxwt7RUg.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{p as S,f as q,a as U,t as g,ap as V,g as i,h as z,s as a,i as B,c as t,r,aq as W}from"../chunks/index-client.DAoU_hDn.js";import{s}from"../chunks/render.mNhspeV3.js";import{a as c,t as E,d as X}from"../chunks/template.DcxtE4ym.js";import{h as Y}from"../chunks/svelte-head.CtCGS4lr.js";import{p as j}from"../chunks/proxy.D3ASEzk3.js";import{T as Z,L as _}from"../chunks/LangSelector.BrxfVQ9N.js";import{B as F}from"../chunks/Button.Cy8gcSM8.js";import{M as N}from"../chunks/Main.B9oV9Is2.js";import{C as O}from"../chunks/ContentCenter.DlYnOTAE.js";import{u as aa}from"../chunks/i18n.svelte.DUvAL5Pw.js";import{T as k}from"../chunks/Template.g8euQA0a.js";import{w as ta,x as ra}from"../chunks/helpers.BV-akmwW.js";var sa=E('


      ',1),ea=E(" ",1);function oa(y,A){S(A,!0);let e=aa(),l=B("old@mail.org"),m=B("new@mail.org");var d=ea();Y(o=>{g(()=>V.title=e.emailChange.title||"E-Mail Change Confirm")});var h=q(d);k(h,{id:ta,get value(){return i(l)},set value(o){z(l,j(o))}});var b=a(h,2);k(b,{id:ra,get value(){return i(m)},set value(o){z(m,j(o))}});var D=a(b,2);N(D,{children:(o,ia)=>{O(o,{children:(G,la)=>{var C=sa(),n=q(C),p=t(n),H=t(p,!0);r(p);var v=a(p,2),w=t(v),u=a(w,3),I=t(u,!0);r(u);var $=a(u),x=a($),J=t(x,!0);r(x),r(v);var f=a(v,2),K=t(f,!0);r(f);var L=a(f,2),P=t(L);F(P,{onclick:()=>window.location.replace("/auth/v1/account"),children:(R,ma)=>{W();var T=X();g(()=>s(T,e.authorize.login)),c(R,T)},$$slots:{default:!0}}),r(L),r(n);var M=a(n,2);Z(M,{absolute:!0});var Q=a(M,2);_(Q,{absolute:!0}),g(()=>{s(H,e.emailChange.title),s(w,`${e.emailChange.textChanged??""}:`),s(I,i(l)),s($,` ${e.emailChange.to??""} `),s(J,i(m)),s(K,e.emailChange.textLogin)}),c(G,C)},$$slots:{default:!0}})},$$slots:{default:!0}}),c(y,d),U()}export{oa as component}; diff --git a/static/v1/_app/immutable/nodes/34.Cxwt7RUg.js.br b/static/v1/_app/immutable/nodes/34.Cxwt7RUg.js.br new file mode 100644 index 000000000..a1b2daabb Binary files /dev/null and b/static/v1/_app/immutable/nodes/34.Cxwt7RUg.js.br differ diff --git a/static/v1/_app/immutable/nodes/34.Cxwt7RUg.js.gz b/static/v1/_app/immutable/nodes/34.Cxwt7RUg.js.gz new file mode 100644 index 000000000..877e46379 Binary files /dev/null and b/static/v1/_app/immutable/nodes/34.Cxwt7RUg.js.gz differ diff --git a/static/v1/_app/immutable/nodes/35.uxMBBfT4.js b/static/v1/_app/immutable/nodes/35.uxMBBfT4.js new file mode 100644 index 000000000..32700a17e --- /dev/null +++ b/static/v1/_app/immutable/nodes/35.uxMBBfT4.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{p as pr,a4 as ce,f as h,a as ur,g as e,h as s,t as k,ap as Ae,s as o,i as u,c as w,aq as N,r as f,a9 as oe}from"../chunks/index-client.DAoU_hDn.js";import{s as v}from"../chunks/render.mNhspeV3.js";import{i as g}from"../chunks/if.BANCODOf.js";import{a as t,t as $,e as O,d as j}from"../chunks/template.DcxtE4ym.js";import{h as vr}from"../chunks/svelte-head.CtCGS4lr.js";import{t as Se,a as Ve}from"../chunks/index.DER1jHiU.js";import{p as l}from"../chunks/proxy.D3ASEzk3.js";import{y as mr,z as wr}from"../chunks/helpers.BV-akmwW.js";import{B as P}from"../chunks/Button.Cy8gcSM8.js";import{P as fr}from"../chunks/PasswordPolicy.DAaeophg.js";import{I as gr}from"../chunks/Input.DSR5bYkF.js";import{W as hr}from"../chunks/WebauthnRequest.C4OO6VEa.js";import{L as $r,T as yr}from"../chunks/LangSelector.BrxfVQ9N.js";import{u as _r}from"../chunks/i18n.svelte.DUvAL5Pw.js";import{M as br}from"../chunks/Main.B9oV9Is2.js";import{C as Rr}from"../chunks/ContentCenter.DlYnOTAE.js";import{T as kr}from"../chunks/Template.g8euQA0a.js";import{u as Ar}from"../chunks/param.svelte.BFj7Iv3L.js";import{I as Te}from"../chunks/InputPassword.nPyam57A.js";import{A as Ue}from"../chunks/A.CPSniiiu.js";import{u as xr}from"../chunks/is_dev.svelte.Ii9Cp3xd.js";import{w as Lr}from"../chunks/registration.DEN_CA7Z.js";import{F as ze}from"../chunks/Form.gnacPhba.js";import{a as qr}from"../chunks/patterns.BdncpE46.js";var Cr=$('
      ',1),Nr=$('

      This window shows up during local dev,
      only to be able to switch modes easily.

      '),jr=$("




      "),Ir=$("
      "),Wr=$(" ",1),Dr=$('

      '),Fr=$("
      "),Mr=$('

      ',1),Er=$("

      Password Reset

      ",1),Pr=$('
      '),Sr=$('
      '),Vr=$(" ",1),Tr=$(" ",1);function Ur(Je,Ke){pr(Ke,!0);const xe=r=>{var c=O(),p=h(c);{var W=m=>{ze(m,{action:"",onSubmit:Ge,children:(y,D)=>{var V=Cr(),G=h(V);fr(G,{get policy(){return e(n).password_policy},get password(){return e(I)},get accepted(){return e(me)},set accepted(i){s(me,l(i))}});var H=o(G,2),F=oe(()=>e(I).length>=e(n).password_policy.length_min);Te(H,{autocomplete:"new-password",get label(){return a.account.passwordNew},get placeholder(){return a.account.passwordNew},get maxLength(){return e(n).password_policy.length_max},required:!0,get showCopy(){return e(F)},width:pe,get ref(){return e(ve)},set ref(i){s(ve,l(i))},get value(){return e(I)},set value(i){s(I,l(i))},get reportValidity(){return e(we)},set reportValidity(i){s(we,l(i))}});var d=o(H,2);Te(d,{autocomplete:"new-password",get label(){return a.account.passwordConfirm},get placeholder(){return a.account.passwordConfirm},get maxLength(){return e(n).password_policy.length_max},required:!0,width:pe,get value(){return e(re)},set value(i){s(re,l(i))},get reportValidity(){return e(fe)},set reportValidity(i){s(fe,l(i))}});var _=o(d,2),E=w(_);P(E,{level:2,onclick:Qe,children:(i,T)=>{N();var L=j();k(()=>v(L,a.passwordReset.generate)),t(i,L)},$$slots:{default:!0}}),f(_);var M=o(_,2);P(M,{type:"submit",get isLoading(){return e(Z)},children:(i,T)=>{N();var L=j();k(()=>v(L,a.common.save)),t(i,L)},$$slots:{default:!0}}),t(y,V)},$$slots:{default:!0}})};g(p,m=>{e(n)&&m(W)})}t(r,c)},pe="20rem";let a=_r(),Oe=xr().get(),n=u(void 0),ue=u(void 0),ve=u(void 0),Z=u(!1),A=u(""),Q=Ar("type","password_reset"),S=u(""),ie=u(""),B=u(!1),me=u(!1),Y=u(void 0),ee=u(""),I=u(""),re=u(""),we=u(void 0),fe=u(void 0);ce(()=>{e(S)&&ge()}),ce(()=>{var r;(r=e(ue))==null||r.focus()}),ce(()=>{var r;(r=e(ve))==null||r.focus()}),ce(()=>{e(B)&&setTimeout(()=>{e(ie)?window.location.replace(e(ie)):Le()},5e3)});function Le(){window.location.replace("/auth/v1/account")}function Qe(){if(e(n)){let r=wr(e(n).password_policy);s(I,l(r)),s(re,l(r)),requestAnimationFrame(()=>{var c,p;(c=e(we))==null||c(),(p=e(fe))==null||p()})}}async function Be(){if(!e(n)){console.error("template data is undefined");return}if(s(A,""),e(ee).length<1){s(A,l(a.mfa.passkeyNameErr));return}let r=await Lr(e(n).user_id,e(ee),a.authorize.invalidKeyUsed,a.authorize.requestExpired);r.error?s(A,`${a.mfa.errorReg} - ${r.error}`):(ge(),s(B,!0))}async function Ge(){var r;if(s(A,""),!!e(me)){if(e(I)!==e(re)){s(A,l(a.passwordReset.passwordNoMatch));return}if(e(I).length>256){s(A,"max 256");return}(r=e(n))!=null&&r.needs_mfa?s(Y,"PasswordReset"):await qe()}}async function qe(r){var W;if(!e(n))return;s(Z,!0);const c={password:e(I),magic_link_id:e(n).magic_link_id,mfa_code:r};let p=await fetch(`/auth/v1/users/${e(n).user_id}/reset`,{method:"PUT",headers:{"content-type":"application/json","pwd-csrf-token":(W=e(n))==null?void 0:W.csrf_token},body:JSON.stringify(c)});if(p.ok)ge(),s(ie,l(p.headers.get("location")||"/auth/v1/account")),s(B,!0);else{const m=await p.json();s(A,l(m.message))}s(Z,!1)}function He(r){s(A,l(r)),s(Y,void 0)}function Xe(r){s(Y,void 0),r&&"code"in r?qe(r.code):console.error("invalid webauthn response",r)}function ge(){s(A,""),s(ee,""),s(I,""),s(re,"")}var Ce=Tr();vr(r=>{var c=O(),p=h(c);{var W=y=>{var D=O(),V=h(D);{var G=F=>{k(()=>Ae.title=a.passwordReset.newAccount)},H=F=>{var d=O(),_=h(d);{var E=M=>{k(()=>Ae.title=a.passwordReset.passwordReset)};g(_,M=>{Q.get()==="password_reset"&&M(E)},!0)}t(F,d)};g(V,F=>{var d;(d=Q.get())!=null&&d.startsWith("new_user")?F(G):F(H,!1)})}t(y,D)},m=y=>{Ae.title="Password"};g(p,y=>{a?y(W):y(m,!1)})}t(r,c)});var Ne=h(Ce);kr(Ne,{id:mr,get value(){return e(n)},set value(r){s(n,l(r))}});var je=o(Ne,2);{var Ze=r=>{var c=Nr(),p=o(w(c),2);P(p,{level:2,onclick:()=>Q.set("new_user"),children:(m,y)=>{N();var D=j("new_user");t(m,D)},$$slots:{default:!0}});var W=o(p,2);P(W,{level:2,onclick:()=>Q.set("password_reset"),children:(m,y)=>{N();var D=j("password_reset");t(m,D)},$$slots:{default:!0}}),f(c),t(r,c)};g(je,r=>{Oe&&r(Ze)})}var Ie=o(je,2);br(Ie,{children:(r,c)=>{Rr(r,{children:(p,W)=>{var m=Vr(),y=h(m);{var D=d=>{hr(d,{get userId(){return e(n).user_id},get purpose(){return e(Y)},onSuccess:Xe,onError:He})};g(y,d=>{e(Y)&&e(n)&&d(D)})}var V=o(y,2);{var G=d=>{var _=jr(),E=w(_),M=o(E,2),i=o(M,4),T=o(i),L=oe(()=>e(ie)||"/auth/v1/account");Ue(T,{get href(){return e(L)},children:(he,We)=>{N();var $e=j("Account");t(he,$e)},$$slots:{default:!0}}),f(_),k(()=>{v(E,`${a.passwordReset.success1??""} `),v(M,` ${a.passwordReset.success2??""} `),v(i,` ${a.passwordReset.success3??""} `)}),t(d,_)},H=d=>{var _=O(),E=h(_);{var M=i=>{var T=Sr(),L=w(T);{var he=q=>{var b=Mr(),U=h(b),ye=w(U,!0);f(U);var z=o(U,2),J=w(z,!0);f(z);var se=o(z,2),De=w(se),rr=o(De);Ue(rr,{get href(){return a.passwordReset.fidoLink},target:"_blank",children:(R,C)=>{N();var x=j("FIDO Alliance");t(R,x)},$$slots:{default:!0}}),f(se);var _e=o(se,2),Fe=w(_e),sr=oe(()=>e(S)?3:1);P(Fe,{get level(){return e(sr)},onclick:()=>s(S,"passkey"),get isLoading(){return e(Z)},children:(R,C)=>{N();var x=j();k(()=>v(x,a.passwordReset.passwordless)),t(R,x)},$$slots:{default:!0}});var tr=o(Fe,2),ar=oe(()=>e(S)?3:2);P(tr,{get level(){return e(ar)},onclick:()=>s(S,"password"),get isLoading(){return e(Z)},children:(R,C)=>{N();var x=j();k(()=>v(x,a.passwordReset.password)),t(R,x)},$$slots:{default:!0}}),f(_e);var or=o(_e,2);{var ir=R=>{var C=Ir(),x=w(C);xe(x),f(C),Se(3,C,()=>Ve),t(R,C)},nr=R=>{var C=O(),x=h(C);{var dr=be=>{var ne=Fr(),Me=w(ne);ze(Me,{action:"",onSubmit:Be,children:(te,de)=>{var X=Wr(),le=h(X);gr(le,{autocomplete:"off",get label(){return a.mfa.passkeyName},get placeholder(){return a.mfa.passkeyName},width:pe,maxLength:32,pattern:qr,required:!0,get ref(){return e(ue)},set ref(K){s(ue,l(K))},get value(){return e(ee)},set value(K){s(ee,l(K))}});var ae=o(le,2),Re=oe(()=>e(B)?2:1);P(ae,{type:"submit",get level(){return e(Re)},children:(K,Ee)=>{N();var ke=j();k(()=>v(ke,a.mfa.register)),t(K,ke)},$$slots:{default:!0}}),t(te,X)},$$slots:{default:!0}});var lr=o(Me,2);{var cr=te=>{var de=Dr(),X=w(de),le=w(X,!0);f(X);var ae=o(X,2),Re=w(ae,!0);f(ae);var K=o(ae,2);P(K,{onclick:Le,children:(Ee,ke)=>{N();var Pe=j();k(()=>v(Pe,a.passwordReset.accountLogin)),t(Ee,Pe)},$$slots:{default:!0}}),f(de),k(()=>{v(le,a.passwordReset.successPasskey1),v(Re,a.passwordReset.successPasskey2)}),t(te,de)};g(lr,te=>{e(B)&&te(cr)})}f(ne),Se(3,ne,()=>Ve),t(be,ne)};g(x,be=>{e(S)==="passkey"&&be(dr)},!0)}t(R,C)};g(or,R=>{e(S)==="password"?R(ir):R(nr,!1)})}k(()=>{v(ye,a.passwordReset.newAccount),v(J,a.passwordReset.newAccDesc1),v(De,`${a.passwordReset.newAccDesc2??""} `)}),t(q,b)},We=q=>{var b=O(),U=h(b);{var ye=z=>{var J=Er(),se=o(h(J),2);xe(se),t(z,J)};g(U,z=>{var J;(J=Q.get())!=null&&J.startsWith("password_reset")&&z(ye)},!0)}t(q,b)};g(L,q=>{var b;(b=Q.get())!=null&&b.startsWith("new_user")?q(he):q(We,!1)})}var $e=o(L,2);{var er=q=>{var b=Pr(),U=w(b,!0);f(b),k(()=>v(U,e(A))),t(q,b)};g($e,q=>{e(A)&&q(er)})}f(T),t(i,T)};g(E,i=>{e(n)&&i(M)},!0)}t(d,_)};g(V,d=>{e(B)?d(G):d(H,!1)})}var F=o(V,2);yr(F,{absolute:!0}),t(p,m)},$$slots:{default:!0}})},$$slots:{default:!0}});var Ye=o(Ie,2);$r(Ye,{absolute:!0}),t(Je,Ce),ur()}export{Ur as component}; diff --git a/static/v1/_app/immutable/nodes/35.uxMBBfT4.js.br b/static/v1/_app/immutable/nodes/35.uxMBBfT4.js.br new file mode 100644 index 000000000..cc1c6cc9b Binary files /dev/null and b/static/v1/_app/immutable/nodes/35.uxMBBfT4.js.br differ diff --git a/static/v1/_app/immutable/nodes/35.uxMBBfT4.js.gz b/static/v1/_app/immutable/nodes/35.uxMBBfT4.js.gz new file mode 100644 index 000000000..d995bb3b0 Binary files /dev/null and b/static/v1/_app/immutable/nodes/35.uxMBBfT4.js.gz differ diff --git a/static/v1/_app/immutable/nodes/4.BDK6qLgp.js b/static/v1/_app/immutable/nodes/4.BDK6qLgp.js new file mode 100644 index 000000000..f51b5278d --- /dev/null +++ b/static/v1/_app/immutable/nodes/4.BDK6qLgp.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{p as G,f as T,a as H,ap as J,g as j,h as K,s as o,t as f,i as N,c as O,aq as c,r as P}from"../chunks/index-client.DAoU_hDn.js";import{s as d}from"../chunks/render.mNhspeV3.js";import{i as Q}from"../chunks/if.BANCODOf.js";import{a as r,t as v,d as u}from"../chunks/template.DcxtE4ym.js";import{h as R}from"../chunks/svelte-head.CtCGS4lr.js";import{p as S}from"../chunks/proxy.D3ASEzk3.js";import{B as p}from"../chunks/Button.Cy8gcSM8.js";import{M as U}from"../chunks/Main.B9oV9Is2.js";import{C as V}from"../chunks/ContentCenter.DlYnOTAE.js";import{u as W}from"../chunks/i18n.svelte.DUvAL5Pw.js";import{T as X}from"../chunks/Template.g8euQA0a.js";import{j as Y}from"../chunks/helpers.BV-akmwW.js";import{T as Z,L as E}from"../chunks/LangSelector.BrxfVQ9N.js";var I=v('
      '),aa=v(" ",1),ta=v(" ",1);function ra(q,y){G(y,!0);const i="9rem";let e=W(),n=N(!1);function B(){window.location.href="/auth/v1/admin"}function C(){window.location.href="/auth/v1/account"}function M(){window.location.href="/auth/v1/users/register"}var h=ta();R(s=>{J.title="Rauthy"});var $=T(h);X($,{id:Y,get value(){return j(n)},set value(s){K(n,S(s))}});var _=o($,2);U(_,{children:(s,oa)=>{var w=aa(),g=T(w);V(g,{children:(A,sa)=>{var l=I(),x=O(l);p(x,{onclick:C,width:i,children:(a,m)=>{c();var t=u();f(()=>d(t,e.index.accountLogin)),r(a,t)},$$slots:{default:!0}});var L=o(x,2);{var D=a=>{p(a,{level:2,onclick:M,width:i,children:(m,t)=>{c();var k=u();f(()=>d(k,e.index.register)),r(m,k)},$$slots:{default:!0}})};Q(L,a=>{j(n)&&a(D)})}var F=o(L,2);p(F,{level:3,onclick:B,width:i,children:(a,m)=>{c();var t=u();f(()=>d(t,e.index.adminLogin)),r(a,t)},$$slots:{default:!0}}),P(l),r(A,l)},$$slots:{default:!0}});var b=o(g,2);Z(b,{absolute:!0});var z=o(b,2);E(z,{absolute:!0}),r(s,w)},$$slots:{default:!0}}),r(q,h),H()}export{ra as component}; diff --git a/static/v1/_app/immutable/nodes/4.BDK6qLgp.js.br b/static/v1/_app/immutable/nodes/4.BDK6qLgp.js.br new file mode 100644 index 000000000..c6731ee3b Binary files /dev/null and b/static/v1/_app/immutable/nodes/4.BDK6qLgp.js.br differ diff --git a/static/v1/_app/immutable/nodes/4.BDK6qLgp.js.gz b/static/v1/_app/immutable/nodes/4.BDK6qLgp.js.gz new file mode 100644 index 000000000..7c574e969 Binary files /dev/null and b/static/v1/_app/immutable/nodes/4.BDK6qLgp.js.gz differ diff --git a/static/v1/_app/immutable/nodes/4.Czm7YwSo.js b/static/v1/_app/immutable/nodes/4.Czm7YwSo.js deleted file mode 100644 index 0c8fa73c5..000000000 --- a/static/v1/_app/immutable/nodes/4.Czm7YwSo.js +++ /dev/null @@ -1,2 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import{t as k,f as X,p as ze,F as Fe,c as r,s as n,r as t,a as Le,g as e,O as ye,ap as we,i as S,h as l,$ as et}from"../chunks/runtime.BsghBUX9.js";import{h as at}from"../chunks/svelte-head.cS_wx7Ri.js";import{a as v,n as xa,e as me,t as I,d as ke}from"../chunks/template.jENAUvUX.js";import{i as x}from"../chunks/if.6Ov_EDLa.js";import{p as q}from"../chunks/proxy.YH42NwLs.js";import{d as pa,e as oa,s as d,k as tt}from"../chunks/render.CTp9lacC.js";import{a as rt}from"../chunks/window.DDH7z8ZH.js";import{p as R}from"../chunks/props.CslUVmW_.js";import{o as na}from"../chunks/index-client.ClP8y9aT.js";import{j as Je,a9 as ma,_ as st,P as ot,G as nt,y as it,u as vt,aa as lt,B as ct,r as dt}from"../chunks/helpers.CBl6QeM5.js";import{e as fa,i as ut}from"../chunks/each.URXtkKAp.js";import{h as qa}from"../chunks/html.BSubRRdz.js";import{s as ne,g as Z,h as ee,b as Se,f as Ge,t as ga,a as Ye,d as pt,c as Ma}from"../chunks/index.G5lyZbma.js";import{I as Ca}from"../chunks/IconStop.OvZMk6DH.js";import{B as _e,d as mt,b as za,c as La,f as ea}from"../chunks/fetch.BvIeF4JA.js";import{s as Pa}from"../chunks/snippet.C6jUNrz1.js";import{b as Aa}from"../chunks/this.BynWoD8c.js";import{u as We}from"../chunks/i18n.svelte.D8rR00qK.js";import{B as ft}from"../chunks/ButtonAuthProvider.sE1ylnOp.js";import{I as Te}from"../chunks/Input.luLa8YQi.js";import{F as gt}from"../chunks/Form.ry95iany.js";import{a as ha,c as ht,d as Da,e as wt}from"../chunks/patterns.BdncpE46.js";import{I as bt}from"../chunks/InputDateTimeCombo.CadHmiR0.js";import{w as yt,j as kt,k as _t}from"../chunks/dataFetching.B7RPH17f.js";import{u as Wa}from"../chunks/session.svelte.DJ5oIUdF.js";import{w as $t}from"../chunks/registration.CcD5s1by.js";import{W as Ta}from"../chunks/WebauthnRequest.M9ddrbaa.js";import{T as It}from"../chunks/Tooltip.CkN4jj6Y.js";import{P as xt}from"../chunks/PasswordPolicy.B5Y9P_Yk.js";import{I as wa}from"../chunks/InputPassword.DfsGFINf.js";import{C as qt}from"../chunks/CheckIcon.CMbYrOAg.js";import{a as Mt,b as Ct}from"../chunks/input.D13BG9DA.js";import{A as zt}from"../chunks/A.BmPHpmKq.js";import"../chunks/legacy.Dn68_YLB.js";import{D as Na}from"../chunks/Devices.BNRk75kF.js";import{T as Lt}from"../chunks/Template.ZFmGCuZr.js";import{u as Pt}from"../chunks/param.svelte.BhHpzHur.js";import{M as At}from"../chunks/Main.DdVUe3_l.js";import{C as Dt}from"../chunks/ContentCenter.1a7TMW4_.js";import{T as Wt,L as Tt}from"../chunks/LangSelector.TD0HCe5U.js";var Nt=xa('');function ia(W,o){let a=R(o,"opacity",3,.9),s=R(o,"width",3,"1.5rem"),$=R(o,"color",3,"hsl(var(--action))");var i=Nt();ne(i,"stroke-width",2),k(()=>{ne(i,"width",s()),ne(i,"color",$()),ne(i,"opacity",a())}),v(W,i)}function ba(W,o){var a=me(),s=X(a);{var $=h=>{ia(h,{color:"hsl(var(--action))"})},i=h=>{Ca(h,{color:"hsl(var(--error))"})};x(s,h=>{o.checked?h($):h(i,!1)})}v(W,a)}function Et(W,o,a){o()||a()}function Bt(W){W.stopPropagation()}var St=I(''),Rt=I('
      '),Ft=I('
      ');function Ut(W,o){ze(o,!0);let a=R(o,"showModal",15),s=R(o,"closeModal",15),$=R(o,"strict",3,!1),i=R(o,"prerender",3,!1),h=We(),f;Fe(()=>{s(c)}),Fe(()=>{a()&&(f==null||f.showModal())});function c(L){L==null||L.preventDefault(),f==null||f.close(),a(!1)}var g=Ft();g.__click=[Et,$,c];var u=r(g);u.__click=[Bt];var B=r(u);{var T=L=>{var Q=Rt(),M=r(Q),C=r(M);_e(C,{get ariaLabel(){return h.common.close},invisible:!0,onclick:c,children:(N,b)=>{var re=St(),Y=r(re);Ca(Y,{color:"currentColor",width:"1.2rem"}),t(re),v(N,re)},$$slots:{default:!0}}),t(M),t(Q),v(L,Q)};x(B,L=>{$()||L(T)})}var A=n(B,2);{var j=L=>{var Q=me(),M=X(Q);Pa(M,()=>o.children),v(L,Q)};x(A,L=>{(i()||a())&&L(j)})}t(u),t(g),Aa(g,L=>f=L,()=>f),k(()=>ne(g,"data-strict",$())),oa("close",g,()=>{var L;a(!1),(L=o.onClose)==null||L.call(o)}),v(W,g),Le()}pa(["click"]);var Vt=I(''),jt=I('
      '),Kt=I('

      ',1),Jt=I(" ",1),Gt=I('
      '),Yt=I('
      '),Ot=I('
      WebID:
      '),Ht=I('
      ');function Ea(W,o){ze(o,!0);let a=R(o,"user",15),s=We(),$=S(!1),i=S(!1),h=ye(()=>{var G;return(G=a().account_type)==null?void 0:G.startsWith("federated")}),f=ye(()=>{var G;return e(h)?`${a().account_type}: ${((G=o.authProvider)==null?void 0:G.name)||""}`:a().account_type}),c=ye(()=>o.viewModePhone?"rowPhone":"row"),g=ye(()=>o.viewModePhone?"labelPhone":"label");function u(G){st(64,(ve,{challenge:ue,verifier:be})=>{ve||(localStorage.setItem(ot,be),B(G,ue))})}async function B(G,ve){let ue={email:a().email,client_id:"rauthy",redirect_uri:window.location.href,provider_id:G,pkce_challenge:ve},be=await za(`/auth/v1/providers/${G}/link`,ue);if(be.text){nt(be.text);let he=be.headers.get("location");he&&(window.location.href=he)}else console.error(be.error)}async function T(){let G=await mt("/auth/v1/providers/link");G.body?a(G.body):(console.error(G.error),l($,!0))}var A=Ht(),j=r(A),L=r(j),Q=r(L,!0);t(L);var M=n(L,2),C=r(M,!0);t(M),t(j);var N=n(j,2),b=r(N),re=r(b,!0);t(b);var Y=n(b,2),ie=r(Y,!0);t(Y),t(N);var se=n(N,2),_=r(se),p=r(_,!0);t(_);var y=n(_,2),m=r(y,!0);t(y),t(se);var O=n(se,2),le=r(O),fe=r(le);t(le);var w=n(le,2),U=r(w,!0);t(w),t(O);var V=n(O,2),F=r(V),J=r(F,!0);t(F);var oe=n(F,2),H=r(oe),pe=r(H,!0);t(H);var ce=n(H,2);{var $e=G=>{var ve=jt(),ue=r(ve);_e(ue,{get ariaLabel(){return s.account.providerUnlink},level:3,onclick:T,children:(Me,Re)=>{we();var Ke=ke();k(()=>d(Ke,s.account.providerUnlink)),v(Me,Ke)},$$slots:{default:!0}});var be=n(ue,2);{var he=Me=>{var Re=Vt(),Ke=r(Re,!0);t(Re),k(()=>d(Ke,s.account.providerUnlinkDesc)),v(Me,Re)};x(be,Me=>{e($)&&Me(he)})}t(ve),v(G,ve)},K=G=>{var ve=me(),ue=X(ve);{var be=he=>{var Me=Jt(),Re=X(Me);_e(Re,{level:2,onclick:()=>l(i,!0),children:(Xe,Ha)=>{we();var Ze=ke();k(()=>d(Ze,s.account.providerLink)),v(Xe,Ze)},$$slots:{default:!0}});var Ke=n(Re,2);Ut(Ke,{get showModal(){return e(i)},set showModal(Xe){l(i,q(Xe))},children:(Xe,Ha)=>{var Ze=Kt(),ca=X(Ze),Qa=r(ca,!0);t(ca);var da=n(ca,2),Xa=r(da,!0);t(da);var $a=n(da,2);fa($a,21,()=>o.providers,ua=>ua.id,(ua,Ia)=>{var Za=ye(()=>`${s.account.providerLink}: ${e(Ia).name}`);ft(ua,{get ariaLabel(){return e(Za)},get provider(){return e(Ia)},onclick:u})}),t($a),k(()=>{d(Qa,s.account.providerLink),d(Xa,s.account.providerLinkDesc)}),v(Xe,Ze)},$$slots:{default:!0}}),v(he,Me)};x(ue,he=>{o.providers.length>0&&he(be)},!0)}v(G,ve)};x(ce,G=>{e(h)?G($e):G(K,!1)})}t(oe),t(V);var P=n(V,2),z=r(P),E=r(z,!0);t(z);var ae=n(z,2),ge=r(ae,!0);t(ae),t(P);var D=n(P,2),te=r(D),de=r(te,!0);t(te);var xe=n(te,2),qe=r(xe,!0);t(xe),t(D);var Ie=n(D,2),Ce=r(Ie),Oe=r(Ce,!0);t(Ce);var Ue=n(Ce,2),aa=ye(()=>!!a().webauthn_user_id);ba(Ue,{get checked(){return e(aa)}}),t(Ie);var Pe=n(Ie,2),Ne=r(Pe),va=r(Ne,!0);t(Ne);var ta=n(Ne,2);ba(ta,{get checked(){return a().enabled}}),t(Pe);var Ve=n(Pe,2),je=r(Ve),la=r(je,!0);t(je);var De=n(je,2);ba(De,{get checked(){return a().email_verified}}),t(Ve);var Ee=n(Ve,2);{var He=G=>{var ve=Gt(),ue=r(ve),be=r(ue,!0);t(ue);var he=n(ue,2),Me=r(he,!0);k(()=>d(Me,Je(a().last_login))),t(he),t(ve),k(()=>{Z(ve,ee(e(c)),"svelte-1tea8v4"),Z(ue,ee(e(g)),"svelte-1tea8v4"),d(be,s.account.lastLogin)}),v(G,ve)};x(Ee,G=>{a().last_login&&G(He)})}var Ae=n(Ee,2),Be=r(Ae),ya=r(Be,!0);t(Be);var Qe=n(Be,2),ja=r(Qe,!0);k(()=>d(ja,a().password_expires&&Je(a().password_expires)||s.common.never)),t(Qe),t(Ae);var ra=n(Ae,2),sa=r(ra),Ka=r(sa,!0);t(sa);var ka=n(sa,2),Ja=r(ka,!0);k(()=>d(Ja,Je(a().created_at))),t(ka),t(ra);var _a=n(ra,2);{var Ga=G=>{var ve=Yt(),ue=r(ve),be=r(ue,!0);t(ue);var he=n(ue,2),Me=r(he,!0);k(()=>d(Me,Je(a().user_expires))),t(he),t(ve),k(()=>{Z(ve,ee(e(c)),"svelte-1tea8v4"),Z(ue,ee(e(g)),"svelte-1tea8v4"),d(be,s.account.userExpiry)}),v(G,ve)};x(_a,G=>{a().user_expires&&G(Ga)})}var Ya=n(_a,2);{var Oa=G=>{var ve=Ot(),ue=r(ve),be=n(ue,2),he=r(be);k(()=>ne(he,"href",ma(a().id)));var Me=r(he);qa(Me,()=>ma(a().id).replace("/auth/","/auth/")),t(he),t(be),t(ve),k(()=>{Z(ve,ee(e(c)),"svelte-1tea8v4"),Z(ue,ee(e(g)),"svelte-1tea8v4")}),v(G,ve)};x(Ya,G=>{o.webIdData&&G(Oa)})}t(A),k(()=>{Z(j,ee(e(c)),"svelte-1tea8v4"),Z(L,ee(e(g)),"svelte-1tea8v4"),d(Q,s.common.email),d(C,a().email),Z(N,ee(e(c)),"svelte-1tea8v4"),Z(b,ee(e(g)),"svelte-1tea8v4"),d(re,s.account.givenName),d(ie,a().given_name),Z(se,ee(e(c)),"svelte-1tea8v4"),Z(_,ee(e(g)),"svelte-1tea8v4"),d(p,s.account.familyName),d(m,a().family_name),Z(O,ee(e(c)),"svelte-1tea8v4"),Z(le,ee(e(g)),"svelte-1tea8v4"),d(fe,`${s.account.user??""} ID`),d(U,a().id),Z(V,ee(e(c)),"svelte-1tea8v4"),Z(F,ee(e(g)),"svelte-1tea8v4"),d(J,s.account.accType),d(pe,e(f)||""),Z(P,ee(e(c)),"svelte-1tea8v4"),Z(z,ee(e(g)),"svelte-1tea8v4"),d(E,s.account.roles),d(ge,a().roles||"None"),Z(D,ee(e(c)),"svelte-1tea8v4"),Z(te,ee(e(g)),"svelte-1tea8v4"),d(de,s.account.groups),d(qe,a().groups||"None"),Z(Ie,ee(e(c)),"svelte-1tea8v4"),Z(Ce,ee(e(g)),"svelte-1tea8v4"),d(Oe,s.account.mfaActivated),Z(Pe,ee(e(c)),"svelte-1tea8v4"),Z(Ne,ee(e(g)),"svelte-1tea8v4"),d(va,s.account.userEnabled),Z(Ve,ee(e(c)),"svelte-1tea8v4"),Z(je,ee(e(g)),"svelte-1tea8v4"),d(la,s.account.emailVerified),Z(Ae,ee(e(c)),"svelte-1tea8v4"),Z(Be,ee(e(g)),"svelte-1tea8v4"),d(ya,s.account.passwordExpiry),Z(ra,ee(e(c)),"svelte-1tea8v4"),Z(sa,ee(e(g)),"svelte-1tea8v4"),d(Ka,s.account.userCreated)}),v(W,A),Le()}var Qt=I('
      '),Xt=I("

      "),Zt=I('
      '),er=I('
      ',1),ar=I('
      ');function Ba(W,o){var B;ze(o,!0);let a=R(o,"user",15);(B=a().user_values)!=null&&B.birthdate||a(a().user_values.birthdate="",!0);let s=We(),$=S(""),i=S(!1),h=S(!1);async function f(T,A){var p;const j=A.get("email"),L=A.get("family_name")||void 0,Q=A.get("given_name")||void 0,M=A.get("birthdate")||void 0,C=((p=A.get("phone"))==null?void 0:p.replaceAll(" ",""))||void 0,N=A.get("street")||void 0,b=A.get("zip")||void 0,re=b?Number.parseInt(b):void 0,Y=A.get("city")||void 0,ie=A.get("country")||void 0;let se={email:j,family_name:L,given_name:Q,user_values:{birthdate:M,phone:C,street:N,zip:re,city:Y,country:ie}},_=await La(`/auth/v1/users/${a().id}/self`,se);if(_.body){l(i,!0),a(_.body);let y=3e3;_.status===202&&(l(h,!0),y=3e4),setTimeout(()=>{l(i,!1)},y)}else _.error&&(console.error(_.error),l($,q(_.error.message)))}var c=ar(),g=r(c),u=ye(()=>`/auth/v1/users/${a().id}/self`);gt(g,{get action(){return e(u)},onSubmit:f,children:(T,A)=>{var j=er(),L=X(j),Q=r(L),M=r(Q);Te(M,{typ:"email",name:"email",get label(){return s.common.email},get placeholder(){return s.common.email},get value(){return a().email},required:!0});var C=n(M,2);Te(C,{name:"given_name",autocomplete:"given-name",get label(){return s.account.givenName},get placeholder(){return s.account.givenName},get value(){return a().given_name},required:!0,maxLength:32,pattern:ha});var N=n(C,2);Te(N,{name:"family_name",autocomplete:"family-name",get label(){return s.account.familyName},get placeholder(){return s.account.familyName},get value(){return a().family_name},maxLength:32,pattern:ha});var b=n(N,2);bt(b,{name:"birthdate",get label(){return s.account.birthdate},withDelete:!0,get value(){return a().user_values.birthdate},set value(F){a(a().user_values.birthdate=F,!0)}}),t(Q);var re=n(Q,2),Y=r(re);Te(Y,{name:"street",autocomplete:"street-address",get label(){return s.account.street},get placeholder(){return s.account.street},get value(){return a().user_values.street},maxLength:48,pattern:ht});var ie=n(Y,2);Te(ie,{typ:"number",name:"zip",autocomplete:"postal-code",get label(){return s.account.zip},get placeholder(){return s.account.zip},get value(){return a().user_values.zip},min:"1000",max:"9999999"});var se=n(ie,2);Te(se,{name:"city",autocomplete:"address-level2",get label(){return s.account.city},get placeholder(){return s.account.city},get value(){return a().user_values.city},maxLength:48,pattern:Da});var _=n(se,2);Te(_,{name:"country",autocomplete:"country",get label(){return s.account.country},get placeholder(){return s.account.country},get value(){return a().user_values.country},maxLength:48,pattern:Da});var p=n(_,2);Te(p,{name:"phone",autocomplete:"tel",get label(){return s.account.phone},get placeholder(){return s.account.phone},get value(){return a().user_values.phone},maxLength:32,pattern:wt}),t(re),t(L);var y=n(L,2),m=r(y),O=r(m);_e(O,{type:"submit",children:(F,J)=>{we();var oe=ke();k(()=>d(oe,s.common.save)),v(F,oe)},$$slots:{default:!0}}),t(m);var le=n(m,2);{var fe=F=>{var J=Qt(),oe=r(J);ia(oe,{}),t(J),Se(3,J,()=>Ge),v(F,J)};x(le,F=>{e(i)&&F(fe)})}t(y);var w=n(y,2);{var U=F=>{var J=Xt(),oe=r(J,!0);t(J),k(()=>d(oe,s.account.emailUpdateConfirm)),v(F,J)},V=F=>{var J=me(),oe=X(J);{var H=pe=>{var ce=Zt(),$e=r(ce,!0);t(ce),k(()=>d($e,e($))),Se(3,ce,()=>Ge),v(pe,ce)};x(oe,pe=>{e($)&&pe(H)},!0)}v(F,J)};x(w,F=>{e(h)?F(U):F(V,!1)})}v(T,j)},$$slots:{default:!0}}),t(c),v(W,c),Le()}var tr=xa('');function rr(W,o){let a=R(o,"opacity",3,.9),s=R(o,"width",3,24),$=R(o,"color",3,"currentColor");var i=tr();ne(i,"stroke-width",2),k(()=>{ne(i,"stroke",$()),ne(i,"width",s()),ne(i,"opacity",a())}),v(W,i)}var sr=I('
      Your browser does not support Webauthn credentials and must be updated.
      '),or=I('
      ',1),nr=I('
      '),ir=I('
      '),vr=I("
      "),lr=I('
      '),cr=I('
      '),dr=I('
      '),ur=I('



      ',1),pr=I('
      ');function Sa(W,o){ze(o,!0);const a="credentials"in navigator;let s=We(),$=Wa("account"),i=ye(()=>{var _;return(_=$.get())==null?void 0:_.user_id}),h=S(void 0),f=S(!1),c=S(""),g=S(!1),u=S(o.user.account_type==="password"),B=S(void 0),T=S(""),A=S(!1),j=S(q([]));na(()=>{Q()}),Fe(()=>{e(j).length>0&&o.user.account_type==="passkey"&&l(u,e(j).length>1)}),Fe(()=>{var _;(_=e(h))==null||_.focus()});function L(){l(f,!1),l(c,"")}async function Q(){var p;let _=await ea(`/auth/v1/users/${(p=$.get())==null?void 0:p.user_id}/webauthn`);_.body?l(j,q(_.body)):console.error(_.error)}async function M(){if(L(),e(A)||!e(i))return;if(e(T).length<1){l(f,!0),l(c,q(s.mfa.passkeyNameErr));return}let _=await $t(e(i),e(T),s.authorize.invalidKeyUsed,s.authorize.requestExpired);_.error?(l(f,!0),l(c,`${s.mfa.errorReg} - ${_.error}`)):(l(g,!1),l(T,""),await Q())}async function C(_){let p=await yt(o.user.id,_);if(p.status===200)await Q();else{let y=await p.json();l(f,!0),l(c,q(y.message))}}function N(_){l(B,void 0),l(f,!0),l(c,q(_)),setTimeout(()=>{l(f,!1),l(c,"")},5e3)}function b(_){l(B,void 0),l(c,q(s.mfa.testSuccess)),setTimeout(()=>{l(c,"")},3e3)}var re=pr(),Y=r(re);{var ie=_=>{var p=sr();v(_,p)},se=_=>{var p=ur(),y=X(p);{var m=K=>{Ta(K,{get userId(){return o.user.id},get purpose(){return e(B)},onSuccess:b,onError:N})};x(y,K=>{e(B)&&K(m)})}var O=n(y,2),le=r(O),fe=n(le,3);t(O);var w=n(O,2);{var U=K=>{var P=or(),z=X(P);Te(z,{autocomplete:"off",get label(){return s.mfa.passkeyName},get placeholder(){return s.mfa.passkeyName},maxLength:32,pattern:ha,onEnter:M,get ref(){return e(h)},set ref(D){l(h,q(D))},get value(){return e(T)},set value(D){l(T,q(D))},get isError(){return e(A)},set isError(D){l(A,q(D))}});var E=n(z,2),ae=r(E);_e(ae,{onclick:M,children:(D,te)=>{we();var de=ke();k(()=>d(de,s.mfa.register)),v(D,de)},$$slots:{default:!0}});var ge=n(ae,2);_e(ge,{level:3,onclick:()=>l(g,!1),children:(D,te)=>{we();var de=ke();k(()=>d(de,s.common.cancel)),v(D,de)},$$slots:{default:!0}}),t(E),v(K,P)},V=K=>{var P=nr(),z=r(P),E=ye(()=>e(j).length===0?1:2);_e(z,{get level(){return e(E)},onclick:()=>l(g,!0),children:(ae,ge)=>{we();var D=ke();k(()=>d(D,s.mfa.registerNew)),v(ae,D)},$$slots:{default:!0}}),t(P),v(K,P)};x(w,K=>{e(g)?K(U):K(V,!1)})}var F=n(w,2);{var J=K=>{var P=ir(),z=r(P,!0);t(P),k(()=>d(z,s.mfa.registerdKeys)),v(K,P)};x(F,K=>{e(j).length>0&&K(J)})}var oe=n(F,2);fa(oe,21,()=>e(j),K=>K.name,(K,P)=>{var z=cr(),E=r(z),ae=r(E),ge=r(ae,!0);t(ae);var D=n(ae,2),te=r(D),de=r(te,!0);t(te);var xe=n(te,2);{var qe=De=>{It(De,{get text(){return s.account.userVerifiedTooltip},children:(Ee,He)=>{var Ae=vr();Ye(Ae,"margin-bottom","-.25rem");var Be=r(Ae);rr(Be,{width:18,color:"var(--col-acnt)"}),t(Ae),v(Ee,Ae)},$$slots:{default:!0}})};x(xe,De=>{e(P).user_verified&&De(qe)})}t(D),t(E);var Ie=n(E,2),Ce=r(Ie),Oe=r(Ce,!0);t(Ce);var Ue=n(Ce,2),aa=r(Ue,!0);k(()=>d(aa,Je(e(P).registered))),t(Ue),t(Ie);var Pe=n(Ie,2),Ne=r(Pe),va=r(Ne,!0);t(Ne);var ta=n(Ne,2),Ve=r(ta,!0);k(()=>d(Ve,Je(e(P).last_used))),t(ta),t(Pe);var je=n(Pe,2);{var la=De=>{var Ee=lr(),He=n(r(Ee),2),Ae=r(He);_e(Ae,{level:-3,onclick:()=>C(e(P).name),children:(Be,ya)=>{we();var Qe=ke();k(()=>d(Qe,s.common.delete)),v(Be,Qe)},$$slots:{default:!0}}),t(He),t(Ee),v(De,Ee)};x(je,De=>{e(u)&&De(la)})}t(z),k(()=>{d(ge,s.mfa.passkeyName),d(de,e(P).name),d(Oe,s.mfa.registerd),d(va,s.mfa.lastUsed)}),v(K,z)}),t(oe);var H=n(oe,2);{var pe=K=>{var P=dr(),z=r(P);_e(z,{onclick:()=>l(B,"Test"),children:(E,ae)=>{we();var ge=ke();k(()=>d(ge,s.mfa.test)),v(E,ge)},$$slots:{default:!0}}),t(P),v(K,P)};x(H,K=>{e(j).length>0&&K(pe)})}var ce=n(H,2),$e=r(ce,!0);t(ce),k(()=>{d(le,`${s.mfa.p1??""} `),d(fe,` ${s.mfa.p2??""}`),ga(ce,"success",!e(f)),ga(ce,"err",e(f)),d($e,e(c))}),v(_,p)};x(Y,_=>{a?_(se,!1):_(ie)})}t(re),v(W,re),Le()}var mr=I('
      ');function fr(W,o){ze(o,!0);let a=R(o,"passwords",15),s=R(o,"hideCurrentPassword",3,!1),$=R(o,"isValid",15),i=We();$(T);let h=S(!1),f=S(""),c=S(void 0),g=ye(()=>{var M;return((M=a().new)==null?void 0:M.length)>6&&a().new===a().newConfirm}),u=S(void 0),B=S(void 0);na(async()=>{let M=await ea("/auth/v1/password_policy");M.body?l(c,q(M.body)):console.error(M.error)});function T(){return l(f,""),!s()&&!a().current?(l(f,q(i.account.passwordCurrReq)),!1):a().new?a().newConfirm?e(h)?a().new.length>256?(l(f,"max 256"),!1):a().new!==a().newConfirm?(l(f,q(i.account.passwordNoMatch)),!1):!0:(l(f,q(i.account.passwordPolicyFollow)),!1):(l(f,q(i.account.passwordNewReq)),!1):(l(f,q(i.account.passwordNewReq)),!1)}function A(){if(l(f,""),e(c)){let M=it(e(c));a(a().new=M,!0),a(a().newConfirm=M,!0)}requestAnimationFrame(()=>{var M,C;(M=e(u))==null||M(),(C=e(B))==null||C()})}var j=me(),L=X(j);{var Q=M=>{var C=mr(),N=r(C);xt(N,{get policy(){return e(c)},get password(){return a().new},get accepted(){return e(h)},set accepted(m){l(h,q(m))}});var b=n(N,2);{var re=m=>{wa(m,{autocomplete:"current-password",get label(){return i.account.passwordCurr},get placeholder(){return i.account.passwordCurr},onInput:T,get width(){return o.inputWidth},get value(){return a().current},set value(O){a(a().current=O,!0)}})};x(b,m=>{s()||m(re)})}var Y=n(b,2);wa(Y,{autocomplete:"new-password",get label(){return i.account.passwordNew},get placeholder(){return i.account.passwordNew},onInput:T,get showCopy(){return e(g)},get width(){return o.inputWidth},get value(){return a().new},set value(m){a(a().new=m,!0)},get reportValidity(){return e(u)},set reportValidity(m){l(u,q(m))}});var ie=n(Y,2);wa(ie,{autocomplete:"new-password",get label(){return i.account.passwordConfirm},get placeholder(){return i.account.passwordConfirm},onInput:T,get showCopy(){return e(g)},get width(){return o.inputWidth},get value(){return a().newConfirm},set value(m){a(a().newConfirm=m,!0)},get reportValidity(){return e(B)},set reportValidity(m){l(B,q(m))}});var se=n(ie,2),_=r(se);_e(_,{onclick:A,level:2,children:(m,O)=>{we();var le=ke();k(()=>d(le,i.account.generateRandom)),v(m,le)},$$slots:{default:!0}}),t(se);var p=n(se,2),y=r(p,!0);t(p),t(C),k(()=>d(y,e(f))),v(M,C)};x(L,M=>{e(c)&&M(Q)})}return v(W,j),Le({isPwdValid:T})}var gr=I('

      '),hr=I("

      ",1),wr=I('
      '),br=I('
      '),yr=I('
      '),kr=I('

      '),_r=I('
      ',1),$r=I('
      ');function Ra(W,o){ze(o,!0);let a=R(o,"user",15),s=We(),$=ye(()=>o.viewModePhone?"calc(100vw - 1.5rem)":"300px"),i=S(q(a().account_type)),h=S(q([])),f=S(void 0),c=S(!1),g=S(!1),u=S(""),B=S(!1),T=S(void 0),A=S(q({current:"",new:"",newConfirm:""})),j=ye(()=>e(h).filter(w=>w.user_verified).length>0);na(()=>{L()});async function L(){let w=await ea(`/auth/v1/users/${a().id}/webauthn`);w.body?l(h,q(w.body)):console.error("error fetching passkeys: "+w.error)}async function Q(){let w=await za(`/auth/v1/users/${a().id}/self/convert_passkey`);w.error?console.error("error fetching passkeys: "+w.error):window.location.reload()}async function M(){l(u,""),e(h).length>0?await C():await N()}async function C(){var w;if(!((w=e(f))!=null&&w())){l(u,q(s.common.invalidInput));return}l(T,"PasswordNew")}async function N(w){var F,J;if(!((F=e(f))!=null&&F())){l(u,q(s.common.invalidInput));return}l(g,!0);let U={password_new:e(A).new};w?U.mfa_code=w:U.password_current=e(A).current;let V=await La(`/auth/v1/users/${a().id}/self`,U);V.body?(l(B,!0),l(A,q({current:"",new:"",newConfirm:""})),a(V.body),l(i,q(V.body.account_type)),setTimeout(()=>{l(B,!1),l(c,!1)},3e3)):l(u,q(((J=V.error)==null?void 0:J.message)||"Error")),l(g,!1)}function b(w){l(T,void 0),l(u,q(w)),setTimeout(()=>{l(u,"")},5e3)}function re(w){l(T,void 0),w&&"code"in w&&N(w.code)}async function Y(){let w=await kt({email:a().email});if(w.ok)l(B,!0);else{let U=await w.json();l(u,q(U.message))}}var ie=$r(),se=r(ie);{var _=w=>{Ta(w,{get userId(){return a().id},get purpose(){return e(T)},onSuccess:re,onError:b})};x(se,w=>{e(T)&&w(_)})}var p=n(se,2);{var y=w=>{var U=gr(),V=r(U),F=r(V,!0);t(V);var J=n(V,2),oe=r(J),H=r(oe,!0);t(oe),t(J);var pe=n(J,2);Ye(pe,"height",".3rem");var ce=n(pe,2),$e=r(ce,!0);t(ce);var K=n(ce,2);{var P=E=>{qt(E,{check:!0})},z=E=>{_e(E,{level:2,onclick:Y,children:(ae,ge)=>{we();var D=ke();k(()=>d(D,s.account.passwordReset)),v(ae,D)},$$slots:{default:!0}})};x(K,E=>{e(B)?E(P):E(z,!1)})}t(U),k(()=>{var E;d(F,s.account.federatedConvertPassword1),d(H,((E=o.authProvider)==null?void 0:E.name)||"UNKNOWN"),d($e,s.account.federatedConvertPassword2)}),v(w,U)};x(p,w=>{e(i)==="federated"&&w(y)})}var m=n(p,2);{var O=w=>{var U=hr(),V=X(U),F=r(V,!0);t(V);var J=n(V,2),oe=r(J,!0);t(J);var H=n(J,2),pe=r(H,!0);t(H);var ce=n(H,2),$e=r(ce);_e($e,{level:2,onclick:()=>l(c,!0),children:(K,P)=>{we();var z=ke();k(()=>d(z,s.account.convertAccount)),v(K,z)},$$slots:{default:!0}}),t(ce),k(()=>{d(F,s.account.accTypePasskeyText1),d(oe,s.account.accTypePasskeyText2),d(pe,s.account.accTypePasskeyText3)}),v(w,U)};x(m,w=>{(e(i)==="passkey"||e(i)==="federated_passkey")&&!e(c)&&w(O)})}var le=n(m,2);{var fe=w=>{var U=_r(),V=X(U),F=r(V),J=ye(()=>!(e(i)==="password"&&e(h).length<1));fr(F,{get inputWidth(){return e($)},get hideCurrentPassword(){return e(J)},get passwords(){return e(A)},set passwords(z){l(A,q(z))},get isValid(){return e(f)},set isValid(z){l(f,q(z))}});var oe=n(F,2),H=r(oe);_e(H,{onclick:M,level:1,get isLoading(){return e(g)},children:(z,E)=>{we();var ae=ke();k(()=>d(ae,s.common.save)),v(z,ae)},$$slots:{default:!0}});var pe=n(H,2);{var ce=z=>{var E=wr(),ae=r(E);ia(ae,{}),t(E),Se(3,E,()=>Ge),v(z,E)},$e=z=>{var E=me(),ae=X(E);{var ge=te=>{var de=br(),xe=r(de,!0);t(de),k(()=>d(xe,e(u))),Se(3,de,()=>Ge),v(te,de)},D=te=>{var de=me(),xe=X(de);{var qe=Ie=>{var Ce=yr(),Oe=r(Ce);_e(Oe,{level:3,onclick:()=>l(c,!1),children:(Ue,aa)=>{we();var Pe=ke();k(()=>d(Pe,s.common.cancel)),v(Ue,Pe)},$$slots:{default:!0}}),t(Ce),v(Ie,Ce)};x(xe,Ie=>{e(c)&&!e(g)&&Ie(qe)},!0)}v(te,de)};x(ae,te=>{e(u)?te(ge):te(D,!1)},!0)}v(z,E)};x(pe,z=>{e(B)?z(ce):z($e,!1)})}t(oe),t(V);var K=n(V,2);{var P=z=>{var E=kr(),ae=r(E),ge=r(ae,!0);t(ae);var D=n(ae,2),te=r(D,!0);t(D);var de=n(D,2);_e(de,{level:2,onclick:Q,children:(xe,qe)=>{we();var Ie=ke();k(()=>d(Ie,s.account.convertAccount)),v(xe,Ie)},$$slots:{default:!0}}),t(E),k(()=>{d(ge,s.account.convertAccount),d(te,s.account.convertAccountP1)}),v(z,E)};x(K,z=>{!e(c)&&e(j)&&z(P)})}v(w,U)};x(le,w=>{(e(i)==="password"||e(i)==="federated_password"||e(c))&&w(fe)})}t(ie),v(W,ie),Le()}function Ir(W,o){W.code==="Enter"&&o()}var xr=I('
      ');function Fa(W,o){ze(o,!0);let a=R(o,"checked",15,!1),s=R(o,"ariaLabel",3,""),$=R(o,"name",3,"");function i(){a(!a())}var h=xr(),f=r(h),c=r(f);Pa(c,()=>o.children),t(f);var g=n(f,2),u=r(g);pt(u),u.__click=i,u.__keydown=[Ir,i],we(2),t(g),t(h),k(()=>{Ye(f,"width",o.labelWidth),ne(u,"name",$()),u.disabled=o.disabled,ne(u,"aria-checked",a()),ne(u,"aria-label",s())}),Mt(u,a),v(W,h),Le()}pa(["click","keydown"]);function qr(W,o){o()}function Mr(W,o,a){var s,$,i,h;switch(o(),W.code){case"ArrowUp":(s=a.onUp)==null||s.call(a);break;case"ArrowDown":($=a.onDown)==null||$.call(a);break;case"ArrowLeft":(i=a.onLeft)==null||i.call(a);break;case"ArrowRight":(h=a.onRight)==null||h.call(a);break}}var Cr=I('
      '),zr=I(`
      `);function Lr(W,o){ze(o,!0);let a=R(o,"ref",15),s=R(o,"id",19,vt),$=R(o,"value",15,""),i=R(o,"label",3,""),h=R(o,"rows",3,3),f=R(o,"placeholder",3,""),c=R(o,"errMsg",3,""),g=R(o,"disabled",3,!1),u=R(o,"required",3,!1),B=R(o,"isError",15,!1),T=R(o,"width",3,"inherit");const A=o.pattern?new RegExp(o.pattern,"gm"):void 0;let j=ye(()=>i()||f());function L(p){var y;C(),(y=o.onBlur)==null||y.call(o)}function Q(p){p.preventDefault(),B(!0)}function M(p){C()}function C(){var p,y;return A&&($().match(A).length>2?((p=a())==null||p.setCustomValidity(c()),B(!0)):((y=a())==null||y.setCustomValidity(""),B(!1))),!0}var N=zr(),b=r(N);tt(b),b.__input=[qr,C],b.__keydown=[Mr,C,o],Aa(b,p=>a(p),()=>a());var re=n(b,2),Y=r(re),ie=r(Y,!0);t(Y);var se=n(Y,2);{var _=p=>{var y=Cr(),m=r(y,!0);t(y),k(()=>d(m,c())),Se(3,y,()=>Ma),v(p,y)};x(se,p=>{B()&&p(_)})}t(re),t(N),k(()=>{Ye(N,"width",T()),ne(b,"id",s()),ne(b,"name",o.name),ne(b,"title",e(j)),ne(b,"aria-label",e(j)),ne(b,"rows",h()),ne(b,"placeholder",f()),ne(b,"aria-placeholder",f()),b.disabled=g(),ne(b,"aria-disabled",g()),ne(b,"maxlength",o.maxLength||void 0),b.required=u()||void 0,ne(b,"aria-required",u()||!1),ne(b,"aria-invalid",B()),ne(Y,"for",s()),ne(Y,"data-required",u()),d(ie,i())}),oa("submit",b,M),oa("invalid",b,Q),oa("blur",b,L),Ct(b,$),v(W,N),Le()}pa(["input","keydown"]);var Pr=I("

      "),Ar=I('
      '),Dr=I('
      '),Wr=I('

      ');function Ua(W,o){ze(o,!0);let a=R(o,"webIdData",15),s=We();const $="14rem";let i=S(""),h=S(!1),f=S(!!a().custom_triples),c=ma(a().user_id);Fe(()=>{e(h)&&setTimeout(()=>{l(h,!1)},3e3)});async function g(){l(i,"");let p=await _t(a().user_id,a());if(p.ok)l(h,!0);else{let y=await p.json();l(i,q(y.message))}}var u=Wr(),B=r(u),T=r(B,!0);t(B);var A=n(B,2),j=r(A);zt(j,{href:c,target:"_blank",children:(p,y)=>{var m=me(),O=X(m);qa(O,()=>c.replace("/auth/","/auth/")),v(p,m)},$$slots:{default:!0}}),t(A);var L=n(A,2),Q=r(L);Fa(Q,{ariaLabel:"E-Mail",labelWidth:$,get checked(){return a().expose_email},set checked(p){a(a().expose_email=p,!0)},children:(p,y)=>{we();var m=ke("E-Mail");v(p,m)},$$slots:{default:!0}}),t(L);var M=n(L,2),C=r(M);Fa(C,{get ariaLabel(){return s.account.webIdExpertMode},labelWidth:$,get checked(){return e(f)},set checked(p){l(f,q(p))},children:(p,y)=>{we();var m=ke();k(()=>d(m,s.account.webIdExpertMode)),v(p,m)},$$slots:{default:!0}}),t(M);var N=n(M,2);{var b=p=>{var y=Pr(),m=r(y),O=r(m,!0);t(m);var le=n(m,2);Lr(le,{placeholder:"FOAF",rows:15,get value(){return a().custom_triples},set value(fe){a(a().custom_triples=fe,!0)}}),t(y),k(()=>d(O,s.account.webIdDescData)),Se(3,y,()=>Ma),v(p,y)};x(N,p=>{e(f)&&p(b)})}var re=n(N,2),Y=r(re);_e(Y,{onclick:g,children:(p,y)=>{we();var m=ke();k(()=>d(m,s.common.save)),v(p,m)},$$slots:{default:!0}});var ie=n(Y,2);{var se=p=>{var y=Ar(),m=r(y);ia(m,{}),t(y),Se(3,y,()=>Ge),v(p,y)},_=p=>{var y=me(),m=X(y);{var O=le=>{var fe=Dr(),w=r(fe,!0);t(fe),k(()=>d(w,e(i))),Se(3,fe,()=>Ge),v(le,fe)};x(m,le=>{e(i)&&le(O)},!0)}v(p,y)};x(ie,p=>{e(h)?p(se):p(_,!1)})}t(re),t(u),k(()=>d(T,s.account.webIdDesc)),v(W,u),Le()}function Tr(W){Na(W,{viewMode:"account"})}var Nr=I(' '),Er=I('
      ');function Va(W,o){ze(o,!0);let a=R(o,"selected",15,""),s=R(o,"borderRadius",3,"5px"),$=R(o,"center",3,!1),i=R(o,"width",3,"inherit");o.tabs.length>0&&a()===""&&a(o.tabs[0]);var h=Er();fa(h,21,()=>o.tabs,ut,(f,c)=>{var g=ye(()=>e(c)===a()?"step":void 0);_e(f,{get ariaCurrent(){return e(g)},invisible:!0,onclick:()=>a(e(c)),children:(u,B)=>{var T=Nr(),A=r(T,!0);t(T),k(()=>{ne(T,"data-selected",e(c)===a()),d(A,e(c))}),v(u,T)},$$slots:{default:!0}})}),t(h),k(()=>{ga(h,"center",$()),Ye(h,"border-radius",s()),Ye(h,"width",i())}),v(W,h),Le()}var Br=I("

      "),Sr=I('
      ',1),Rr=I('
      ',1),Fr=I('
      ',1);function Ur(W,o){ze(o,!0);const a=C=>{var N=Br(),b=r(N,!0);t(N),k(()=>d(b,`${s().given_name} ${s().family_name||""}`)),v(C,N)};let s=R(o,"user",15),$=R(o,"webIdData",15),i=We(),h=S(void 0),f=S(q([])),c=ye(()=>{var C;if((C=s().account_type)!=null&&C.startsWith("federated"))return e(f).filter(N=>N.id===s().auth_provider_id)[0]}),g=ye(()=>e(h)&&e(h)<500),u=S(q(i.account.navInfo)),B=q($()?[i.account.navInfo,i.account.navEdit,i.common.password,i.account.navMfa,"WebID",i.account.devices,i.account.navLogout]:[i.account.navInfo,i.account.navEdit,i.common.password,i.account.navMfa,i.account.devices,i.account.navLogout]);na(()=>{Pt("v").get()==="devices"&&l(u,q(i.account.devices))}),Fe(()=>{e(u)===i.account.navLogout&<()});var T=Fr(),A=X(T);Lt(A,{id:ct,get value(){return e(f)},set value(C){l(f,q(C))}});var j=n(A,2),L=r(j);{var Q=C=>{var N=Sr(),b=X(N),re=r(b);a(re),t(b);var Y=n(b,2),ie=r(Y);Va(ie,{get tabs(){return B},get selected(){return e(u)},set selected(m){l(u,q(m))}});var se=n(ie,2),_=r(se);{var p=m=>{Ea(m,{get providers(){return e(f)},get authProvider(){return e(c)},viewModePhone:!0,get webIdData(){return $()},get user(){return s()},set user(O){s(O)}})},y=m=>{var O=me(),le=X(O);{var fe=U=>{Ba(U,{viewModePhone:!0,get user(){return s()},set user(V){s(V)}})},w=U=>{var V=me(),F=X(V);{var J=H=>{Ra(H,{get user(){return s()},get authProvider(){return e(c)},viewModePhone:!0})},oe=H=>{var pe=me(),ce=X(pe);{var $e=P=>{Sa(P,{get user(){return s()}})},K=P=>{var z=me(),E=X(z);{var ae=D=>{Ua(D,{get webIdData(){return $()},set webIdData(te){$(te)}})},ge=D=>{var te=me(),de=X(te);{var xe=qe=>{Na(qe,{viewMode:"account"})};x(de,qe=>{e(u)===i.account.devices&&qe(xe)},!0)}v(D,te)};x(E,D=>{e(u)==="WebID"?D(ae):D(ge,!1)},!0)}v(P,z)};x(ce,P=>{e(u)===i.account.navMfa?P($e):P(K,!1)},!0)}v(H,pe)};x(F,H=>{e(u)===i.common.password?H(J):H(oe,!1)},!0)}v(U,V)};x(le,U=>{e(u)===i.account.navEdit?U(fe):U(w,!1)},!0)}v(m,O)};x(_,m=>{e(u)===i.account.navInfo?m(p):m(y,!1)})}t(se),t(Y),v(C,N)},M=C=>{var N=Rr(),b=X(N),re=r(b);a(re),t(b);var Y=n(b,2),ie=r(Y);Va(ie,{get tabs(){return B},center:!0,get selected(){return e(u)},set selected(m){l(u,q(m))}});var se=n(ie,2),_=r(se);{var p=m=>{Ea(m,{get webIdData(){return $()},get providers(){return e(f)},get authProvider(){return e(c)},get user(){return s()},set user(O){s(O)}})},y=m=>{var O=me(),le=X(O);{var fe=U=>{Ba(U,{get user(){return s()},set user(V){s(V)}})},w=U=>{var V=me(),F=X(V);{var J=H=>{Ra(H,{get user(){return s()},get authProvider(){return e(c)}})},oe=H=>{var pe=me(),ce=X(pe);{var $e=P=>{Sa(P,{get user(){return s()}})},K=P=>{var z=me(),E=X(z);{var ae=D=>{Ua(D,{get webIdData(){return $()},set webIdData(te){$(te)}})},ge=D=>{var te=me(),de=X(te);{var xe=qe=>{Tr(qe)};x(de,qe=>{e(u)===i.account.devices&&qe(xe)},!0)}v(D,te)};x(E,D=>{e(u)==="WebID"?D(ae):D(ge,!1)},!0)}v(P,z)};x(ce,P=>{e(u)===i.account.navMfa?P($e):P(K,!1)},!0)}v(H,pe)};x(F,H=>{e(u)===i.common.password?H(J):H(oe,!1)},!0)}v(U,V)};x(le,U=>{e(u)===i.account.navEdit?U(fe):U(w,!1)},!0)}v(m,O)};x(_,m=>{e(u)===i.account.navInfo?m(p):m(y,!1)})}t(se),t(Y),v(C,N)};x(L,C=>{e(g)?C(Q):C(M,!1)})}t(j),rt("innerWidth",C=>l(h,q(C))),v(W,T),Le()}var Vr=I(" ",1);function jr(W,o){ze(o,!0);let a=We(),s=Wa("account"),$=S(void 0),i=S(void 0),h=S(!1);Fe(()=>{let c=s.get();c&&f(c)});async function f(c){const g=c.user_id;if(g){let u=await Promise.all([ea(`/auth/v1/users/${g}`),ea(`/auth/v1/users/${g}/webid/data`)]);u[0].body?l($,q(u[0].body)):dt("account"),u[1].body?l(i,q(u[1].body)):u[1].status===404&&l(i,q({user_id:g,expose_email:!1})),l(h,!0)}else console.error("no user_id in session")}at(c=>{k(()=>{var g;return et.title=`${((a==null?void 0:a.account.account)||"Account")??""} ${((g=e($))==null?void 0:g.email)??""}`})}),At(W,{children:(c,g)=>{Dt(c,{children:(u,B)=>{var T=Vr(),A=X(T);{var j=M=>{Ur(M,{get user(){return e($)},set user(C){l($,q(C))},get webIdData(){return e(i)},set webIdData(C){l(i,q(C))}})};x(A,M=>{e(h)&&s&&e($)&&M(j)})}var L=n(A,2);Wt(L,{absolute:!0});var Q=n(L,2);Tt(Q,{absolute:!0}),v(u,T)},$$slots:{default:!0}})},$$slots:{default:!0}}),Le()}export{jr as component}; diff --git a/static/v1/_app/immutable/nodes/4.Czm7YwSo.js.br b/static/v1/_app/immutable/nodes/4.Czm7YwSo.js.br deleted file mode 100644 index 1b7aff8d7..000000000 Binary files a/static/v1/_app/immutable/nodes/4.Czm7YwSo.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/4.Czm7YwSo.js.gz b/static/v1/_app/immutable/nodes/4.Czm7YwSo.js.gz deleted file mode 100644 index 64fd3b3fd..000000000 Binary files a/static/v1/_app/immutable/nodes/4.Czm7YwSo.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/5.BzWYCato.js b/static/v1/_app/immutable/nodes/5.BzWYCato.js new file mode 100644 index 000000000..dff826caf --- /dev/null +++ b/static/v1/_app/immutable/nodes/5.BzWYCato.js @@ -0,0 +1,2 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import{f as X,p as Ce,a4 as Fe,c as r,s as o,r as t,t as k,a as Pe,g as e,a9 as _e,aq as we,i as R,h as l,ao as va,ap as Za}from"../chunks/index-client.DAoU_hDn.js";import{h as et}from"../chunks/svelte-head.CtCGS4lr.js";import{e as me,a as n,t as $,d as ye,n as at}from"../chunks/template.DcxtE4ym.js";import{i as I}from"../chunks/if.BANCODOf.js";import{p as q}from"../chunks/proxy.D3ASEzk3.js";import{d as pa,e as oa,s as d,k as tt}from"../chunks/render.mNhspeV3.js";import{b as rt}from"../chunks/window.Dv-FFGvE.js";import{p as H}from"../chunks/props.VJ8UyA45.js";import{k as Oe,aa as ma,_ as st,P as vt,H as ot,z as it,q as nt,ab as lt,D as ct,r as dt}from"../chunks/helpers.BV-akmwW.js";import{e as fa,i as ut}from"../chunks/each.DTG73tix.js";import{h as Ia}from"../chunks/html.CT6bpSnI.js";import{s as de,b as Z,c as ee,t as ga,r as pt}from"../chunks/class.DWa3OhYO.js";import{I as ia}from"../chunks/IconCheck.DszTV7Wv.js";import{I as qa}from"../chunks/IconStop.DS7gZeVF.js";import{B as ke}from"../chunks/Button.Cy8gcSM8.js";import{s as La}from"../chunks/snippet.DHnbbgSs.js";import{b as Da}from"../chunks/this.Cfm51kc5.js";import{u as We}from"../chunks/i18n.svelte.DUvAL5Pw.js";import{d as mt,b as Ca,c as Pa,f as ea}from"../chunks/fetch.m5EOWhre.js";import{B as ft}from"../chunks/ButtonAuthProvider.C0t303gQ.js";import{t as Ve,f as je,s as Se,a as Ta}from"../chunks/index.DER1jHiU.js";import{I as Ae}from"../chunks/Input.DSR5bYkF.js";import{F as gt}from"../chunks/Form.gnacPhba.js";import{a as ha,c as ht,d as Ea,e as wt}from"../chunks/patterns.BdncpE46.js";import{I as bt}from"../chunks/InputDateTimeCombo.B0Hj-GFF.js";import{w as yt,h as kt,i as _t}from"../chunks/dataFetching.dLYaql-r.js";import{u as Na}from"../chunks/session.svelte.BqhfG0Yq.js";import{w as $t}from"../chunks/registration.DEN_CA7Z.js";import{W as Wa}from"../chunks/WebauthnRequest.C4OO6VEa.js";import{T as xt}from"../chunks/Tooltip.BKHmBuQ7.js";import{P as It}from"../chunks/PasswordPolicy.DAaeophg.js";import{I as wa}from"../chunks/InputPassword.nPyam57A.js";import{C as qt}from"../chunks/CheckIcon.CrU43zqd.js";import{a as Lt,b as Dt}from"../chunks/input.CNTnF6Qx.js";import{A as Ct}from"../chunks/A.CPSniiiu.js";import"../chunks/legacy.DtyiMpWz.js";import{D as Aa}from"../chunks/Devices.xP6jbLAC.js";import{T as Pt}from"../chunks/Template.g8euQA0a.js";import{u as Tt}from"../chunks/param.svelte.BFj7Iv3L.js";import{M as Et}from"../chunks/Main.B9oV9Is2.js";import{C as Nt}from"../chunks/ContentCenter.DlYnOTAE.js";import{T as Wt,L as At}from"../chunks/LangSelector.BrxfVQ9N.js";function ba(M,v){var a=me(),s=X(a);{var x=b=>{ia(b,{color:"hsl(var(--action))"})},i=b=>{qa(b,{color:"hsl(var(--error))"})};I(s,b=>{v.checked?b(x):b(i,!1)})}n(M,a)}function zt(M,v,a){v()||a()}function Mt(M){M.stopPropagation()}var Rt=$(''),Vt=$('
      '),Ut=$('
      ');function Ft(M,v){Ce(v,!0);let a=H(v,"showModal",15),s=H(v,"closeModal",15),x=H(v,"strict",3,!1),i=H(v,"prerender",3,!1),b=We(),g;Fe(()=>{s(c)}),Fe(()=>{a()&&(g==null||g.showModal())});function c(C){C==null||C.preventDefault(),g==null||g.close(),a(!1)}var h=Ut();h.__click=[zt,x,c];var u=r(h);u.__click=[Mt];var z=r(u);{var W=C=>{var Q=Vt(),_=r(Q),L=r(_);ke(L,{get ariaLabel(){return b.common.close},invisible:!0,onclick:c,children:(w,j)=>{var S=Rt(),se=r(S);qa(se,{color:"currentColor",width:"1.2rem"}),t(S),n(w,S)},$$slots:{default:!0}}),t(_),t(Q),n(C,Q)};I(z,C=>{x()||C(W)})}var T=o(z,2);{var Y=C=>{var Q=me(),_=X(Q);La(_,()=>v.children),n(C,Q)};I(T,C=>{(i()||a())&&C(Y)})}t(u),t(h),Da(h,C=>g=C,()=>g),k(()=>de(h,"data-strict",x())),oa("close",h,()=>{var C;a(!1),(C=v.onClose)==null||C.call(v)}),n(M,h),Pe()}pa(["click"]);var Jt=$(''),Ht=$('
      '),Yt=$('

      ',1),Bt=$(" ",1),Ot=$('
      '),jt=$('
      '),St=$('
      WebID:
      '),Gt=$('
      ');function za(M,v){Ce(v,!0);let a=H(v,"user",15),s=We(),x=R(!1),i=R(!1),b=_e(()=>{var O;return(O=a().account_type)==null?void 0:O.startsWith("federated")}),g=_e(()=>{var O;return e(b)?`${a().account_type}: ${((O=v.authProvider)==null?void 0:O.name)||""}`:a().account_type}),c=_e(()=>v.viewModePhone?"rowPhone":"row"),h=_e(()=>v.viewModePhone?"labelPhone":"label");function u(O){st(64,(ie,{challenge:ue,verifier:be})=>{ie||(localStorage.setItem(vt,be),z(O,ue))})}async function z(O,ie){let ue={email:a().email,client_id:"rauthy",redirect_uri:window.location.href,provider_id:O,pkce_challenge:ie},be=await Ca(`/auth/v1/providers/${O}/link`,ue);if(be.text){ot(be.text);let he=be.headers.get("location");he&&(window.location.href=he)}else console.error(be.error)}async function W(){let O=await mt("/auth/v1/providers/link");O.body?a(O.body):(console.error(O.error),l(x,!0))}var T=Gt(),Y=r(T),C=r(Y),Q=r(C,!0);t(C);var _=o(C,2),L=r(_,!0);t(_),t(Y);var w=o(Y,2),j=r(w),S=r(j,!0);t(j);var se=o(j,2),oe=r(se,!0);t(se),t(w);var re=o(w,2),f=r(re),p=r(f,!0);t(f);var E=o(f,2),m=r(E,!0);t(E),t(re);var G=o(re,2),ne=r(G),fe=r(ne);t(ne);var y=o(ne,2),U=r(y,!0);t(y),t(G);var F=o(G,2),V=r(F),B=r(V,!0);t(V);var ve=o(V,2),K=r(ve),pe=r(K,!0);t(K);var le=o(K,2);{var $e=O=>{var ie=Ht(),ue=r(ie);ke(ue,{get ariaLabel(){return s.account.providerUnlink},level:3,onclick:W,children:(Le,Ue)=>{we();var Be=ye();k(()=>d(Be,s.account.providerUnlink)),n(Le,Be)},$$slots:{default:!0}});var be=o(ue,2);{var he=Le=>{var Ue=Jt(),Be=r(Ue,!0);t(Ue),k(()=>d(Be,s.account.providerUnlinkDesc)),n(Le,Ue)};I(be,Le=>{e(x)&&Le(he)})}t(ie),n(O,ie)},J=O=>{var ie=me(),ue=X(ie);{var be=he=>{var Le=Bt(),Ue=X(Le);ke(Ue,{level:2,onclick:()=>l(i,!0),children:(Xe,Ga)=>{we();var Ze=ye();k(()=>d(Ze,s.account.providerLink)),n(Xe,Ze)},$$slots:{default:!0}});var Be=o(Ue,2);Ft(Be,{get showModal(){return e(i)},set showModal(Xe){l(i,q(Xe))},children:(Xe,Ga)=>{var Ze=Yt(),ca=X(Ze),Ka=r(ca,!0);t(ca);var da=o(ca,2),Qa=r(da,!0);t(da);var $a=o(da,2);fa($a,21,()=>v.providers,ua=>ua.id,(ua,xa)=>{var Xa=_e(()=>`${s.account.providerLink}: ${e(xa).name}`);ft(ua,{get ariaLabel(){return e(Xa)},get provider(){return e(xa)},onclick:u})}),t($a),k(()=>{d(Ka,s.account.providerLink),d(Qa,s.account.providerLinkDesc)}),n(Xe,Ze)},$$slots:{default:!0}}),n(he,Le)};I(ue,he=>{v.providers.length>0&&he(be)},!0)}n(O,ie)};I(le,O=>{e(b)?O($e):O(J,!1)})}t(ve),t(F);var P=o(F,2),D=r(P),A=r(D,!0);t(D);var ae=o(D,2),ge=r(ae,!0);t(ae),t(P);var N=o(P,2),te=r(N),ce=r(te,!0);t(te);var Ie=o(te,2),qe=r(Ie,!0);t(Ie),t(N);var xe=o(N,2),De=r(xe),Ge=r(De,!0);t(De);var Je=o(De,2),aa=_e(()=>!!a().webauthn_user_id);ba(Je,{get checked(){return e(aa)}}),t(xe);var Te=o(xe,2),ze=r(Te),na=r(ze,!0);t(ze);var ta=o(ze,2);ba(ta,{get checked(){return a().enabled}}),t(Te);var He=o(Te,2),Ye=r(He),la=r(Ye,!0);t(Ye);var Ne=o(Ye,2);ba(Ne,{get checked(){return a().email_verified}}),t(He);var Me=o(He,2);{var Ke=O=>{var ie=Ot(),ue=r(ie),be=r(ue,!0);t(ue);var he=o(ue,2),Le=r(he,!0);k(()=>d(Le,Oe(a().last_login))),t(he),t(ie),k(()=>{Z(ie,ee(e(c)),"svelte-1tea8v4"),Z(ue,ee(e(h)),"svelte-1tea8v4"),d(be,s.account.lastLogin)}),n(O,ie)};I(Me,O=>{a().last_login&&O(Ke)})}var Ee=o(Me,2),Re=r(Ee),ya=r(Re,!0);t(Re);var Qe=o(Re,2),Ha=r(Qe,!0);k(()=>d(Ha,a().password_expires&&Oe(a().password_expires)||s.common.never)),t(Qe),t(Ee);var ra=o(Ee,2),sa=r(ra),Ya=r(sa,!0);t(sa);var ka=o(sa,2),Ba=r(ka,!0);k(()=>d(Ba,Oe(a().created_at))),t(ka),t(ra);var _a=o(ra,2);{var Oa=O=>{var ie=jt(),ue=r(ie),be=r(ue,!0);t(ue);var he=o(ue,2),Le=r(he,!0);k(()=>d(Le,Oe(a().user_expires))),t(he),t(ie),k(()=>{Z(ie,ee(e(c)),"svelte-1tea8v4"),Z(ue,ee(e(h)),"svelte-1tea8v4"),d(be,s.account.userExpiry)}),n(O,ie)};I(_a,O=>{a().user_expires&&O(Oa)})}var ja=o(_a,2);{var Sa=O=>{var ie=St(),ue=r(ie),be=o(ue,2),he=r(be);k(()=>de(he,"href",ma(a().id)));var Le=r(he);Ia(Le,()=>ma(a().id).replace("/auth/","/auth/")),t(he),t(be),t(ie),k(()=>{Z(ie,ee(e(c)),"svelte-1tea8v4"),Z(ue,ee(e(h)),"svelte-1tea8v4")}),n(O,ie)};I(ja,O=>{v.webIdData&&O(Sa)})}t(T),k(()=>{Z(Y,ee(e(c)),"svelte-1tea8v4"),Z(C,ee(e(h)),"svelte-1tea8v4"),d(Q,s.common.email),d(L,a().email),Z(w,ee(e(c)),"svelte-1tea8v4"),Z(j,ee(e(h)),"svelte-1tea8v4"),d(S,s.account.givenName),d(oe,a().given_name),Z(re,ee(e(c)),"svelte-1tea8v4"),Z(f,ee(e(h)),"svelte-1tea8v4"),d(p,s.account.familyName),d(m,a().family_name),Z(G,ee(e(c)),"svelte-1tea8v4"),Z(ne,ee(e(h)),"svelte-1tea8v4"),d(fe,`${s.account.user??""} ID`),d(U,a().id),Z(F,ee(e(c)),"svelte-1tea8v4"),Z(V,ee(e(h)),"svelte-1tea8v4"),d(B,s.account.accType),d(pe,e(g)||""),Z(P,ee(e(c)),"svelte-1tea8v4"),Z(D,ee(e(h)),"svelte-1tea8v4"),d(A,s.account.roles),d(ge,a().roles||"None"),Z(N,ee(e(c)),"svelte-1tea8v4"),Z(te,ee(e(h)),"svelte-1tea8v4"),d(ce,s.account.groups),d(qe,a().groups||"None"),Z(xe,ee(e(c)),"svelte-1tea8v4"),Z(De,ee(e(h)),"svelte-1tea8v4"),d(Ge,s.account.mfaActivated),Z(Te,ee(e(c)),"svelte-1tea8v4"),Z(ze,ee(e(h)),"svelte-1tea8v4"),d(na,s.account.userEnabled),Z(He,ee(e(c)),"svelte-1tea8v4"),Z(Ye,ee(e(h)),"svelte-1tea8v4"),d(la,s.account.emailVerified),Z(Ee,ee(e(c)),"svelte-1tea8v4"),Z(Re,ee(e(h)),"svelte-1tea8v4"),d(ya,s.account.passwordExpiry),Z(ra,ee(e(c)),"svelte-1tea8v4"),Z(sa,ee(e(h)),"svelte-1tea8v4"),d(Ya,s.account.userCreated)}),n(M,T),Pe()}var Kt=$('
      '),Qt=$("

      "),Xt=$('
      '),Zt=$('
      ',1),er=$('
      ');function Ma(M,v){var z;Ce(v,!0);let a=H(v,"user",15);(z=a().user_values)!=null&&z.birthdate||a(a().user_values.birthdate="",!0);let s=We(),x=R(""),i=R(!1),b=R(!1);async function g(W,T){var p;const Y=T.get("email"),C=T.get("family_name")||void 0,Q=T.get("given_name")||void 0,_=T.get("birthdate")||void 0,L=((p=T.get("phone"))==null?void 0:p.replaceAll(" ",""))||void 0,w=T.get("street")||void 0,j=T.get("zip")||void 0,S=j?Number.parseInt(j):void 0,se=T.get("city")||void 0,oe=T.get("country")||void 0;let re={email:Y,family_name:C,given_name:Q,user_values:{birthdate:_,phone:L,street:w,zip:S,city:se,country:oe}},f=await Pa(`/auth/v1/users/${a().id}/self`,re);if(f.body){l(i,!0),a(f.body);let E=3e3;f.status===202&&(l(b,!0),E=3e4),setTimeout(()=>{l(i,!1)},E)}else f.error&&(console.error(f.error),l(x,q(f.error.message)))}var c=er(),h=r(c),u=_e(()=>`/auth/v1/users/${a().id}/self`);gt(h,{get action(){return e(u)},onSubmit:g,children:(W,T)=>{var Y=Zt(),C=X(Y),Q=r(C),_=r(Q);Ae(_,{typ:"email",name:"email",get label(){return s.common.email},get placeholder(){return s.common.email},get value(){return a().email},required:!0});var L=o(_,2);Ae(L,{name:"given_name",autocomplete:"given-name",get label(){return s.account.givenName},get placeholder(){return s.account.givenName},get value(){return a().given_name},required:!0,maxLength:32,pattern:ha});var w=o(L,2);Ae(w,{name:"family_name",autocomplete:"family-name",get label(){return s.account.familyName},get placeholder(){return s.account.familyName},get value(){return a().family_name},maxLength:32,pattern:ha});var j=o(w,2);bt(j,{name:"birthdate",get label(){return s.account.birthdate},withDelete:!0,get value(){return a().user_values.birthdate},set value(V){a(a().user_values.birthdate=V,!0)}}),t(Q);var S=o(Q,2),se=r(S);Ae(se,{name:"street",autocomplete:"street-address",get label(){return s.account.street},get placeholder(){return s.account.street},get value(){return a().user_values.street},maxLength:48,pattern:ht});var oe=o(se,2);Ae(oe,{typ:"number",name:"zip",autocomplete:"postal-code",get label(){return s.account.zip},get placeholder(){return s.account.zip},get value(){return a().user_values.zip},min:"1000",max:"9999999"});var re=o(oe,2);Ae(re,{name:"city",autocomplete:"address-level2",get label(){return s.account.city},get placeholder(){return s.account.city},get value(){return a().user_values.city},maxLength:48,pattern:Ea});var f=o(re,2);Ae(f,{name:"country",autocomplete:"country",get label(){return s.account.country},get placeholder(){return s.account.country},get value(){return a().user_values.country},maxLength:48,pattern:Ea});var p=o(f,2);Ae(p,{name:"phone",autocomplete:"tel",get label(){return s.account.phone},get placeholder(){return s.account.phone},get value(){return a().user_values.phone},maxLength:32,pattern:wt}),t(S),t(C);var E=o(C,2),m=r(E),G=r(m);ke(G,{type:"submit",children:(V,B)=>{we();var ve=ye();k(()=>d(ve,s.common.save)),n(V,ve)},$$slots:{default:!0}}),t(m);var ne=o(m,2);{var fe=V=>{var B=Kt(),ve=r(B);ia(ve,{}),t(B),Ve(3,B,()=>je),n(V,B)};I(ne,V=>{e(i)&&V(fe)})}t(E);var y=o(E,2);{var U=V=>{var B=Qt(),ve=r(B,!0);t(B),k(()=>d(ve,s.account.emailUpdateConfirm)),n(V,B)},F=V=>{var B=me(),ve=X(B);{var K=pe=>{var le=Xt(),$e=r(le,!0);t(le),k(()=>d($e,e(x))),Ve(3,le,()=>je),n(pe,le)};I(ve,pe=>{e(x)&&pe(K)},!0)}n(V,B)};I(y,V=>{e(b)?V(U):V(F,!1)})}n(W,Y)},$$slots:{default:!0}}),t(c),n(M,c),Pe()}var ar=at('');function tr(M,v){let a=H(v,"opacity",3,.9),s=H(v,"width",3,24),x=H(v,"color",3,"currentColor");var i=ar();de(i,"stroke-width",2),k(()=>{de(i,"stroke",x()),de(i,"width",s()),de(i,"opacity",a())}),n(M,i)}var rr=$('
      Your browser does not support Webauthn credentials and must be updated.
      '),sr=$('
      ',1),vr=$('
      '),or=$('
      '),ir=$("
      "),nr=$('
      '),lr=$('
      '),cr=$('
      '),dr=$('



      ',1),ur=$('
      ');function Ra(M,v){Ce(v,!0);const a="credentials"in navigator;let s=We(),x=Na("account"),i=_e(()=>{var f;return(f=x.get())==null?void 0:f.user_id}),b=R(void 0),g=R(!1),c=R(""),h=R(!1),u=R(v.user.account_type==="password"),z=R(void 0),W=R(""),T=R(!1),Y=R(q([]));va(()=>{Q()}),Fe(()=>{e(Y).length>0&&v.user.account_type==="passkey"&&l(u,e(Y).length>1)}),Fe(()=>{var f;(f=e(b))==null||f.focus()});function C(){l(g,!1),l(c,"")}async function Q(){var p;let f=await ea(`/auth/v1/users/${(p=x.get())==null?void 0:p.user_id}/webauthn`);f.body?l(Y,q(f.body)):console.error(f.error)}async function _(){if(C(),e(T)||!e(i))return;if(e(W).length<1){l(g,!0),l(c,q(s.mfa.passkeyNameErr));return}let f=await $t(e(i),e(W),s.authorize.invalidKeyUsed,s.authorize.requestExpired);f.error?(l(g,!0),l(c,`${s.mfa.errorReg} - ${f.error}`)):(l(h,!1),l(W,""),await Q())}async function L(f){let p=await yt(v.user.id,f);if(p.status===200)await Q();else{let E=await p.json();l(g,!0),l(c,q(E.message))}}function w(f){l(z,void 0),l(g,!0),l(c,q(f)),setTimeout(()=>{l(g,!1),l(c,"")},5e3)}function j(f){l(z,void 0),l(c,q(s.mfa.testSuccess)),setTimeout(()=>{l(c,"")},3e3)}var S=ur(),se=r(S);{var oe=f=>{var p=rr();n(f,p)},re=f=>{var p=dr(),E=X(p);{var m=J=>{Wa(J,{get userId(){return v.user.id},get purpose(){return e(z)},onSuccess:j,onError:w})};I(E,J=>{e(z)&&J(m)})}var G=o(E,2),ne=r(G),fe=o(ne,3);t(G);var y=o(G,2);{var U=J=>{var P=sr(),D=X(P);Ae(D,{autocomplete:"off",get label(){return s.mfa.passkeyName},get placeholder(){return s.mfa.passkeyName},maxLength:32,pattern:ha,onEnter:_,get ref(){return e(b)},set ref(N){l(b,q(N))},get value(){return e(W)},set value(N){l(W,q(N))},get isError(){return e(T)},set isError(N){l(T,q(N))}});var A=o(D,2),ae=r(A);ke(ae,{onclick:_,children:(N,te)=>{we();var ce=ye();k(()=>d(ce,s.mfa.register)),n(N,ce)},$$slots:{default:!0}});var ge=o(ae,2);ke(ge,{level:3,onclick:()=>l(h,!1),children:(N,te)=>{we();var ce=ye();k(()=>d(ce,s.common.cancel)),n(N,ce)},$$slots:{default:!0}}),t(A),n(J,P)},F=J=>{var P=vr(),D=r(P),A=_e(()=>e(Y).length===0?1:2);ke(D,{get level(){return e(A)},onclick:()=>l(h,!0),children:(ae,ge)=>{we();var N=ye();k(()=>d(N,s.mfa.registerNew)),n(ae,N)},$$slots:{default:!0}}),t(P),n(J,P)};I(y,J=>{e(h)?J(U):J(F,!1)})}var V=o(y,2);{var B=J=>{var P=or(),D=r(P,!0);t(P),k(()=>d(D,s.mfa.registerdKeys)),n(J,P)};I(V,J=>{e(Y).length>0&&J(B)})}var ve=o(V,2);fa(ve,21,()=>e(Y),J=>J.name,(J,P)=>{var D=lr(),A=r(D),ae=r(A),ge=r(ae,!0);t(ae);var N=o(ae,2),te=r(N),ce=r(te,!0);t(te);var Ie=o(te,2);{var qe=Ne=>{xt(Ne,{get text(){return s.account.userVerifiedTooltip},children:(Me,Ke)=>{var Ee=ir();Se(Ee,"margin-bottom","-.25rem");var Re=r(Ee);tr(Re,{width:18,color:"var(--col-acnt)"}),t(Ee),n(Me,Ee)},$$slots:{default:!0}})};I(Ie,Ne=>{e(P).user_verified&&Ne(qe)})}t(N),t(A);var xe=o(A,2),De=r(xe),Ge=r(De,!0);t(De);var Je=o(De,2),aa=r(Je,!0);k(()=>d(aa,Oe(e(P).registered))),t(Je),t(xe);var Te=o(xe,2),ze=r(Te),na=r(ze,!0);t(ze);var ta=o(ze,2),He=r(ta,!0);k(()=>d(He,Oe(e(P).last_used))),t(ta),t(Te);var Ye=o(Te,2);{var la=Ne=>{var Me=nr(),Ke=o(r(Me),2),Ee=r(Ke);ke(Ee,{level:-3,onclick:()=>L(e(P).name),children:(Re,ya)=>{we();var Qe=ye();k(()=>d(Qe,s.common.delete)),n(Re,Qe)},$$slots:{default:!0}}),t(Ke),t(Me),n(Ne,Me)};I(Ye,Ne=>{e(u)&&Ne(la)})}t(D),k(()=>{d(ge,s.mfa.passkeyName),d(ce,e(P).name),d(Ge,s.mfa.registerd),d(na,s.mfa.lastUsed)}),n(J,D)}),t(ve);var K=o(ve,2);{var pe=J=>{var P=cr(),D=r(P);ke(D,{onclick:()=>l(z,"Test"),children:(A,ae)=>{we();var ge=ye();k(()=>d(ge,s.mfa.test)),n(A,ge)},$$slots:{default:!0}}),t(P),n(J,P)};I(K,J=>{e(Y).length>0&&J(pe)})}var le=o(K,2),$e=r(le,!0);t(le),k(()=>{d(ne,`${s.mfa.p1??""} `),d(fe,` ${s.mfa.p2??""}`),ga(le,"success",!e(g)),ga(le,"err",e(g)),d($e,e(c))}),n(f,p)};I(se,f=>{a?f(re,!1):f(oe)})}t(S),n(M,S),Pe()}var pr=$('
      ');function mr(M,v){Ce(v,!0);let a=H(v,"passwords",15),s=H(v,"hideCurrentPassword",3,!1),x=H(v,"isValid",15),i=We();x(W);let b=R(!1),g=R(""),c=R(void 0),h=_e(()=>{var _;return((_=a().new)==null?void 0:_.length)>6&&a().new===a().newConfirm}),u=R(void 0),z=R(void 0);va(async()=>{let _=await ea("/auth/v1/password_policy");_.body?l(c,q(_.body)):console.error(_.error)});function W(){return l(g,""),!s()&&!a().current?(l(g,q(i.account.passwordCurrReq)),!1):a().new?a().newConfirm?e(b)?a().new.length>256?(l(g,"max 256"),!1):a().new!==a().newConfirm?(l(g,q(i.account.passwordNoMatch)),!1):!0:(l(g,q(i.account.passwordPolicyFollow)),!1):(l(g,q(i.account.passwordNewReq)),!1):(l(g,q(i.account.passwordNewReq)),!1)}function T(){if(l(g,""),e(c)){let _=it(e(c));a(a().new=_,!0),a(a().newConfirm=_,!0)}requestAnimationFrame(()=>{var _,L;(_=e(u))==null||_(),(L=e(z))==null||L()})}var Y=me(),C=X(Y);{var Q=_=>{var L=pr(),w=r(L);It(w,{get policy(){return e(c)},get password(){return a().new},get accepted(){return e(b)},set accepted(m){l(b,q(m))}});var j=o(w,2);{var S=m=>{wa(m,{autocomplete:"current-password",get label(){return i.account.passwordCurr},get placeholder(){return i.account.passwordCurr},onInput:W,get width(){return v.inputWidth},get value(){return a().current},set value(G){a(a().current=G,!0)}})};I(j,m=>{s()||m(S)})}var se=o(j,2);wa(se,{autocomplete:"new-password",get label(){return i.account.passwordNew},get placeholder(){return i.account.passwordNew},onInput:W,get showCopy(){return e(h)},get width(){return v.inputWidth},get value(){return a().new},set value(m){a(a().new=m,!0)},get reportValidity(){return e(u)},set reportValidity(m){l(u,q(m))}});var oe=o(se,2);wa(oe,{autocomplete:"new-password",get label(){return i.account.passwordConfirm},get placeholder(){return i.account.passwordConfirm},onInput:W,get showCopy(){return e(h)},get width(){return v.inputWidth},get value(){return a().newConfirm},set value(m){a(a().newConfirm=m,!0)},get reportValidity(){return e(z)},set reportValidity(m){l(z,q(m))}});var re=o(oe,2),f=r(re);ke(f,{onclick:T,level:2,children:(m,G)=>{we();var ne=ye();k(()=>d(ne,i.account.generateRandom)),n(m,ne)},$$slots:{default:!0}}),t(re);var p=o(re,2),E=r(p,!0);t(p),t(L),k(()=>d(E,e(g))),n(_,L)};I(C,_=>{e(c)&&_(Q)})}return n(M,Y),Pe({isPwdValid:W})}var fr=$('

      '),gr=$("

      ",1),hr=$('
      '),wr=$('
      '),br=$('
      '),yr=$('

      '),kr=$('
      ',1),_r=$('
      ');function Va(M,v){Ce(v,!0);let a=H(v,"user",15),s=We(),x=_e(()=>v.viewModePhone?"calc(100vw - 1.5rem)":"300px"),i=R(q(a().account_type)),b=R(q([])),g=R(void 0),c=R(!1),h=R(!1),u=R(""),z=R(!1),W=R(void 0),T=R(q({current:"",new:"",newConfirm:""})),Y=_e(()=>e(b).filter(y=>y.user_verified).length>0);va(()=>{C()});async function C(){let y=await ea(`/auth/v1/users/${a().id}/webauthn`);y.body?l(b,q(y.body)):console.error("error fetching passkeys: "+y.error)}async function Q(){let y=await Ca(`/auth/v1/users/${a().id}/self/convert_passkey`);y.error?console.error("error fetching passkeys: "+y.error):window.location.reload()}async function _(){l(u,""),e(b).length>0?await L():await w()}async function L(){var y;if(!((y=e(g))!=null&&y())){l(u,q(s.common.invalidInput));return}l(W,"PasswordNew")}async function w(y){var V,B;if(!((V=e(g))!=null&&V())){l(u,q(s.common.invalidInput));return}l(h,!0);let U={password_new:e(T).new};y?U.mfa_code=y:U.password_current=e(T).current;let F=await Pa(`/auth/v1/users/${a().id}/self`,U);F.body?(l(z,!0),l(T,q({current:"",new:"",newConfirm:""})),a(F.body),l(i,q(F.body.account_type)),setTimeout(()=>{l(z,!1),l(c,!1)},3e3)):l(u,q(((B=F.error)==null?void 0:B.message)||"Error")),l(h,!1)}function j(y){l(W,void 0),l(u,q(y)),setTimeout(()=>{l(u,"")},5e3)}function S(y){l(W,void 0),y&&"code"in y&&w(y.code)}async function se(){let y=await kt({email:a().email});if(y.ok)l(z,!0);else{let U=await y.json();l(u,q(U.message))}}var oe=_r(),re=r(oe);{var f=y=>{Wa(y,{get userId(){return a().id},get purpose(){return e(W)},onSuccess:S,onError:j})};I(re,y=>{e(W)&&y(f)})}var p=o(re,2);{var E=y=>{var U=fr(),F=r(U),V=r(F,!0);t(F);var B=o(F,2),ve=r(B),K=r(ve,!0);t(ve),t(B);var pe=o(B,2);Se(pe,"height",".3rem");var le=o(pe,2),$e=r(le,!0);t(le);var J=o(le,2);{var P=A=>{qt(A,{check:!0})},D=A=>{ke(A,{level:2,onclick:se,children:(ae,ge)=>{we();var N=ye();k(()=>d(N,s.account.passwordReset)),n(ae,N)},$$slots:{default:!0}})};I(J,A=>{e(z)?A(P):A(D,!1)})}t(U),k(()=>{var A;d(V,s.account.federatedConvertPassword1),d(K,((A=v.authProvider)==null?void 0:A.name)||"UNKNOWN"),d($e,s.account.federatedConvertPassword2)}),n(y,U)};I(p,y=>{e(i)==="federated"&&y(E)})}var m=o(p,2);{var G=y=>{var U=gr(),F=X(U),V=r(F,!0);t(F);var B=o(F,2),ve=r(B,!0);t(B);var K=o(B,2),pe=r(K,!0);t(K);var le=o(K,2),$e=r(le);ke($e,{level:2,onclick:()=>l(c,!0),children:(J,P)=>{we();var D=ye();k(()=>d(D,s.account.convertAccount)),n(J,D)},$$slots:{default:!0}}),t(le),k(()=>{d(V,s.account.accTypePasskeyText1),d(ve,s.account.accTypePasskeyText2),d(pe,s.account.accTypePasskeyText3)}),n(y,U)};I(m,y=>{(e(i)==="passkey"||e(i)==="federated_passkey")&&!e(c)&&y(G)})}var ne=o(m,2);{var fe=y=>{var U=kr(),F=X(U),V=r(F),B=_e(()=>!(e(i)==="password"&&e(b).length<1));mr(V,{get inputWidth(){return e(x)},get hideCurrentPassword(){return e(B)},get passwords(){return e(T)},set passwords(D){l(T,q(D))},get isValid(){return e(g)},set isValid(D){l(g,q(D))}});var ve=o(V,2),K=r(ve);ke(K,{onclick:_,level:1,get isLoading(){return e(h)},children:(D,A)=>{we();var ae=ye();k(()=>d(ae,s.common.save)),n(D,ae)},$$slots:{default:!0}});var pe=o(K,2);{var le=D=>{var A=hr(),ae=r(A);ia(ae,{}),t(A),Ve(3,A,()=>je),n(D,A)},$e=D=>{var A=me(),ae=X(A);{var ge=te=>{var ce=wr(),Ie=r(ce,!0);t(ce),k(()=>d(Ie,e(u))),Ve(3,ce,()=>je),n(te,ce)},N=te=>{var ce=me(),Ie=X(ce);{var qe=xe=>{var De=br(),Ge=r(De);ke(Ge,{level:3,onclick:()=>l(c,!1),children:(Je,aa)=>{we();var Te=ye();k(()=>d(Te,s.common.cancel)),n(Je,Te)},$$slots:{default:!0}}),t(De),n(xe,De)};I(Ie,xe=>{e(c)&&!e(h)&&xe(qe)},!0)}n(te,ce)};I(ae,te=>{e(u)?te(ge):te(N,!1)},!0)}n(D,A)};I(pe,D=>{e(z)?D(le):D($e,!1)})}t(ve),t(F);var J=o(F,2);{var P=D=>{var A=yr(),ae=r(A),ge=r(ae,!0);t(ae);var N=o(ae,2),te=r(N,!0);t(N);var ce=o(N,2);ke(ce,{level:2,onclick:Q,children:(Ie,qe)=>{we();var xe=ye();k(()=>d(xe,s.account.convertAccount)),n(Ie,xe)},$$slots:{default:!0}}),t(A),k(()=>{d(ge,s.account.convertAccount),d(te,s.account.convertAccountP1)}),n(D,A)};I(J,D=>{!e(c)&&e(Y)&&D(P)})}n(y,U)};I(ne,y=>{(e(i)==="password"||e(i)==="federated_password"||e(c))&&y(fe)})}t(oe),n(M,oe),Pe()}function $r(M,v){M.code==="Enter"&&v()}var xr=$('
      ');function Ua(M,v){Ce(v,!0);let a=H(v,"checked",15,!1),s=H(v,"ariaLabel",3,""),x=H(v,"name",3,"");function i(){a(!a())}var b=xr(),g=r(b),c=r(g);La(c,()=>v.children),t(g);var h=o(g,2),u=r(h);pt(u),u.__click=i,u.__keydown=[$r,i],we(2),t(h),t(b),k(()=>{Se(g,"width",v.labelWidth),de(u,"name",x()),u.disabled=v.disabled,de(u,"aria-checked",a()),de(u,"aria-label",s())}),Lt(u,a),n(M,b),Pe()}pa(["click","keydown"]);function Ir(M,v){v()}function qr(M,v,a){var s,x,i,b;switch(v(),M.code){case"ArrowUp":(s=a.onUp)==null||s.call(a);break;case"ArrowDown":(x=a.onDown)==null||x.call(a);break;case"ArrowLeft":(i=a.onLeft)==null||i.call(a);break;case"ArrowRight":(b=a.onRight)==null||b.call(a);break}}var Lr=$('
      '),Dr=$(`
      `);function Cr(M,v){Ce(v,!0);let a=H(v,"ref",15),s=H(v,"id",19,nt),x=H(v,"value",15,""),i=H(v,"label",3,""),b=H(v,"rows",3,3),g=H(v,"placeholder",3,""),c=H(v,"errMsg",3,""),h=H(v,"disabled",3,!1),u=H(v,"required",3,!1),z=H(v,"isError",15,!1),W=H(v,"width",3,"inherit");const T=v.pattern?new RegExp(v.pattern,"gm"):void 0;function Y(f){var p;_(),(p=v.onBlur)==null||p.call(v)}function C(f){f.preventDefault(),z(!0)}function Q(f){_()}function _(){var f,p;return T&&(x().match(T).length>2?((f=a())==null||f.setCustomValidity(c()),z(!0)):((p=a())==null||p.setCustomValidity(""),z(!1))),!0}var L=Dr(),w=r(L);tt(w),w.__input=[Ir,_],w.__keydown=[qr,_,v],Da(w,f=>a(f),()=>a());var j=o(w,2),S=r(j),se=r(S,!0);t(S);var oe=o(S,2);{var re=f=>{var p=Lr(),E=r(p,!0);t(p),k(()=>d(E,c())),Ve(3,p,()=>Ta),n(f,p)};I(oe,f=>{z()&&f(re)})}t(j),t(L),k(()=>{Se(L,"width",W()),de(w,"id",s()),de(w,"name",v.name),de(w,"title",c()),de(w,"aria-label",i()||g()),de(w,"rows",b()),de(w,"placeholder",g()),de(w,"aria-placeholder",g()),w.disabled=h(),de(w,"aria-disabled",h()),de(w,"maxlength",v.maxLength||void 0),w.required=u()||void 0,de(w,"aria-required",u()||!1),de(w,"aria-invalid",z()),de(S,"for",s()),de(S,"data-required",u()),d(se,i())}),oa("submit",w,Q),oa("invalid",w,C),oa("blur",w,Y),Dt(w,x),n(M,L),Pe()}pa(["input","keydown"]);var Pr=$("

      "),Tr=$('
      '),Er=$('
      '),Nr=$('

      ');function Fa(M,v){Ce(v,!0);let a=H(v,"webIdData",15),s=We();const x="14rem";let i=R(""),b=R(!1),g=R(!!a().custom_triples),c=ma(a().user_id);Fe(()=>{e(b)&&setTimeout(()=>{l(b,!1)},3e3)});async function h(){l(i,"");let p=await _t(a().user_id,a());if(p.ok)l(b,!0);else{let E=await p.json();l(i,q(E.message))}}var u=Nr(),z=r(u),W=r(z,!0);t(z);var T=o(z,2),Y=r(T);Ct(Y,{href:c,target:"_blank",children:(p,E)=>{var m=me(),G=X(m);Ia(G,()=>c.replace("/auth/","/auth/")),n(p,m)},$$slots:{default:!0}}),t(T);var C=o(T,2),Q=r(C);Ua(Q,{ariaLabel:"E-Mail",labelWidth:x,get checked(){return a().expose_email},set checked(p){a(a().expose_email=p,!0)},children:(p,E)=>{we();var m=ye("E-Mail");n(p,m)},$$slots:{default:!0}}),t(C);var _=o(C,2),L=r(_);Ua(L,{get ariaLabel(){return s.account.webIdExpertMode},labelWidth:x,get checked(){return e(g)},set checked(p){l(g,q(p))},children:(p,E)=>{we();var m=ye();k(()=>d(m,s.account.webIdExpertMode)),n(p,m)},$$slots:{default:!0}}),t(_);var w=o(_,2);{var j=p=>{var E=Pr(),m=r(E),G=r(m,!0);t(m);var ne=o(m,2);Cr(ne,{placeholder:"FOAF",rows:15,get value(){return a().custom_triples},set value(fe){a(a().custom_triples=fe,!0)}}),t(E),k(()=>d(G,s.account.webIdDescData)),Ve(3,E,()=>Ta),n(p,E)};I(w,p=>{e(g)&&p(j)})}var S=o(w,2),se=r(S);ke(se,{onclick:h,children:(p,E)=>{we();var m=ye();k(()=>d(m,s.common.save)),n(p,m)},$$slots:{default:!0}});var oe=o(se,2);{var re=p=>{var E=Tr(),m=r(E);ia(m,{}),t(E),Ve(3,E,()=>je),n(p,E)},f=p=>{var E=me(),m=X(E);{var G=ne=>{var fe=Er(),y=r(fe,!0);t(fe),k(()=>d(y,e(i))),Ve(3,fe,()=>je),n(ne,fe)};I(m,ne=>{e(i)&&ne(G)},!0)}n(p,E)};I(oe,p=>{e(b)?p(re):p(f,!1)})}t(S),t(u),k(()=>d(W,s.account.webIdDesc)),n(M,u),Pe()}function Wr(M){Aa(M,{viewMode:"account"})}var Ar=$(' '),zr=$('
      ');function Ja(M,v){Ce(v,!0);let a=H(v,"selected",15,""),s=H(v,"borderRadius",3,"5px"),x=H(v,"center",3,!1),i=H(v,"width",3,"inherit");v.tabs.length>0&&a()===""&&a(v.tabs[0]);var b=zr();fa(b,21,()=>v.tabs,ut,(g,c)=>{var h=_e(()=>e(c)===a()?"step":void 0);ke(g,{get ariaCurrent(){return e(h)},invisible:!0,onclick:()=>a(e(c)),children:(u,z)=>{var W=Ar(),T=r(W,!0);t(W),k(()=>{de(W,"data-selected",e(c)===a()),d(T,e(c))}),n(u,W)},$$slots:{default:!0}})}),t(b),k(()=>{ga(b,"center",x()),Se(b,"border-radius",s()),Se(b,"width",i())}),n(M,b),Pe()}var Mr=$("

      "),Rr=$('
      ',1),Vr=$('
      ',1),Ur=$('
      ',1);function Fr(M,v){Ce(v,!0);const a=L=>{var w=Mr(),j=r(w,!0);t(w),k(()=>d(j,`${s().given_name} ${s().family_name||""}`)),n(L,w)};let s=H(v,"user",15),x=H(v,"webIdData",15),i=We(),b=R(void 0),g=R(q([])),c=_e(()=>{var L;if((L=s().account_type)!=null&&L.startsWith("federated"))return e(g).filter(w=>w.id===s().auth_provider_id)[0]}),h=_e(()=>e(b)&&e(b)<500),u=R(q(i.account.navInfo)),z=q(x()?[i.account.navInfo,i.account.navEdit,i.common.password,i.account.navMfa,"WebID",i.account.devices,i.account.navLogout]:[i.account.navInfo,i.account.navEdit,i.common.password,i.account.navMfa,i.account.devices,i.account.navLogout]);va(()=>{Tt("v").get()==="devices"&&l(u,q(i.account.devices))}),Fe(()=>{e(u)===i.account.navLogout&<()});var W=Ur(),T=X(W);Pt(T,{id:ct,get value(){return e(g)},set value(L){l(g,q(L))}});var Y=o(T,2),C=r(Y);{var Q=L=>{var w=Rr(),j=X(w),S=r(j);a(S),t(j);var se=o(j,2),oe=r(se);Ja(oe,{get tabs(){return z},get selected(){return e(u)},set selected(m){l(u,q(m))}});var re=o(oe,2),f=r(re);{var p=m=>{za(m,{get providers(){return e(g)},get authProvider(){return e(c)},viewModePhone:!0,get webIdData(){return x()},get user(){return s()},set user(G){s(G)}})},E=m=>{var G=me(),ne=X(G);{var fe=U=>{Ma(U,{viewModePhone:!0,get user(){return s()},set user(F){s(F)}})},y=U=>{var F=me(),V=X(F);{var B=K=>{Va(K,{get user(){return s()},get authProvider(){return e(c)},viewModePhone:!0})},ve=K=>{var pe=me(),le=X(pe);{var $e=P=>{Ra(P,{get user(){return s()}})},J=P=>{var D=me(),A=X(D);{var ae=N=>{Fa(N,{get webIdData(){return x()},set webIdData(te){x(te)}})},ge=N=>{var te=me(),ce=X(te);{var Ie=qe=>{Aa(qe,{viewMode:"account"})};I(ce,qe=>{e(u)===i.account.devices&&qe(Ie)},!0)}n(N,te)};I(A,N=>{e(u)==="WebID"?N(ae):N(ge,!1)},!0)}n(P,D)};I(le,P=>{e(u)===i.account.navMfa?P($e):P(J,!1)},!0)}n(K,pe)};I(V,K=>{e(u)===i.common.password?K(B):K(ve,!1)},!0)}n(U,F)};I(ne,U=>{e(u)===i.account.navEdit?U(fe):U(y,!1)},!0)}n(m,G)};I(f,m=>{e(u)===i.account.navInfo?m(p):m(E,!1)})}t(re),t(se),n(L,w)},_=L=>{var w=Vr(),j=X(w),S=r(j);a(S),t(j);var se=o(j,2),oe=r(se);Ja(oe,{get tabs(){return z},center:!0,get selected(){return e(u)},set selected(m){l(u,q(m))}});var re=o(oe,2),f=r(re);{var p=m=>{za(m,{get webIdData(){return x()},get providers(){return e(g)},get authProvider(){return e(c)},get user(){return s()},set user(G){s(G)}})},E=m=>{var G=me(),ne=X(G);{var fe=U=>{Ma(U,{get user(){return s()},set user(F){s(F)}})},y=U=>{var F=me(),V=X(F);{var B=K=>{Va(K,{get user(){return s()},get authProvider(){return e(c)}})},ve=K=>{var pe=me(),le=X(pe);{var $e=P=>{Ra(P,{get user(){return s()}})},J=P=>{var D=me(),A=X(D);{var ae=N=>{Fa(N,{get webIdData(){return x()},set webIdData(te){x(te)}})},ge=N=>{var te=me(),ce=X(te);{var Ie=qe=>{Wr(qe)};I(ce,qe=>{e(u)===i.account.devices&&qe(Ie)},!0)}n(N,te)};I(A,N=>{e(u)==="WebID"?N(ae):N(ge,!1)},!0)}n(P,D)};I(le,P=>{e(u)===i.account.navMfa?P($e):P(J,!1)},!0)}n(K,pe)};I(V,K=>{e(u)===i.common.password?K(B):K(ve,!1)},!0)}n(U,F)};I(ne,U=>{e(u)===i.account.navEdit?U(fe):U(y,!1)},!0)}n(m,G)};I(f,m=>{e(u)===i.account.navInfo?m(p):m(E,!1)})}t(re),t(se),n(L,w)};I(C,L=>{e(h)?L(Q):L(_,!1)})}t(Y),rt("innerWidth",L=>l(b,q(L))),n(M,W),Pe()}var Jr=$(" ",1);function Hr(M,v){Ce(v,!0);let a=We(),s=Na("account"),x=R(void 0),i=R(void 0),b=R(!1);Fe(()=>{let c=s.get();c&&g(c)});async function g(c){const h=c.user_id;if(h){let u=await Promise.all([ea(`/auth/v1/users/${h}`),ea(`/auth/v1/users/${h}/webid/data`)]);u[0].body?l(x,q(u[0].body)):dt("account"),u[1].body?l(i,q(u[1].body)):u[1].status===404&&l(i,q({user_id:h,expose_email:!1})),l(b,!0)}else console.error("no user_id in session")}et(c=>{k(()=>{var h;return Za.title=`${((a==null?void 0:a.account.account)||"Account")??""} ${((h=e(x))==null?void 0:h.email)??""}`})}),Et(M,{children:(c,h)=>{Nt(c,{children:(u,z)=>{var W=Jr(),T=X(W);{var Y=_=>{Fr(_,{get user(){return e(x)},set user(L){l(x,q(L))},get webIdData(){return e(i)},set webIdData(L){l(i,q(L))}})};I(T,_=>{e(b)&&s&&e(x)&&_(Y)})}var C=o(T,2);Wt(C,{absolute:!0});var Q=o(C,2);At(Q,{absolute:!0}),n(u,W)},$$slots:{default:!0}})},$$slots:{default:!0}}),Pe()}export{Hr as component}; diff --git a/static/v1/_app/immutable/nodes/5.BzWYCato.js.br b/static/v1/_app/immutable/nodes/5.BzWYCato.js.br new file mode 100644 index 000000000..959e3bdba Binary files /dev/null and b/static/v1/_app/immutable/nodes/5.BzWYCato.js.br differ diff --git a/static/v1/_app/immutable/nodes/5.BzWYCato.js.gz b/static/v1/_app/immutable/nodes/5.BzWYCato.js.gz new file mode 100644 index 000000000..c5a128f0f Binary files /dev/null and b/static/v1/_app/immutable/nodes/5.BzWYCato.js.gz differ diff --git a/static/v1/_app/immutable/nodes/5.CrpSeHwi.js.br b/static/v1/_app/immutable/nodes/5.CrpSeHwi.js.br deleted file mode 100644 index a673fa94c..000000000 Binary files a/static/v1/_app/immutable/nodes/5.CrpSeHwi.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/5.CrpSeHwi.js.gz b/static/v1/_app/immutable/nodes/5.CrpSeHwi.js.gz deleted file mode 100644 index 939cba962..000000000 Binary files a/static/v1/_app/immutable/nodes/5.CrpSeHwi.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/6.BsTIczmH.js b/static/v1/_app/immutable/nodes/6.BsTIczmH.js deleted file mode 100644 index fbab09db3..000000000 --- a/static/v1/_app/immutable/nodes/6.BsTIczmH.js +++ /dev/null @@ -1,3 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{p as V,s as g,c as n,g as t,r as v,t as Y,a as X,O as J,f as Z,i as j,ap as R,h as r}from"../chunks/runtime.BsghBUX9.js";import{d as oe,e as ee,s as H,k as fe}from"../chunks/render.CTp9lacC.js";import{i as P}from"../chunks/if.6Ov_EDLa.js";import{e as te,i as re}from"../chunks/each.URXtkKAp.js";import{a as f,t as T,e as ae,d as F}from"../chunks/template.jENAUvUX.js";import{d as he,b as W,c as B,a as le,i as xe}from"../chunks/index.G5lyZbma.js";import{p as b}from"../chunks/proxy.YH42NwLs.js";import{o as se}from"../chunks/index-client.ClP8y9aT.js";import{O as ye,P as ge}from"../chunks/Pagination.C52gIDzw.js";import{B as Q}from"../chunks/Button.CHwcFOJ-.js";import{F as we,G as be,H as $e,I as Se,J as Ie}from"../chunks/OptionSelect.Cn2sqgid.js";import{p as U,r as Ke}from"../chunks/props.CslUVmW_.js";import{r as ie}from"../chunks/legacy-client.DY3VEcT0.js";import{c as Ae,a as Ee,I as ne}from"../chunks/Input.B4ccwD4n.js";import{a1 as ke,A as ce,n as _e,j as je}from"../chunks/helpers.CBl6QeM5.js";import{S as de,I as ze,a as Te,b as De,P as Oe}from"../chunks/PasswordInput.CnOR-d9I.js";import{a as qe,b as Me}from"../chunks/input.D13BG9DA.js";import{E as Ne}from"../chunks/ExpandContainer.BAZSCBeT.js";import{T as Pe}from"../chunks/Tooltip.D8Tbt6Nb.js";import{T as Ce}from"../chunks/TabBar.g4Oe_bq5.js";var Ue=T('
      '),Ge=T('
      '),Ye=T('
      '),Re=T('
      Access Rights
      ');function pe(N,p){V(p,!0);let u=U(p,"accessMatrix",15);U(p,"finalize",15)(o);const l=["Blacklist","Clients","Events","Generic","Groups","Roles","Secrets","Sessions","Scopes","UserAttributes","Users"],h=["create","read","update","delete"];let $=new Array(l.length).fill(!1),w=new Array(h.length).fill(!1);se(()=>{var s;I(),(s=p.apiKey)!=null&&s.access&&O()});function I(){let s=new Array(l.length);for(let d=0;di===s.group);for(let i of s.access_rights){let x=h.findIndex(k=>k===i);u(u()[d][h[x]]=!0,!0)}}}function o(){let s=[];for(let d=0;d0&&s.push({group:l[d],access_rights:i})}return s}function c(s){$[s]=!$[s];const d=$[s];let i=u()[s];for(let x=0;xh,re,(s,d,i)=>{var x=Ue(),k=J(()=>E.bind(this,i));x.__click=function(...A){var e;(e=t(k))==null||e.apply(this,A)};var S=J(()=>E.bind(this,i)),M=n(x,!0);v(x),Y(()=>H(M,h[i])),ee("keypress",x,function(...A){var e;(e=t(S))==null||e.apply(this,A)}),f(s,x)}),v(z);var D=g(z,2);{var m=s=>{var d=ae(),i=Z(d);te(i,17,()=>l,re,(x,k,S)=>{var M=Ye(),A=n(M),e=J(()=>c.bind(this,S));A.__click=function(...G){var C;(C=t(e))==null||C.apply(this,G)};var a=J(()=>c.bind(this,S)),y=n(A,!0);v(A);var q=g(A,2);te(q,17,()=>h,re,(G,C)=>{var L=Ge(),ve=n(L);he(ve),v(L),qe(ve,()=>u()[S][t(C)],me=>u(u()[S][t(C)]=me,!0)),f(G,L)}),v(M),Y(()=>H(y,l[S])),ee("keypress",A,function(...G){var C;(C=t(a))==null||C.apply(this,G)}),f(x,M)}),f(s,d)};P(D,s=>{u()&&s(m)})}return v(_),f(N,_),X({finalizeMatrix:o})}oe(["click"]);var He=T("
      "),We=T('
      Key Expires:
      ');function Be(N,p){V(p,!0);const u=new Date().toISOString().split(".")[0];let l=U(p,"apiKeys",19,()=>[]),h=U(p,"onSave",3,()=>{}),$=j(""),w=j(!1),I=j(void 0),O=j(void 0),o=b({name:"",exp:""}),c=j(b({}));const E=Ae().shape({name:Ee().required("Name is required").min(2).max(24).matches(ke,"Format: [a-zA-Z0-9_/-]{2,24}")});ie(()=>{t(w)&&(o.exp=new Date().toISOString().split(".")[0])});async function _(){if(r($,""),!await z())return;let e={name:o.name,access:t(I)()};if(e.access.length===0){r($,"Grant the new API Key at least one permission");return}if(t(w)){let y=ce(o.exp);if(!y){r($,"Invalid Date Input: User Expires");return}e.exp=y}let a=await we(e);if(a.ok)h()();else{let y=await a.json();r($,b(y.message))}}async function z(){try{await E.validate(o,{abortEarly:!1}),r(c,b({}))}catch(e){return r(c,b(_e(e))),!1}for(let e of l())if(e.name===o.name)return t(c).name="Name already exists",!1;return!0}var K=We(),D=n(K);ne(D,{width:"18rem",autocomplete:"off",placeholder:"Name",get value(){return o.name},set value(e){o.name=e},get error(){return t(c).name},set error(e){t(c).name=e},children:(e,a)=>{R();var y=F("NAME");f(e,y)},$$slots:{default:!0}});var m=g(D,2),s=g(n(m));de(s,{get selected(){return t(w)},set selected(e){r(w,b(e))}}),v(m);var d=g(m,2);{var i=e=>{var a=He(),y=n(a);ne(y,{type:"datetime-local",step:"60",width:"18rem",min:u,max:"2099-01-01T00:00",get value(){return o.exp},set value(q){o.exp=q},children:(q,G)=>{R();var C=F("EXPIRES");f(q,C)},$$slots:{default:!0}}),v(a),W(3,a,()=>B),f(e,a)};P(d,e=>{t(w)&&e(i)})}var x=g(d,2);pe(x,{get accessMatrix(){return t(O)},set accessMatrix(e){r(O,b(e))},get finalize(){return t(I)},set finalize(e){r(I,b(e))}});var k=g(x,2),S=n(k);Q(S,{level:1,$$events:{click:_},children:(e,a)=>{R();var y=F("SAVE");f(e,y)},$$slots:{default:!0}}),v(k);var M=g(k,2),A=n(M,!0);v(M),v(K),Y(()=>H(A,t($))),f(N,K),X()}var Fe=T("
      "),Ve=T('
      Success
      '),Xe=T('
      '),Le=T('
      Name
      Key Expires:
      ');function Ze(N,p){V(p,!0);const u=new Date().toISOString().split(".")[0];let l=U(p,"apiKey",27,()=>b({})),h=j(""),$=j(!1),w=j(void 0),I=j(!!l().expires),O=j(void 0),o=j(void 0);ie(()=>{t($)&&r(w,b(setTimeout(()=>{r($,!1),p.onSave()},2e3)))}),se(()=>()=>clearTimeout(t(w)));let c=b({exp:""});ie(()=>{t(I)&&(c.exp=new Date().toISOString().split(".")[0])});async function E(){r(h,"");let a={name:l().name,access:t(o)()};if(a.access.length===0){r(h,"Grant the API Key at least one permission");return}if(t(I)){let q=ce(c.exp);if(!q){r(h,"Invalid Date Input: User Expires");return}a.exp=q}let y=await be(a);if(y.ok)p.onSave(),r($,!0);else{let q=await y.json();r(h,b(q.message))}}var _=Le(),z=n(_),K=g(n(z),2),D=n(K,!0);v(K),v(z);var m=g(z,2),s=g(n(m));de(s,{get selected(){return t(I)},set selected(a){r(I,b(a))}}),v(m);var d=g(m,2);{var i=a=>{var y=Fe(),q=n(y);ne(q,{type:"datetime-local",step:"60",width:"18rem",min:u,max:"2099-01-01T00:00",get value(){return c.exp},set value(G){c.exp=G},children:(G,C)=>{R();var L=F("EXPIRES");f(G,L)},$$slots:{default:!0}}),v(y),W(3,y,()=>B),f(a,y)};P(d,a=>{t(I)&&a(i)})}var x=g(d,2);pe(x,{get apiKey(){return l()},get accessMatrix(){return t(O)},set accessMatrix(a){r(O,b(a))},get finalize(){return t(o)},set finalize(a){r(o,b(a))}});var k=g(x,2);Q(k,{level:1,width:"4rem",$$events:{click:E},children:(a,y)=>{R();var q=F("SAVE");f(a,q)},$$slots:{default:!0}});var S=g(k,2);{var M=a=>{var y=Ve();f(a,y)};P(S,a=>{t($)&&a(M)})}var A=g(S,2);{var e=a=>{var y=Xe(),q=n(y,!0);v(y),Y(()=>H(q,t(h))),f(a,y)};P(A,a=>{t(h)&&a(e)})}v(_),Y(()=>H(D,l().name)),f(N,_),X()}var Je=T('
      '),Qe=T('
      Are you sure, you want to delete this ApiKey?
      ');function et(N,p){V(p,!0);let u=U(p,"apiKey",19,()=>({})),l=j("");async function h(){r(l,"");let o=await $e(u().name);if(o.ok)p.onSave();else{let c=await o.json();r(l,b(c.message))}}var $=Qe(),w=g(n($),2);Q(w,{level:1,$$events:{click:h},children:(o,c)=>{R();var E=F("DELETE");f(o,E)},$$slots:{default:!0}});var I=g(w,2);{var O=o=>{var c=Je(),E=n(c,!0);v(c),Y(()=>H(E,t(l))),f(o,c)};P(I,o=>{t(l)&&o(O)})}v($),f(N,$),X()}var tt=T('
      ');function ue(N,p){V(p,!0);let u=U(p,"value",3,""),l=U(p,"rows",3,10),h=U(p,"cols",3,60),$=U(p,"name",3,"default"),w=U(p,"show",15,!1),I=U(p,"width",3,"40rem"),O=Ke(p,["$$slots","$$events","$$legacy","value","rows","cols","name","show","width"]),o=j(""),c=j("");ie(()=>{w()?r(c,u()):r(c,b(t(o)))}),se(()=>{for(let A=0;A{Te(A,{width:22})},i=A=>{De(A,{width:22})};P(s,A=>{w()?A(d):A(i,!1)})}v(m);var x=g(m,2);x.__click=E;var k=n(x);ze(k,{}),v(x),v(D),v(K);var S=g(K,2);fe(S);let M;v(z),Y(()=>{le(z,"width",`${I()}`),M=xe(S,M,{disabled:!0,name:$(),rows:l(),cols:h(),...O},"svelte-s24qr4"),le(S,"width",`${I()}`),le(S,"padding-right","2.75rem")}),ee("keypress",m,_),ee("keypress",x,E),Me(S,()=>t(c),A=>r(c,A)),f(N,z),X()}oe(["click"]);var at=T(`

      An API Key must be provided in the HTTP Authorization header in the following format:

      API-Key YourSecretApiKeyHere

      You can use the following curl request to test your new Key:

      If you don't have jq installed and the above fails:

      `,1),st=T(`

      You Can generate a new secret for this API Key here.

      You will only see this secret once after the generation. - When a new one has been generated, the old secret will be overridden permanently. - This operation cannot be reverted!

      `);function it(N,p){V(p,!0);let u=j(""),l=j(""),h=j(""),$=j("");async function w(){let K=await Se(p.apiKey.name);if(K.ok)r(l,b(await K.text())),r(h,`curl -s -H 'Authorization: API-Key ${t(l)}' ${window.location.origin}/auth/v1/api_keys/${p.apiKey.name}/test`),r($,`${t(h)} | jq`);else{let D=await K.json();r(u,b(D.message))}}var I=st(),O=g(n(I),4),o=J(()=>t(l)?3:1);Q(O,{get level(){return t(o)},width:"130px",$$events:{click:w},children:(K,D)=>{R();var m=F("GENERATE NEW");f(K,m)},$$slots:{default:!0}});var c=g(O,2);{var E=K=>{var D=at(),m=Z(D),s=n(m);Oe(s,{autocomplete:"off",disabled:!0,showCopy:!0,width:"inherit",maxWidth:"800px",get value(){return t(l)},set value(x){r(l,b(x))},children:(x,k)=>{R();var S=F("API KEY");f(x,S)},$$slots:{default:!0}}),v(m);var d=g(m,8);ue(d,{name:"id",rows:3,get value(){return t($)}});var i=g(d,4);ue(i,{name:"id",rows:3,get value(){return t(h)}}),W(3,m,()=>B),f(K,D)};P(c,K=>{t(l)&&K(E)})}var _=g(c,2),z=n(_,!0);v(_),v(I),Y(()=>H(z,t(u))),f(N,I),X()}var rt=T('
      '),lt=T('
      '),nt=T("
      "),vt=T("
      "),ot=T("
      "),ct=T("
      ");function dt(N,p){V(p,!0);let u=U(p,"apiKey",31,()=>b({})),l=U(p,"onSave",11,()=>{}),h=j(void 0);const $=["Config","Secret","Delete"];let w=j(b($[0]));const I=200,O=I/2;function o(){r(h,!1),l()()}Ne(N,{get show(){return t(h)},set show(c){r(h,b(c))},header:c=>{var E=lt(),_=n(E),z=n(_,!0);v(_);var K=g(_,2);{var D=m=>{Pe(m,{text:"Expiry",children:(s,d)=>{var i=rt(),x=n(i,!0);Y(()=>H(x,je(u().expires))),v(i),f(s,i)},$$slots:{default:!0}})};P(K,m=>{u().expires&&m(D)})}v(E),Y(()=>H(z,u().name)),f(c,E)},body:c=>{var E=ct(),_=n(E);Ce(_,{labels:$,get selected(){return t(w)},set selected(m){r(w,b(m))}});var z=g(_,2);{var K=m=>{var s=nt(),d=n(s);Ze(d,{get onSave(){return l()},get apiKey(){return u()},set apiKey(i){u(i)}}),v(s),W(1,s,()=>B,()=>({delay:O,duration:I})),W(2,s,()=>B,()=>({duration:I})),f(m,s)},D=m=>{var s=ae(),d=Z(s);{var i=k=>{var S=vt(),M=n(S);it(M,{get apiKey(){return u()}}),v(S),W(1,S,()=>B,()=>({delay:O,duration:I})),W(2,S,()=>B,()=>({duration:I})),f(k,S)},x=k=>{var S=ae(),M=Z(S);{var A=e=>{var a=ot(),y=n(a);et(y,{get apiKey(){return u()},onSave:o}),v(a),W(1,a,()=>B,()=>({delay:O,duration:I})),W(2,a,()=>B,()=>({duration:I})),f(e,a)};P(M,e=>{t(w)==="Delete"&&e(A)},!0)}f(k,S)};P(d,k=>{t(w)==="Secret"?k(i):k(x,!1)},!0)}f(m,s)};P(z,m=>{t(w)==="Config"?m(K):m(D,!1)})}v(E),f(c,E)},$$slots:{header:!0,body:!0}}),X()}var pt=T("
      "),ut=T('
      No Api Keys
      '),mt=T('
      ',1);function ft(N,p){V(p,!0);let u=j(""),l=j(b([])),h=j(b([])),$=j(b([])),w=j(!1);const I=[{label:"Name",callback:(e,a)=>e.name.includes(a)}];let O=[{label:"Name",callback:(e,a)=>e.name.localeCompare(a.name)}];se(()=>{o()});async function o(){let e=await Ie(),a=await e.json();e.ok?(r(l,b(a.keys)),r(w,!1)):r(u,b(a.message))}R();var c=mt(),E=Z(c),_=g(E),z=n(_),K=n(z);ye(K,{get items(){return t(l)},searchOptions:I,orderOptions:O,get resItems(){return t(h)},set resItems(e){r(h,b(e))}});var D=g(K,2),m=n(D);Q(m,{level:3,$$events:{click:()=>r(w,!t(w))},children:(e,a)=>{R();var y=F("NEW KEY");f(e,y)},$$slots:{default:!0}}),v(D),v(z);var s=g(z,2);{var d=e=>{var a=pt(),y=n(a);Be(y,{onSave:o,get apiKeys(){return t(l)}}),v(a),W(3,a,()=>B),f(e,a)};P(s,e=>{t(w)&&e(d)})}var i=g(s,2),x=n(i);{var k=e=>{var a=ut();f(e,a)},S=e=>{var a=ae(),y=Z(a);te(y,19,()=>t($),q=>q.name,(q,G,C)=>{dt(q,{onSave:o,get apiKey(){return t($)[t(C)]},set apiKey(L){t($)[t(C)]=L}})}),f(e,a)};P(x,e=>{t(l).length===0?e(k):e(S,!1)})}v(i);var M=g(i,2);{var A=e=>{ge(e,{get items(){return t(h)},set items(a){r(h,b(a))},get resItems(){return t($)},set resItems(a){r($,b(a))}})};P(M,e=>{t(l).length>0&&e(A)})}R(2),v(_),Y(()=>H(E,`${t(u)??""} `)),f(N,c),X()}function ht(N){ft(N,{})}export{ht as component}; diff --git a/static/v1/_app/immutable/nodes/6.BsTIczmH.js.br b/static/v1/_app/immutable/nodes/6.BsTIczmH.js.br deleted file mode 100644 index 48e950197..000000000 Binary files a/static/v1/_app/immutable/nodes/6.BsTIczmH.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/6.BsTIczmH.js.gz b/static/v1/_app/immutable/nodes/6.BsTIczmH.js.gz deleted file mode 100644 index 1270a6af7..000000000 Binary files a/static/v1/_app/immutable/nodes/6.BsTIczmH.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/5.CrpSeHwi.js b/static/v1/_app/immutable/nodes/6.D6VyD6rm.js similarity index 64% rename from static/v1/_app/immutable/nodes/5.CrpSeHwi.js rename to static/v1/_app/immutable/nodes/6.D6VyD6rm.js index b296bd79a..8b337f2be 100644 --- a/static/v1/_app/immutable/nodes/5.CrpSeHwi.js +++ b/static/v1/_app/immutable/nodes/6.D6VyD6rm.js @@ -1 +1 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{U as p}from"../chunks/Users.DQjgWw0O.js";function t(o){p(o,{})}export{t as component}; +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{U as p}from"../chunks/Users.BUOAhkxZ.js";function t(o){p(o,{})}export{t as component}; diff --git a/static/v1/_app/immutable/nodes/6.D6VyD6rm.js.br b/static/v1/_app/immutable/nodes/6.D6VyD6rm.js.br new file mode 100644 index 000000000..4cdb8aedd Binary files /dev/null and b/static/v1/_app/immutable/nodes/6.D6VyD6rm.js.br differ diff --git a/static/v1/_app/immutable/nodes/6.D6VyD6rm.js.gz b/static/v1/_app/immutable/nodes/6.D6VyD6rm.js.gz new file mode 100644 index 000000000..af424f90d Binary files /dev/null and b/static/v1/_app/immutable/nodes/6.D6VyD6rm.js.gz differ diff --git a/static/v1/_app/immutable/nodes/7.C2m7Hcre.js b/static/v1/_app/immutable/nodes/7.C2m7Hcre.js new file mode 100644 index 000000000..904697801 --- /dev/null +++ b/static/v1/_app/immutable/nodes/7.C2m7Hcre.js @@ -0,0 +1,3 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{p as V,ao as ee,s as g,c as n,g as t,r as v,t as Y,a as X,a9 as J,f as Z,i as _,aq as R,h as r}from"../chunks/index-client.DAoU_hDn.js";import{d as oe,e as te,s as B,k as fe}from"../chunks/render.mNhspeV3.js";import{i as P}from"../chunks/if.BANCODOf.js";import{e as ae,i as re}from"../chunks/each.DTG73tix.js";import{a as f,t as q,e as se,d as F}from"../chunks/template.DcxtE4ym.js";import{t as H,a as W,s as le}from"../chunks/index.DER1jHiU.js";import{p as b}from"../chunks/proxy.D3ASEzk3.js";import{O as he,P as xe}from"../chunks/Pagination.DF9sn7Vj.js";import{B as Q}from"../chunks/Button.CKHLXer8.js";import{F as ye,G as ge,H as we,I as be,J as $e}from"../chunks/dataFetchingAdmin.D7RWqeRL.js";import{p as U,r as Se}from"../chunks/props.VJ8UyA45.js";import{r as ie}from"../chunks/legacy-client.rYJ80fHr.js";import{c as Ie,a as Ke,I as ne}from"../chunks/Input.C04-Kl2S.js";import{a2 as Ee,B as ce,o as Ae,k as ke}from"../chunks/helpers.BV-akmwW.js";import{S as de,I as je,a as _e,b as ze,P as qe}from"../chunks/PasswordInput.JBBIMWuW.js";import{r as De,d as Me}from"../chunks/class.DWa3OhYO.js";import{a as Te,b as Ne}from"../chunks/input.CNTnF6Qx.js";import{E as Oe}from"../chunks/ExpandContainer.mM6ZiTQe.js";import{T as Pe}from"../chunks/OptionSelect.CBlj_bre.js";import{T as Ce}from"../chunks/TabBar.BqcS880p.js";var Ue=q('
      '),Ge=q('
      '),Ye=q('
      '),Re=q('
      Access Rights
      ');function pe(O,p){V(p,!0);let u=U(p,"accessMatrix",15);U(p,"finalize",15)(o);const l=["Blacklist","Clients","Events","Generic","Groups","Roles","Secrets","Sessions","Scopes","UserAttributes","Users"],h=["create","read","update","delete"];let $=new Array(l.length).fill(!1),w=new Array(h.length).fill(!1);ee(()=>{var s;I(),(s=p.apiKey)!=null&&s.access&&M()});function I(){let s=new Array(l.length);for(let d=0;di===s.group);for(let i of s.access_rights){let x=h.findIndex(k=>k===i);u(u()[d][h[x]]=!0,!0)}}}function o(){let s=[];for(let d=0;d0&&s.push({group:l[d],access_rights:i})}return s}function c(s){$[s]=!$[s];const d=$[s];let i=u()[s];for(let x=0;xh,re,(s,d,i)=>{var x=Ue(),k=J(()=>A.bind(this,i));x.__click=function(...E){var e;(e=t(k))==null||e.apply(this,E)};var S=J(()=>A.bind(this,i)),N=n(x,!0);v(x),Y(()=>B(N,h[i])),te("keypress",x,function(...E){var e;(e=t(S))==null||e.apply(this,E)}),f(s,x)}),v(z);var D=g(z,2);{var m=s=>{var d=se(),i=Z(d);ae(i,17,()=>l,re,(x,k,S)=>{var N=Ye(),E=n(N),e=J(()=>c.bind(this,S));E.__click=function(...G){var C;(C=t(e))==null||C.apply(this,G)};var a=J(()=>c.bind(this,S)),y=n(E,!0);v(E);var T=g(E,2);ae(T,17,()=>h,re,(G,C)=>{var L=Ge(),ve=n(L);De(ve),v(L),Te(ve,()=>u()[S][t(C)],me=>u(u()[S][t(C)]=me,!0)),f(G,L)}),v(N),Y(()=>B(y,l[S])),te("keypress",E,function(...G){var C;(C=t(a))==null||C.apply(this,G)}),f(x,N)}),f(s,d)};P(D,s=>{u()&&s(m)})}return v(j),f(O,j),X({finalizeMatrix:o})}oe(["click"]);var Be=q("
      "),He=q('
      Key Expires:
      ');function We(O,p){V(p,!0);const u=new Date().toISOString().split(".")[0];let l=U(p,"apiKeys",19,()=>[]),h=U(p,"onSave",3,()=>{}),$=_(""),w=_(!1),I=_(void 0),M=_(void 0),o=b({name:"",exp:""}),c=_(b({}));const A=Ie().shape({name:Ke().required("Name is required").min(2).max(24).matches(Ee,"Format: [a-zA-Z0-9_/-]{2,24}")});ie(()=>{t(w)&&(o.exp=new Date().toISOString().split(".")[0])});async function j(){if(r($,""),!await z())return;let e={name:o.name,access:t(I)()};if(e.access.length===0){r($,"Grant the new API Key at least one permission");return}if(t(w)){let y=ce(o.exp);if(!y){r($,"Invalid Date Input: User Expires");return}e.exp=y}let a=await ye(e);if(a.ok)h()();else{let y=await a.json();r($,b(y.message))}}async function z(){try{await A.validate(o,{abortEarly:!1}),r(c,b({}))}catch(e){return r(c,b(Ae(e))),!1}for(let e of l())if(e.name===o.name)return t(c).name="Name already exists",!1;return!0}var K=He(),D=n(K);ne(D,{width:"18rem",autocomplete:"off",placeholder:"Name",get value(){return o.name},set value(e){o.name=e},get error(){return t(c).name},set error(e){t(c).name=e},children:(e,a)=>{R();var y=F("NAME");f(e,y)},$$slots:{default:!0}});var m=g(D,2),s=g(n(m));de(s,{get selected(){return t(w)},set selected(e){r(w,b(e))}}),v(m);var d=g(m,2);{var i=e=>{var a=Be(),y=n(a);ne(y,{type:"datetime-local",step:"60",width:"18rem",min:u,max:"2099-01-01T00:00",get value(){return o.exp},set value(T){o.exp=T},children:(T,G)=>{R();var C=F("EXPIRES");f(T,C)},$$slots:{default:!0}}),v(a),H(3,a,()=>W),f(e,a)};P(d,e=>{t(w)&&e(i)})}var x=g(d,2);pe(x,{get accessMatrix(){return t(M)},set accessMatrix(e){r(M,b(e))},get finalize(){return t(I)},set finalize(e){r(I,b(e))}});var k=g(x,2),S=n(k);Q(S,{level:1,$$events:{click:j},children:(e,a)=>{R();var y=F("SAVE");f(e,y)},$$slots:{default:!0}}),v(k);var N=g(k,2),E=n(N,!0);v(N),v(K),Y(()=>B(E,t($))),f(O,K),X()}var Fe=q("
      "),Ve=q('
      Success
      '),Xe=q('
      '),Le=q('
      Name
      Key Expires:
      ');function Ze(O,p){V(p,!0);const u=new Date().toISOString().split(".")[0];let l=U(p,"apiKey",27,()=>b({})),h=_(""),$=_(!1),w=_(void 0),I=_(!!l().expires),M=_(void 0),o=_(void 0);ie(()=>{t($)&&r(w,b(setTimeout(()=>{r($,!1),p.onSave()},2e3)))}),ee(()=>()=>clearTimeout(t(w)));let c=b({exp:""});ie(()=>{t(I)&&(c.exp=new Date().toISOString().split(".")[0])});async function A(){r(h,"");let a={name:l().name,access:t(o)()};if(a.access.length===0){r(h,"Grant the API Key at least one permission");return}if(t(I)){let T=ce(c.exp);if(!T){r(h,"Invalid Date Input: User Expires");return}a.exp=T}let y=await ge(a);if(y.ok)p.onSave(),r($,!0);else{let T=await y.json();r(h,b(T.message))}}var j=Le(),z=n(j),K=g(n(z),2),D=n(K,!0);v(K),v(z);var m=g(z,2),s=g(n(m));de(s,{get selected(){return t(I)},set selected(a){r(I,b(a))}}),v(m);var d=g(m,2);{var i=a=>{var y=Fe(),T=n(y);ne(T,{type:"datetime-local",step:"60",width:"18rem",min:u,max:"2099-01-01T00:00",get value(){return c.exp},set value(G){c.exp=G},children:(G,C)=>{R();var L=F("EXPIRES");f(G,L)},$$slots:{default:!0}}),v(y),H(3,y,()=>W),f(a,y)};P(d,a=>{t(I)&&a(i)})}var x=g(d,2);pe(x,{get apiKey(){return l()},get accessMatrix(){return t(M)},set accessMatrix(a){r(M,b(a))},get finalize(){return t(o)},set finalize(a){r(o,b(a))}});var k=g(x,2);Q(k,{level:1,width:"4rem",$$events:{click:A},children:(a,y)=>{R();var T=F("SAVE");f(a,T)},$$slots:{default:!0}});var S=g(k,2);{var N=a=>{var y=Ve();f(a,y)};P(S,a=>{t($)&&a(N)})}var E=g(S,2);{var e=a=>{var y=Xe(),T=n(y,!0);v(y),Y(()=>B(T,t(h))),f(a,y)};P(E,a=>{t(h)&&a(e)})}v(j),Y(()=>B(D,l().name)),f(O,j),X()}var Je=q('
      '),Qe=q('
      Are you sure, you want to delete this ApiKey?
      ');function et(O,p){V(p,!0);let u=U(p,"apiKey",19,()=>({})),l=_("");async function h(){r(l,"");let o=await we(u().name);if(o.ok)p.onSave();else{let c=await o.json();r(l,b(c.message))}}var $=Qe(),w=g(n($),2);Q(w,{level:1,$$events:{click:h},children:(o,c)=>{R();var A=F("DELETE");f(o,A)},$$slots:{default:!0}});var I=g(w,2);{var M=o=>{var c=Je(),A=n(c,!0);v(c),Y(()=>B(A,t(l))),f(o,c)};P(I,o=>{t(l)&&o(M)})}v($),f(O,$),X()}var tt=q('
      ');function ue(O,p){V(p,!0);let u=U(p,"value",3,""),l=U(p,"rows",3,10),h=U(p,"cols",3,60),$=U(p,"name",3,"default"),w=U(p,"show",15,!1),I=U(p,"width",3,"40rem"),M=Se(p,["$$slots","$$events","$$legacy","value","rows","cols","name","show","width"]),o=_(""),c=_("");ie(()=>{w()?r(c,u()):r(c,b(t(o)))}),ee(()=>{for(let E=0;E{_e(E,{width:22})},i=E=>{ze(E,{width:22})};P(s,E=>{w()?E(d):E(i,!1)})}v(m);var x=g(m,2);x.__click=A;var k=n(x);je(k,{}),v(x),v(D),v(K);var S=g(K,2);fe(S);let N;v(z),Y(()=>{le(z,"width",`${I()}`),N=Me(S,N,{disabled:!0,name:$(),rows:l(),cols:h(),...M},"svelte-s24qr4"),le(S,"width",`${I()}`),le(S,"padding-right","2.75rem")}),te("keypress",m,j),te("keypress",x,A),Ne(S,()=>t(c),E=>r(c,E)),f(O,z),X()}oe(["click"]);var at=q(`

      An API Key must be provided in the HTTP Authorization header in the following format:

      API-Key YourSecretApiKeyHere

      You can use the following curl request to test your new Key:

      If you don't have jq installed and the above fails:

      `,1),st=q(`

      You Can generate a new secret for this API Key here.

      You will only see this secret once after the generation. + When a new one has been generated, the old secret will be overridden permanently. + This operation cannot be reverted!

      `);function it(O,p){V(p,!0);let u=_(""),l=_(""),h=_(""),$=_("");async function w(){let K=await be(p.apiKey.name);if(K.ok)r(l,b(await K.text())),r(h,`curl -s -H 'Authorization: API-Key ${t(l)}' ${window.location.origin}/auth/v1/api_keys/${p.apiKey.name}/test`),r($,`${t(h)} | jq`);else{let D=await K.json();r(u,b(D.message))}}var I=st(),M=g(n(I),4),o=J(()=>t(l)?3:1);Q(M,{get level(){return t(o)},width:"130px",$$events:{click:w},children:(K,D)=>{R();var m=F("GENERATE NEW");f(K,m)},$$slots:{default:!0}});var c=g(M,2);{var A=K=>{var D=at(),m=Z(D),s=n(m);qe(s,{autocomplete:"off",disabled:!0,showCopy:!0,width:"inherit",maxWidth:"800px",get value(){return t(l)},set value(x){r(l,b(x))},children:(x,k)=>{R();var S=F("API KEY");f(x,S)},$$slots:{default:!0}}),v(m);var d=g(m,8);ue(d,{name:"id",rows:3,get value(){return t($)}});var i=g(d,4);ue(i,{name:"id",rows:3,get value(){return t(h)}}),H(3,m,()=>W),f(K,D)};P(c,K=>{t(l)&&K(A)})}var j=g(c,2),z=n(j,!0);v(j),v(I),Y(()=>B(z,t(u))),f(O,I),X()}var rt=q('
      '),lt=q('
      '),nt=q("
      "),vt=q("
      "),ot=q("
      "),ct=q("
      ");function dt(O,p){V(p,!0);let u=U(p,"apiKey",31,()=>b({})),l=U(p,"onSave",11,()=>{}),h=_(void 0);const $=["Config","Secret","Delete"];let w=_(b($[0]));const I=200,M=I/2;function o(){r(h,!1),l()()}Oe(O,{get show(){return t(h)},set show(c){r(h,b(c))},header:c=>{var A=lt(),j=n(A),z=n(j,!0);v(j);var K=g(j,2);{var D=m=>{Pe(m,{text:"Expiry",children:(s,d)=>{var i=rt(),x=n(i,!0);Y(()=>B(x,ke(u().expires))),v(i),f(s,i)},$$slots:{default:!0}})};P(K,m=>{u().expires&&m(D)})}v(A),Y(()=>B(z,u().name)),f(c,A)},body:c=>{var A=ct(),j=n(A);Ce(j,{labels:$,get selected(){return t(w)},set selected(m){r(w,b(m))}});var z=g(j,2);{var K=m=>{var s=nt(),d=n(s);Ze(d,{get onSave(){return l()},get apiKey(){return u()},set apiKey(i){u(i)}}),v(s),H(1,s,()=>W,()=>({delay:M,duration:I})),H(2,s,()=>W,()=>({duration:I})),f(m,s)},D=m=>{var s=se(),d=Z(s);{var i=k=>{var S=vt(),N=n(S);it(N,{get apiKey(){return u()}}),v(S),H(1,S,()=>W,()=>({delay:M,duration:I})),H(2,S,()=>W,()=>({duration:I})),f(k,S)},x=k=>{var S=se(),N=Z(S);{var E=e=>{var a=ot(),y=n(a);et(y,{get apiKey(){return u()},onSave:o}),v(a),H(1,a,()=>W,()=>({delay:M,duration:I})),H(2,a,()=>W,()=>({duration:I})),f(e,a)};P(N,e=>{t(w)==="Delete"&&e(E)},!0)}f(k,S)};P(d,k=>{t(w)==="Secret"?k(i):k(x,!1)},!0)}f(m,s)};P(z,m=>{t(w)==="Config"?m(K):m(D,!1)})}v(A),f(c,A)},$$slots:{header:!0,body:!0}}),X()}var pt=q("
      "),ut=q('
      No Api Keys
      '),mt=q('
      ',1);function ft(O,p){V(p,!0);let u=_(""),l=_(b([])),h=_(b([])),$=_(b([])),w=_(!1);const I=[{label:"Name",callback:(e,a)=>e.name.includes(a)}];let M=[{label:"Name",callback:(e,a)=>e.name.localeCompare(a.name)}];ee(()=>{o()});async function o(){let e=await $e(),a=await e.json();e.ok?(r(l,b(a.keys)),r(w,!1)):r(u,b(a.message))}R();var c=mt(),A=Z(c),j=g(A),z=n(j),K=n(z);he(K,{get items(){return t(l)},searchOptions:I,orderOptions:M,get resItems(){return t(h)},set resItems(e){r(h,b(e))}});var D=g(K,2),m=n(D);Q(m,{level:3,$$events:{click:()=>r(w,!t(w))},children:(e,a)=>{R();var y=F("NEW KEY");f(e,y)},$$slots:{default:!0}}),v(D),v(z);var s=g(z,2);{var d=e=>{var a=pt(),y=n(a);We(y,{onSave:o,get apiKeys(){return t(l)}}),v(a),H(3,a,()=>W),f(e,a)};P(s,e=>{t(w)&&e(d)})}var i=g(s,2),x=n(i);{var k=e=>{var a=ut();f(e,a)},S=e=>{var a=se(),y=Z(a);ae(y,19,()=>t($),T=>T.name,(T,G,C)=>{dt(T,{onSave:o,get apiKey(){return t($)[t(C)]},set apiKey(L){t($)[t(C)]=L}})}),f(e,a)};P(x,e=>{t(l).length===0?e(k):e(S,!1)})}v(i);var N=g(i,2);{var E=e=>{xe(e,{get items(){return t(h)},set items(a){r(h,b(a))},get resItems(){return t($)},set resItems(a){r($,b(a))}})};P(N,e=>{t(l).length>0&&e(E)})}R(2),v(j),Y(()=>B(A,`${t(u)??""} `)),f(O,c),X()}function ht(O){ft(O,{})}export{ht as component}; diff --git a/static/v1/_app/immutable/nodes/7.C2m7Hcre.js.br b/static/v1/_app/immutable/nodes/7.C2m7Hcre.js.br new file mode 100644 index 000000000..78bf57956 Binary files /dev/null and b/static/v1/_app/immutable/nodes/7.C2m7Hcre.js.br differ diff --git a/static/v1/_app/immutable/nodes/7.C2m7Hcre.js.gz b/static/v1/_app/immutable/nodes/7.C2m7Hcre.js.gz new file mode 100644 index 000000000..7c73c184f Binary files /dev/null and b/static/v1/_app/immutable/nodes/7.C2m7Hcre.js.gz differ diff --git a/static/v1/_app/immutable/nodes/7.DwAEYU8n.js b/static/v1/_app/immutable/nodes/7.DwAEYU8n.js deleted file mode 100644 index 7fd6398d4..000000000 --- a/static/v1/_app/immutable/nodes/7.DwAEYU8n.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{p as q,i as $,a as V,g as r,h as s,s as y,c as j,ap as k,r as A,t as L,f as Z}from"../chunks/runtime.BsghBUX9.js";import{s as O}from"../chunks/render.CTp9lacC.js";import{e as X}from"../chunks/each.URXtkKAp.js";import{a as d,d as _,t as b,e as ee}from"../chunks/template.jENAUvUX.js";import{p as o}from"../chunks/proxy.YH42NwLs.js";import{o as U}from"../chunks/index-client.ClP8y9aT.js";import{h as te,i as ae,j as re,k as se}from"../chunks/OptionSelect.Cn2sqgid.js";import{O as ie,P as oe}from"../chunks/Pagination.C52gIDzw.js";import{i as x}from"../chunks/if.6Ov_EDLa.js";import{p as z}from"../chunks/props.CslUVmW_.js";import{E as K}from"../chunks/ExpandContainer.BAZSCBeT.js";import{c as Y,a as M,I as P}from"../chunks/Input.B4ccwD4n.js";import{V as F,W as G,n as H}from"../chunks/helpers.CBl6QeM5.js";import{B as W}from"../chunks/Button.CHwcFOJ-.js";import{b as R,c as B}from"../chunks/index.G5lyZbma.js";import{T as ne}from"../chunks/Tooltip.D8Tbt6Nb.js";import{T as le}from"../chunks/TabBar.g4Oe_bq5.js";import{r as ve}from"../chunks/legacy-client.DY3VEcT0.js";var ce=b('
      ADD NEW USER ATTRIBUTE
      '),de=b('
      '),me=b('
      You can add a new custom user attribute.
      These attributes can be set for every user and mapped to an existing scope.
      They are simple Key / JsonValue pairs.
      ');function ue(C,p){q(p,!0);let w=z(p,"idx",31,()=>-1),v=$(""),c=$(void 0),u=o({name:"",desc:""}),n=$(o({}));const m=Y().shape({name:M().trim().required("Name is required").matches(F,"Invalid characters: [a-z0-9-_/]{2,32}"),desc:M().trim().matches(G,"Invalid characters: [a-zA-Z0-9\\-_/\\s]{0,128}")});async function N(){if(!await T())return;s(v,"");let a=await te(u);if(a.ok)s(c,!1),p.onSave();else{let i=await a.json();s(v,o(i.message))}}async function T(){try{return await m.validate(u,{abortEarly:!1}),s(n,o({})),!0}catch(a){return s(n,o(H(a))),!1}}K(C,{get idx(){return w()},set idx(a){w(a)},get show(){return r(c)},set show(a){s(c,o(a))},header:a=>{var i=ce();d(a,i)},body:a=>{var i=me(),g=y(j(i),2);P(g,{autocomplete:"off",placeholder:"Name",get value(){return u.name},set value(e){u.name=e},get error(){return r(n).name},set error(e){r(n).name=e},$$events:{input:T},children:(e,t)=>{k();var l=_("NAME");d(e,l)},$$slots:{default:!0}});var I=y(g,2);P(I,{autocomplete:"off",placeholder:"Description",get value(){return u.desc},set value(e){u.desc=e},get error(){return r(n).desc},set error(e){r(n).desc=e},$$events:{input:T},children:(e,t)=>{k();var l=_("DESCRIPTION");d(e,l)},$$slots:{default:!0}});var D=y(I,2);W(D,{level:1,$$events:{click:N},children:(e,t)=>{k();var l=_("SAVE");d(e,l)},$$slots:{default:!0}});var E=y(D,2);x(E,e=>{});var h=y(E,2);{var S=e=>{var t=de(),l=j(t,!0);A(t),L(()=>O(l,r(v))),d(e,t)};x(h,e=>{r(v)&&e(S)})}A(i),d(a,i)},$$slots:{header:!0,body:!0}}),V()}var fe=b('
      Success
      '),he=b('
      '),pe=b('
      ');function ge(C,p){q(p,!0);let w=z(p,"attr",19,()=>({})),v=$(""),c=$(!1),u=$(void 0);ve(()=>{r(c)&&s(u,o(setTimeout(()=>{s(c,!1),p.onSave()},2e3)))}),U(()=>()=>clearTimeout(r(u)));let n=$(o({})),m=o({});const N=Y().shape({name:M().trim().required("Name is required").matches(F,"Valid characters: [a-z0-9-_/]{2,32}"),desc:M().nullable().trim().matches(G,"Valid characters: [a-zA-Z0-9\\-_/\\s]{0,128}")});U(()=>{m.name=w().name,m.desc=w().desc});async function T(){if(s(v,""),!await a()){s(v,"Invalid input");return}let t={name:m.name,desc:m.desc},l=await ae(w().name,t);if(l.ok)s(c,!0);else{let f=await l.json();s(v,o(f.message))}}async function a(){try{return await N.validate(m,{abortEarly:!1}),s(n,o({})),!0}catch(t){return s(n,o(H(t))),!1}}var i=pe(),g=j(i);P(g,{autocomplete:"off",placeholder:"Name",get value(){return m.name},set value(t){m.name=t},get error(){return r(n).name},set error(t){r(n).name=t},$$events:{input:a},children:(t,l)=>{k();var f=_("NAME");d(t,f)},$$slots:{default:!0}});var I=y(g,2);P(I,{autocomplete:"off",placeholder:"Description",get value(){return m.desc},set value(t){m.desc=t},get error(){return r(n).desc},set error(t){r(n).desc=t},$$events:{input:a},children:(t,l)=>{k();var f=_("DESCRIPTION");d(t,f)},$$slots:{default:!0}});var D=y(I,2);W(D,{level:1,width:"4rem",$$events:{click:T},children:(t,l)=>{k();var f=_("SAVE");d(t,f)},$$slots:{default:!0}});var E=y(D,2);{var h=t=>{var l=fe();d(t,l)};x(E,t=>{r(c)&&t(h)})}var S=y(E,2);{var e=t=>{var l=he(),f=j(l,!0);A(l),L(()=>O(f,r(v))),d(t,l)};x(S,t=>{r(v)&&t(e)})}A(i),d(C,i),V()}var $e=b('
      '),ye=b('
      Are you sure, you want to delete this custom attribute?
      ');function we(C,p){q(p,!0);let w=z(p,"attr",19,()=>({})),v=$(!1),c=$("");async function u(){s(c,""),s(v,!0);let a=await re(w().name);if(a.ok)p.onSave();else{let i=await a.json();s(c,o(i.message))}s(v,!1)}var n=ye(),m=y(j(n),2);W(m,{level:1,get isLoading(){return r(v)},set isLoading(a){s(v,o(a))},$$events:{click:u},children:(a,i)=>{k();var g=_("DELETE");d(a,g)},$$slots:{default:!0}});var N=y(m,2);{var T=a=>{var i=$e(),g=j(i,!0);A(i),L(()=>O(g,r(c))),d(a,i)};x(N,a=>{r(c)&&a(T)})}A(n),d(C,n),V()}var be=b('
      '),Ee=b('
      '),Se=b("
      "),Ae=b("
      "),je=b("
      ");function Te(C,p){q(p,!0);let w=z(p,"attr",27,()=>o({})),v=z(p,"onSave",15),c=$(void 0);const u=["Config","Delete"];let n=$(o(u[0]));const m=200,N=m/2;function T(){s(c,!1),v()()}K(C,{get show(){return r(c)},set show(a){s(c,o(a))},header:a=>{var i=Ee(),g=j(i);ne(g,{text:"Custom Attribute Name",children:(I,D)=>{var E=be(),h=j(E,!0);A(E),L(()=>O(h,w().name)),d(I,E)},$$slots:{default:!0}}),A(i),d(a,i)},body:a=>{var i=je(),g=j(i);le(g,{labels:u,get selected(){return r(n)},set selected(h){s(n,o(h))}});var I=y(g,2);{var D=h=>{var S=Se(),e=j(S);ge(e,{get attr(){return w()},get onSave(){return v()},set onSave(t){v(t)}}),A(S),R(5,S,()=>B,()=>({delay:N,duration:m})),R(6,S,()=>B,()=>({duration:m})),d(h,S)},E=h=>{var S=ee(),e=Z(S);{var t=l=>{var f=Ae(),J=j(f);we(J,{get attr(){return w()},onSave:T}),A(f),R(5,f,()=>B,()=>({delay:N,duration:m})),R(6,f,()=>B,()=>({duration:m})),d(l,f)};x(e,l=>{r(n)==="Delete"&&l(t)},!0)}d(h,S)};x(I,h=>{r(n)==="Config"?h(D):h(E,!1)})}A(i),d(a,i)},$$slots:{header:!0,body:!0}}),V()}var Ie=b('
      '),Ce=b('
      ',1);function De(C,p){q(p,!0);let w=$(""),v=$(o([])),c=$(o([])),u=$(o([])),n=$(""),m=[{label:"NAME",callback:(e,t)=>e.name.toLowerCase().includes(t.toLowerCase())}],N=[{label:"NAME",callback:(e,t)=>e.name.localeCompare(t.name)}];U(()=>{T()});async function T(){let e=await se();if(!e.ok)s(w,"Error fetching user attr: "+e.body.message);else{let t=await e.json();s(v,o([...t.values]))}}function a(){r(v).length<2&&(s(v,o([])),s(c,o([])),s(u,o([]))),T(),s(n,"")}k();var i=Ce(),g=Z(i),I=y(g),D=j(I);ie(D,{get items(){return r(v)},searchOptions:m,orderOptions:N,get resItems(){return r(c)},set resItems(e){s(c,o(e))},get search(){return r(n)},set search(e){s(n,o(e))}});var E=y(D,2);ue(E,{onSave:a});var h=y(E,2);X(h,23,()=>r(u),e=>e.name,(e,t,l)=>{var f=Ie(),J=j(f);Te(J,{onSave:a,get attr(){return r(u)[r(l)]},set attr(Q){r(u)[r(l)]=Q}}),A(f),d(e,f)}),A(h);var S=y(h,2);oe(S,{get items(){return r(c)},set items(e){s(c,o(e))},get resItems(){return r(u)},set resItems(e){s(u,o(e))}}),k(2),A(I),L(()=>O(g,`${r(w)??""} `)),d(C,i),V()}function Ne(C){De(C,{})}export{Ne as component}; diff --git a/static/v1/_app/immutable/nodes/7.DwAEYU8n.js.br b/static/v1/_app/immutable/nodes/7.DwAEYU8n.js.br deleted file mode 100644 index d98954608..000000000 Binary files a/static/v1/_app/immutable/nodes/7.DwAEYU8n.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/7.DwAEYU8n.js.gz b/static/v1/_app/immutable/nodes/7.DwAEYU8n.js.gz deleted file mode 100644 index 1c4ffda84..000000000 Binary files a/static/v1/_app/immutable/nodes/7.DwAEYU8n.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/8.Daj4Fh8B.js b/static/v1/_app/immutable/nodes/8.Daj4Fh8B.js new file mode 100644 index 000000000..5e46742a1 --- /dev/null +++ b/static/v1/_app/immutable/nodes/8.Daj4Fh8B.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{p as L,i as $,a as O,g as r,h as s,s as y,c as j,aq as k,r as A,t as V,ao as W,f as K}from"../chunks/index-client.DAoU_hDn.js";import{s as z}from"../chunks/render.mNhspeV3.js";import{e as _}from"../chunks/each.DTG73tix.js";import{a as d,d as q,t as b,e as ee}from"../chunks/template.DcxtE4ym.js";import{p as o}from"../chunks/proxy.D3ASEzk3.js";import{h as ae,i as te,j as re,k as se}from"../chunks/dataFetchingAdmin.D7RWqeRL.js";import{O as ie,P as oe}from"../chunks/Pagination.DF9sn7Vj.js";import{i as x}from"../chunks/if.BANCODOf.js";import{p as M}from"../chunks/props.VJ8UyA45.js";import{E as X}from"../chunks/ExpandContainer.mM6ZiTQe.js";import{c as Y,a as P,I as R}from"../chunks/Input.C04-Kl2S.js";import{W as F,X as G,o as H}from"../chunks/helpers.BV-akmwW.js";import{B as J}from"../chunks/Button.CKHLXer8.js";import{t as Z,a as B}from"../chunks/index.DER1jHiU.js";import{T as ne}from"../chunks/OptionSelect.CBlj_bre.js";import{T as le}from"../chunks/TabBar.BqcS880p.js";import{r as ve}from"../chunks/legacy-client.rYJ80fHr.js";var ce=b('
      ADD NEW USER ATTRIBUTE
      '),de=b('
      '),me=b('
      You can add a new custom user attribute.
      These attributes can be set for every user and mapped to an existing scope.
      They are simple Key / JsonValue pairs.
      ');function ue(C,p){L(p,!0);let w=M(p,"idx",31,()=>-1),v=$(""),c=$(void 0),u=o({name:"",desc:""}),n=$(o({}));const m=Y().shape({name:P().trim().required("Name is required").matches(F,"Invalid characters: [a-z0-9-_/]{2,32}"),desc:P().trim().matches(G,"Invalid characters: [a-zA-Z0-9\\-_/\\s]{0,128}")});async function N(){if(!await T())return;s(v,"");let t=await ae(u);if(t.ok)s(c,!1),p.onSave();else{let i=await t.json();s(v,o(i.message))}}async function T(){try{return await m.validate(u,{abortEarly:!1}),s(n,o({})),!0}catch(t){return s(n,o(H(t))),!1}}X(C,{get idx(){return w()},set idx(t){w(t)},get show(){return r(c)},set show(t){s(c,o(t))},header:t=>{var i=ce();d(t,i)},body:t=>{var i=me(),g=y(j(i),2);R(g,{autocomplete:"off",placeholder:"Name",get value(){return u.name},set value(e){u.name=e},get error(){return r(n).name},set error(e){r(n).name=e},$$events:{input:T},children:(e,a)=>{k();var l=q("NAME");d(e,l)},$$slots:{default:!0}});var I=y(g,2);R(I,{autocomplete:"off",placeholder:"Description",get value(){return u.desc},set value(e){u.desc=e},get error(){return r(n).desc},set error(e){r(n).desc=e},$$events:{input:T},children:(e,a)=>{k();var l=q("DESCRIPTION");d(e,l)},$$slots:{default:!0}});var D=y(I,2);J(D,{level:1,$$events:{click:N},children:(e,a)=>{k();var l=q("SAVE");d(e,l)},$$slots:{default:!0}});var E=y(D,2);x(E,e=>{});var h=y(E,2);{var S=e=>{var a=de(),l=j(a,!0);A(a),V(()=>z(l,r(v))),d(e,a)};x(h,e=>{r(v)&&e(S)})}A(i),d(t,i)},$$slots:{header:!0,body:!0}}),O()}var fe=b('
      Success
      '),he=b('
      '),pe=b('
      ');function ge(C,p){L(p,!0);let w=M(p,"attr",19,()=>({})),v=$(""),c=$(!1),u=$(void 0);ve(()=>{r(c)&&s(u,o(setTimeout(()=>{s(c,!1),p.onSave()},2e3)))}),W(()=>()=>clearTimeout(r(u)));let n=$(o({})),m=o({});const N=Y().shape({name:P().trim().required("Name is required").matches(F,"Valid characters: [a-z0-9-_/]{2,32}"),desc:P().nullable().trim().matches(G,"Valid characters: [a-zA-Z0-9\\-_/\\s]{0,128}")});W(()=>{m.name=w().name,m.desc=w().desc});async function T(){if(s(v,""),!await t()){s(v,"Invalid input");return}let a={name:m.name,desc:m.desc},l=await te(w().name,a);if(l.ok)s(c,!0);else{let f=await l.json();s(v,o(f.message))}}async function t(){try{return await N.validate(m,{abortEarly:!1}),s(n,o({})),!0}catch(a){return s(n,o(H(a))),!1}}var i=pe(),g=j(i);R(g,{autocomplete:"off",placeholder:"Name",get value(){return m.name},set value(a){m.name=a},get error(){return r(n).name},set error(a){r(n).name=a},$$events:{input:t},children:(a,l)=>{k();var f=q("NAME");d(a,f)},$$slots:{default:!0}});var I=y(g,2);R(I,{autocomplete:"off",placeholder:"Description",get value(){return m.desc},set value(a){m.desc=a},get error(){return r(n).desc},set error(a){r(n).desc=a},$$events:{input:t},children:(a,l)=>{k();var f=q("DESCRIPTION");d(a,f)},$$slots:{default:!0}});var D=y(I,2);J(D,{level:1,width:"4rem",$$events:{click:T},children:(a,l)=>{k();var f=q("SAVE");d(a,f)},$$slots:{default:!0}});var E=y(D,2);{var h=a=>{var l=fe();d(a,l)};x(E,a=>{r(c)&&a(h)})}var S=y(E,2);{var e=a=>{var l=he(),f=j(l,!0);A(l),V(()=>z(f,r(v))),d(a,l)};x(S,a=>{r(v)&&a(e)})}A(i),d(C,i),O()}var $e=b('
      '),ye=b('
      Are you sure, you want to delete this custom attribute?
      ');function we(C,p){L(p,!0);let w=M(p,"attr",19,()=>({})),v=$(!1),c=$("");async function u(){s(c,""),s(v,!0);let t=await re(w().name);if(t.ok)p.onSave();else{let i=await t.json();s(c,o(i.message))}s(v,!1)}var n=ye(),m=y(j(n),2);J(m,{level:1,get isLoading(){return r(v)},set isLoading(t){s(v,o(t))},$$events:{click:u},children:(t,i)=>{k();var g=q("DELETE");d(t,g)},$$slots:{default:!0}});var N=y(m,2);{var T=t=>{var i=$e(),g=j(i,!0);A(i),V(()=>z(g,r(c))),d(t,i)};x(N,t=>{r(c)&&t(T)})}A(n),d(C,n),O()}var be=b('
      '),Ee=b('
      '),Se=b("
      "),Ae=b("
      "),je=b("
      ");function Te(C,p){L(p,!0);let w=M(p,"attr",27,()=>o({})),v=M(p,"onSave",15),c=$(void 0);const u=["Config","Delete"];let n=$(o(u[0]));const m=200,N=m/2;function T(){s(c,!1),v()()}X(C,{get show(){return r(c)},set show(t){s(c,o(t))},header:t=>{var i=Ee(),g=j(i);ne(g,{text:"Custom Attribute Name",children:(I,D)=>{var E=be(),h=j(E,!0);A(E),V(()=>z(h,w().name)),d(I,E)},$$slots:{default:!0}}),A(i),d(t,i)},body:t=>{var i=je(),g=j(i);le(g,{labels:u,get selected(){return r(n)},set selected(h){s(n,o(h))}});var I=y(g,2);{var D=h=>{var S=Se(),e=j(S);ge(e,{get attr(){return w()},get onSave(){return v()},set onSave(a){v(a)}}),A(S),Z(5,S,()=>B,()=>({delay:N,duration:m})),Z(6,S,()=>B,()=>({duration:m})),d(h,S)},E=h=>{var S=ee(),e=K(S);{var a=l=>{var f=Ae(),U=j(f);we(U,{get attr(){return w()},onSave:T}),A(f),Z(5,f,()=>B,()=>({delay:N,duration:m})),Z(6,f,()=>B,()=>({duration:m})),d(l,f)};x(e,l=>{r(n)==="Delete"&&l(a)},!0)}d(h,S)};x(I,h=>{r(n)==="Config"?h(D):h(E,!1)})}A(i),d(t,i)},$$slots:{header:!0,body:!0}}),O()}var Ie=b('
      '),Ce=b('
      ',1);function De(C,p){L(p,!0);let w=$(""),v=$(o([])),c=$(o([])),u=$(o([])),n=$(""),m=[{label:"NAME",callback:(e,a)=>e.name.toLowerCase().includes(a.toLowerCase())}],N=[{label:"NAME",callback:(e,a)=>e.name.localeCompare(a.name)}];W(()=>{T()});async function T(){let e=await se();if(!e.ok)s(w,"Error fetching user attr: "+e.body.message);else{let a=await e.json();s(v,o([...a.values]))}}function t(){r(v).length<2&&(s(v,o([])),s(c,o([])),s(u,o([]))),T(),s(n,"")}k();var i=Ce(),g=K(i),I=y(g),D=j(I);ie(D,{get items(){return r(v)},searchOptions:m,orderOptions:N,get resItems(){return r(c)},set resItems(e){s(c,o(e))},get search(){return r(n)},set search(e){s(n,o(e))}});var E=y(D,2);ue(E,{onSave:t});var h=y(E,2);_(h,23,()=>r(u),e=>e.name,(e,a,l)=>{var f=Ie(),U=j(f);Te(U,{onSave:t,get attr(){return r(u)[r(l)]},set attr(Q){r(u)[r(l)]=Q}}),A(f),d(e,f)}),A(h);var S=y(h,2);oe(S,{get items(){return r(c)},set items(e){s(c,o(e))},get resItems(){return r(u)},set resItems(e){s(u,o(e))}}),k(2),A(I),V(()=>z(g,`${r(w)??""} `)),d(C,i),O()}function Ne(C){De(C,{})}export{Ne as component}; diff --git a/static/v1/_app/immutable/nodes/8.Daj4Fh8B.js.br b/static/v1/_app/immutable/nodes/8.Daj4Fh8B.js.br new file mode 100644 index 000000000..4b55e0c49 Binary files /dev/null and b/static/v1/_app/immutable/nodes/8.Daj4Fh8B.js.br differ diff --git a/static/v1/_app/immutable/nodes/8.Daj4Fh8B.js.gz b/static/v1/_app/immutable/nodes/8.Daj4Fh8B.js.gz new file mode 100644 index 000000000..4d1305002 Binary files /dev/null and b/static/v1/_app/immutable/nodes/8.Daj4Fh8B.js.gz differ diff --git a/static/v1/_app/immutable/nodes/8.DufRai54.js b/static/v1/_app/immutable/nodes/8.DufRai54.js deleted file mode 100644 index 2e4a70ea0..000000000 --- a/static/v1/_app/immutable/nodes/8.DufRai54.js +++ /dev/null @@ -1 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{p as ce,i as u,f as G,t as D,a as de,h as r,s as v,g as a,ap as w,c as l,r as o}from"../chunks/runtime.BsghBUX9.js";import{d as ne,e as me,s as N}from"../chunks/render.CTp9lacC.js";import{i as T}from"../chunks/if.6Ov_EDLa.js";import{e as fe}from"../chunks/each.URXtkKAp.js";import{a as p,t as k,d as j,e as ue}from"../chunks/template.jENAUvUX.js";import{b as he,c as we}from"../chunks/index.G5lyZbma.js";import{p as i}from"../chunks/proxy.YH42NwLs.js";import{o as Ie}from"../chunks/index-client.ClP8y9aT.js";import{r as ge}from"../chunks/legacy-client.DY3VEcT0.js";import{O as xe,P as $e}from"../chunks/Pagination.C52gIDzw.js";import{g as ke,p as ye,d as be}from"../chunks/OptionSelect.Cn2sqgid.js";import{B as H}from"../chunks/Button.CHwcFOJ-.js";import{c as Pe,a as Se,I as J}from"../chunks/Input.B4ccwD4n.js";import{z as Ee,A as Oe,n as De,j as Ne}from"../chunks/helpers.CBl6QeM5.js";import{I as je}from"../chunks/IconStop.CCiFcogG.js";import{T as Ae}from"../chunks/Tooltip.D8Tbt6Nb.js";var Be=k('
      '),_e=k('
      No blacklisted IPs
      '),qe=(y,A,b)=>A(a(b).ip),Ce=k('
      '),Le=k('
      '),Te=k('
      ',1);function Ve(y,A){ce(A,!0);let b=u(""),I=u(""),P=u(i([])),S=u(i([])),B=u(i([])),g=u(!1),c=i({ip:"",exp:""}),E=u(i({}));const M=Pe().shape({ip:Se().required("IP is required").matches(Ee,"Invalid IPv4")}),Q=new Date().toISOString().split(".")[0],W=[{label:"IP",callback:(e,t)=>e.ip.includes(t)}];let Y=[{label:"IP",callback:(e,t)=>e.ip.localeCompare(t.ip)}];ge(()=>{a(g)&&(r(I,""),c.exp=new Date().toISOString().split(".")[0])}),Ie(()=>{_()});async function _(){let e=await ke(),t=await e.json();e.ok?r(P,i(t.ips)):r(b,i(t.message))}async function Z(){if(r(I,""),!await ee())return;let e=Oe(c.exp);if(!e){r(I,"Invalid Date Input: User Expires");return}let t={ip:c.ip,exp:e},d=await ye(t);if(d.ok)r(g,!1),c.ip="",await _();else{let n=await d.json();r(I,i(n.message))}}async function V(e){(await be(e)).ok&&await _()}async function ee(){try{return await M.validate(c,{abortEarly:!1}),r(E,i({})),!0}catch(e){return r(E,i(De(e))),!1}}w();var z=Te(),F=G(z),K=v(F),q=l(K),R=l(q);xe(R,{get items(){return a(P)},searchOptions:W,orderOptions:Y,get resItems(){return a(S)},set resItems(e){r(S,i(e))}});var U=v(R,2),te=l(U);H(te,{level:3,$$events:{click:()=>r(g,!a(g))},children:(e,t)=>{w();var d=j("BLACKLIST IP");p(e,d)},$$slots:{default:!0}}),o(U),o(q);var X=v(q,2);{var ae=e=>{var t=Be(),d=l(t);J(d,{width:"9.5rem",autocomplete:"off",placeholder:"IP",get value(){return c.ip},set value(s){c.ip=s},get error(){return a(E).ip},set error(s){a(E).ip=s},children:(s,O)=>{w();var f=j("IP");p(s,f)},$$slots:{default:!0}});var n=v(d,2);J(n,{type:"datetime-local",step:"60",width:"18rem",min:Q,max:"2099-01-01T00:00",get value(){return c.exp},set value(s){c.exp=s},children:(s,O)=>{w();var f=j("EXPIRES");p(s,f)},$$slots:{default:!0}});var m=v(n,2),x=l(m);H(x,{level:1,$$events:{click:Z},children:(s,O)=>{w();var f=j("SAVE");p(s,f)},$$slots:{default:!0}}),o(m);var h=v(m,2),L=l(h,!0);o(h),o(t),D(()=>N(L,a(I))),he(3,t,()=>we),p(e,t)};T(X,e=>{a(g)&&e(ae)})}var C=v(X,2),se=l(C);{var re=e=>{var t=_e();p(e,t)},ie=e=>{var t=ue(),d=G(t);fe(d,17,()=>a(B),n=>n.ip,(n,m)=>{var x=Le(),h=l(x),L=l(h,!0);o(h);var s=v(h,2),O=l(s,!0);D(()=>N(O,Ne(a(m).exp))),o(s);var f=v(s,2);Ae(f,{text:"Delete IP",children:(ve,Fe)=>{var $=Ce();$.__click=[qe,V,m];var pe=l($);je(pe,{color:"var(--col-err)"}),o($),me("keypress",$,()=>V(a(m).ip)),p(ve,$)},$$slots:{default:!0}}),o(x),D(()=>N(L,a(m).ip)),p(n,x)}),p(e,t)};T(se,e=>{a(P).length===0?e(re):e(ie,!1)})}o(C);var le=v(C,2);{var oe=e=>{$e(e,{get items(){return a(S)},set items(t){r(S,i(t))},get resItems(){return a(B)},set resItems(t){r(B,i(t))}})};T(le,e=>{a(P).length>0&&e(oe)})}w(2),o(K),D(()=>N(F,`${a(b)??""} `)),p(y,z),de()}ne(["click"]);function ze(y){Ve(y,{})}export{ze as component}; diff --git a/static/v1/_app/immutable/nodes/8.DufRai54.js.br b/static/v1/_app/immutable/nodes/8.DufRai54.js.br deleted file mode 100644 index 4f04c89c8..000000000 Binary files a/static/v1/_app/immutable/nodes/8.DufRai54.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/8.DufRai54.js.gz b/static/v1/_app/immutable/nodes/8.DufRai54.js.gz deleted file mode 100644 index 8ba01578e..000000000 Binary files a/static/v1/_app/immutable/nodes/8.DufRai54.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/9.BNMK24Pk.js b/static/v1/_app/immutable/nodes/9.BNMK24Pk.js deleted file mode 100644 index 22fbb33f0..000000000 --- a/static/v1/_app/immutable/nodes/9.BNMK24Pk.js +++ /dev/null @@ -1,9 +0,0 @@ -import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.Dn68_YLB.js";import{c as v,r as i,s as l,g as e,t as X,p as le,h as s,a as se,i as C,f as de,Q as ft,aH as mt,ap as U}from"../chunks/runtime.BsghBUX9.js";import{s as ce,d as At,e as lt}from"../chunks/render.CTp9lacC.js";import{e as bt,i as Nt}from"../chunks/each.URXtkKAp.js";import{a as n,t as T,e as Ce,d as j}from"../chunks/template.jENAUvUX.js";import{p as u}from"../chunks/proxy.YH42NwLs.js";import{c as Ut,o as xe,a as jt}from"../chunks/index-client.ClP8y9aT.js";import{O as Bt,$ as ra,a0 as la,a1 as sa,a2 as ia,a3 as va,a4 as oa,a5 as ca,a6 as na,a7 as da,a8 as ua,a9 as pa,x as ga}from"../chunks/OptionSelect.Cn2sqgid.js";import{d as Dt,e as ha}from"../chunks/admin.DtB7S8u-.js";import{i as W}from"../chunks/if.6Ov_EDLa.js";import{b as ne,f as fa,a as L,c as ue,d as ae,s as Mt,i as ma}from"../chunks/index.G5lyZbma.js";import{p as G,c as Pt,r as yt}from"../chunks/props.CslUVmW_.js";import{E as Wt}from"../chunks/ExpandContainer.BAZSCBeT.js";import{T as qt}from"../chunks/Tooltip.D8Tbt6Nb.js";import{T as ba}from"../chunks/TabBar.g4Oe_bq5.js";import{r as ye}from"../chunks/legacy-client.DY3VEcT0.js";import{I as H,c as $t,a as Y,b as ya}from"../chunks/Input.B4ccwD4n.js";import{ab as $a,ac as wa,Z as Gt,m as He,ad as Ia,ae as _a,af as Ft,n as wt,ag as ie,ah as ka}from"../chunks/helpers.CBl6QeM5.js";import{S as Ke,P as za,b as Ea,a as Ca}from"../chunks/PasswordInput.CnOR-d9I.js";import{I as Vt}from"../chunks/ItemTiles.DWts52A9.js";import{g as st,B as Se,L as xa}from"../chunks/Button.CHwcFOJ-.js";import{s as It}from"../chunks/snippet.C6jUNrz1.js";import{b as ve}from"../chunks/input.D13BG9DA.js";import{I as Sa}from"../chunks/ImageUploadRaw.Bzhki7lp.js";import{O as Ta,P as La}from"../chunks/Pagination.C52gIDzw.js";var Ra=T('
      '),Oa=T('
      ');function Zt(B,c){let t=G(c,"options",19,()=>[{label:"password",value:!1},{label:"refresh_token",value:!1}]);var f=Oa();bt(f,21,t,Nt,(p,m,k)=>{var $=Ra(),R=v($),g=v(R,!0);i(R);var a=l(R,2);Ke(a,{get selected(){return e(m).value},set selected(z){e(m).value=z}}),i($),X(()=>ce(g,e(m).label)),n(p,$)}),i(f),n(B,f)}var Aa=T("
      ");function Na(B,c){le(c,!0);let t=G(c,"validation",19,()=>({})),f=G(c,"value",15),p=G(c,"autocomplete",11,"on"),m=G(c,"validate",15),k=yt(c,["$$slots","$$events","$$legacy","validation","name","value","width","autocomplete","children","validate"]);m(z);let $=C("");const R=Ut();async function g(){await mt(),R("input",!0),z()}async function a(){R("blur",!0),z()}function z(){var y;return s($,""),f()&&((y=t())!=null&&y.regex)&&!f().match(t().regex)?(s($,u(t().errMsg||"Invalid input")),!1):!0}var _=Aa(),S=v(_);return H(S,Pt({get width(){return c.width},get name(){return c.name},get autocomplete(){return p()}},()=>k,{get value(){return f()},set value(y){f(y)},get error(){return e($)},set error(y){s($,u(y))},$$events:{input:g,blur:a},children:(y,w)=>{var d=Ce(),x=de(d);It(x,()=>c.children??ft),n(y,d)},$$slots:{default:!0}})),i(_),ne(7,_,()=>fa,()=>({duration:200})),n(B,_),se({validateValue:z})}var Ua=T('
      '),ja=T('
      ');function Te(B,c){le(c,!0);let t=G(c,"validation",27,()=>u({required:!1,regex:void 0,errMsg:""})),f=G(c,"values",15),p=G(c,"validate",15),m=G(c,"width",3,"260px"),k=G(c,"optional",3,!1),$=G(c,"autocomplete",15,"on"),R=yt(c,["$$slots","$$events","$$legacy","validation","values","validate","width","optional","autocomplete","children"]);p(y);let g=C(""),a=C(u([]));const z=Ut();xe(()=>{f()||f([]);for(let b of f())e(a).push({name:st(),value:b});e(a).push({name:st(),value:""})});async function _(){await mt(),e(a)[e(a).length-1].value?e(a).push({name:st(),value:""}):e(a).length>1&&!e(a)[e(a).length-2].value&&s(a,u([...e(a).slice(0,e(a).length-1)])),z("input",!0),y(),f(S())}function S(){y();let b=[];for(let A=0;Ae(a),Nt,(b,A,P)=>{Na(b,Pt({width:"calc({width} - 20px)",get validation(){return t()},get name(){return e(A).name}},()=>R,{get value(){return e(A).value},set value(D){e(A).value=D},get validate(){return e(A).validate},set validate(D){e(A).validate=D},get autocomplete(){return $()},set autocomplete(D){$(D)},$$events:{input:_,blur:_},children:(D,J)=>{var K=Ce(),te=de(K);It(te,()=>c.children??ft),n(D,K)},$$slots:{default:!0}}))});var x=l(d,2);{var N=b=>{var A=Ua(),P=v(A,!0);i(A),X(()=>ce(P,e(g))),n(b,A)};W(x,b=>{e(g)&&b(N)})}return i(w),X(()=>L(w,"width",m())),n(B,w),se({getValues:S,validateValues:y})}var Ba=T('

      CAUTION: The FORCE MFA option for rauthy itself is managed statically via the ADMIN_FORCE_MFA config variable and will be overridden with each restart.

      '),Da=T(`

      CAUTION: If you FORCE MFA for this client here, this will only apply to the authorization_code flow! If you use other flows, - MFA cannot be forced for them!

      `),Ma=T('
      CAUTION:

      rauthy is the default client which is needed for logging into this Admin UI.
      Be VERY careful when you change values here, since you could end up locking yourself out of the UI.

      ',1),Pa=T('
      Success
      '),Wa=T('
      '),qa=T(`
      CLIENT ID

      The Name can be changed without any impact on the configuration.
      It will just show up on the Login / Logout screens.

      Information about this client's URI and some contacts. - Client URI and Contacts might be shown to users on the login page.

      Client configuration

      ENABLED
      CONFIDENTIAL
      FLOWS ENABLED
      FORCE MFA

      Allowed Scopes will be applied, if the client asks for them during the login.
      Default Scopes will always be applied.

      ALLOWED SCOPES
      DEFAULT SCOPES

      Redirect URIs may contain a * wildcard only at the end.

      The Token Lifetime applies to the Access and ID tokens and is specified in seconds.

      If your client does support EdDSA / ed25519 token algorithms, you should always use it for better security - and - smaller tokens.
      The RSA algorithms does exist for compatibility reasons only.

      The algorithm for the optional refresh token cannot be changed, since this should only be used by rauthy anyway.

      ACCESS ALGORITHM
      ID ALGORITHM

      If your application does support it, you should always use S256 PKCE challenges.
      If you login from a single page application directly without any backend and therefore have a - non-confidential - client, you must(!) use at least the plain PKCE challenge, to have a secure login flow.

      If any of these is set, rauthy will enforce the usage and deny any login, which does not provide a - valid challenge.

      PKCE CHALLENGES
      `);function Ga(B,c){le(c,!0);let t=G(c,"client",31,()=>u({}));const f="350px";let p=C(""),m=C(!1),k=C(void 0),$=u($a.map(o=>{var O,M;return o.label==="device_code"?o.value=(O=t().flows_enabled)==null?void 0:O.includes("urn:ietf:params:oauth:grant-type:device_code"):o.value=(M=t().flows_enabled)==null?void 0:M.includes(o.label),o})),R=C(void 0);Dt.subscribe(o=>{s(R,u(o))});let g=u(wa.map(o=>{var O;return o.value=(O=t().challenges)==null?void 0:O.includes(o.label),o})),a=C(void 0),z=C(void 0),_=C(void 0),S=C(void 0);xe(()=>()=>clearTimeout(e(k)));let y=C(u({}));const w=$t().shape({name:Y().trim().matches(Gt,"Can only contain characters, numbers and '-'"),client_uri:Y().trim().nullable().matches(He,"Invalid URI"),access_token_lifetime:ya().required("Token Lifetime is required").min(10,"Cannot be lower than 10").max(86400,"Cannot be higher than 86400")});function d(){t().redirect_uris[0]===""&&t(t().redirect_uris=[],!0),(!t().post_logout_redirect_uris||t().post_logout_redirect_uris[0]==="")&&t(t().post_logout_redirect_uris=[],!0),t().name||t(t().name="",!0),(!t().contacts||t().contacts[0]==="")&&t(t().contacts=[],!0),t().client_uri||t(t().client_uri=null,!0)}function x(o){o.code==="Enter"&&N()}async function N(){s(p,"");const o=await b();if(!e(z)()){s(p,"Invalid Allowed Origin");return}if(!e(_)()){s(p,"Invalid Redirect URIs");return}if(!e(S)()){s(p,"Invalid Post Logout URIs");return}if(!e(a)()){s(p,"Invalid Contacts");return}if(!o){s(p,"Invalid input");return}if(t(t().access_token_lifetime=Number.parseInt(t().access_token_lifetime),!0),t(t().flows_enabled=$.filter(Q=>Q.value).map(Q=>Q.label==="device_code"?"urn:ietf:params:oauth:grant-type:device_code":Q.label),!0),t().flows_enabled.includes("authorization_code")&&t().redirect_uris.length===0){s(p,"With 'authorization_code' flow enabled, you need to specify at least one redirect URI");return}if(t().flows_enabled.includes("client_credentials")&&!t().confidential){s(p,"'client_credentials' flow needs a 'confidential' client");return}if(t().flows_enabled.length===0){s(p,"At least one flow must be enabled");return}let O=t();t(t().challenges=g.filter(Q=>Q.value).map(Q=>Q.label),!0),t().challenges.length===0&&(O.challenges=null),O.name||(O.name=void 0),O.allowed_origins.length>0&&!O.allowed_origins[0]&&(O.allowed_origins=[]);let M=await ra(O);if(M.ok)s(m,!0);else{let Q=await M.json();s(p,u(Q.message))}}async function b(){try{return await w.validate(t(),{abortEarly:!1}),s(y,u({})),!0}catch(o){return s(y,u(wt(o))),!1}}ye(()=>{t().id&&d()}),ye(()=>{e(m)&&s(k,u(setTimeout(()=>{s(m,!1),c.onSave()},3e3)))});var A=qa(),P=v(A),D=l(v(P),2),J=v(D,!0);i(D),i(P);var K=l(P,4);H(K,{autocomplete:"off",placeholder:"Client Name",width:f,get value(){return t().name},set value(o){t(t().name=o,!0)},get error(){return e(y).name},set error(o){e(y).name=o},$$events:{keypress:x,input:b},children:(o,O)=>{U();var M=j("CLIENT NAME");n(o,M)},$$slots:{default:!0}});var te=l(K,4);H(te,{autocomplete:"off",placeholder:"Client URI",width:f,get value(){return t().client_uri},set value(o){t(t().client_uri=o,!0)},get error(){return e(y).client_uri},set error(o){e(y).client_uri=o},$$events:{keypress:x,input:b},children:(o,O)=>{U();var M=j("CLIENT URI");n(o,M)},$$slots:{default:!0}});var ee=l(te,2);Te(ee,{style:`width: ${f}`,validation:{required:!1,regex:Ia,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",placeholder:"Contact",optional:!0,get values(){return t().contacts},set values(o){t(t().contacts=o,!0)},get validate(){return e(a)},set validate(o){s(a,u(o))},children:(o,O)=>{U();var M=j("CONTACT");n(o,M)},$$slots:{default:!0}});var Z=l(ee,4);L(Z,"margin-top","-5px");var F=v(Z);L(F,"width","138px");var I=l(v(F),2),h=v(I);Ke(h,{get selected(){return t().enabled},set selected(o){t(t().enabled=o,!0)}}),i(I),i(F);var E=l(F,2);L(E,"width","110px");var V=l(v(E),2),pe=v(V);Ke(pe,{get selected(){return t().confidential},set selected(o){t(t().confidential=o,!0)}}),i(V),i(E),i(Z);var re=l(Z,2),Le=l(v(re),2),Re=v(Le);Zt(Re,{get options(){return $}}),i(Le),i(re);var Oe=l(re,2),$e=l(v(Oe),2),Xe=v($e);Ke(Xe,{get selected(){return t().force_mfa},set selected(o){t(t().force_mfa=o,!0)}}),i($e),i(Oe);var Ae=l(Oe,2);{var Ne=o=>{var O=Ba();L(O,"margin","-10px 0 -15px 5px");var M=v(O),Q=v(M);L(Q,"color","var(--col-err)"),U(7),i(M),i(O),n(o,O)},it=o=>{var O=Ce(),M=de(O);{var Q=be=>{var he=Da();L(he,"margin","-10px 0 -15px 5px");var Ve=v(he),Ze=v(Ve);L(Ze,"color","var(--col-err)"),U(5),i(Ve),i(he),ne(3,he,()=>ue),n(be,he)};W(M,be=>{t().force_mfa&&be(Q)},!0)}n(o,O)};W(Ae,o=>{t().id==="rauthy"?o(Ne):o(it,!1)})}var ge=l(Ae,6);L(ge,"margin-top","-10px");var Qe=l(v(ge),2);Vt(Qe,{get options(){return e(R)},searchThreshold:4,get items(){return t().scopes},set items(o){t(t().scopes=o,!0)}}),i(ge);var fe=l(ge,2);L(fe,"margin-top","-3px");var Ue=l(v(fe),2);Vt(Ue,{get options(){return e(R)},searchThreshold:4,get items(){return t().default_scopes},set items(o){t(t().default_scopes=o,!0)}}),i(fe);var Ye=l(fe,4);Te(Ye,{style:`width: ${f}`,validation:{required:!0,regex:_a,errMsg:"Must be a valid origin"},autocomplete:"off",placeholder:"Allowed Origin",optional:!0,get values(){return t().allowed_origins},set values(o){t(t().allowed_origins=o,!0)},get validate(){return e(z)},set validate(o){s(z,u(o))},children:(o,O)=>{U();var M=j("ALLOWED ORIGIN");n(o,M)},$$slots:{default:!0}});var we=l(Ye,4);Te(we,{style:`width: ${f}`,validation:{required:!0,regex:He,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",placeholder:"Redirect URI",optional:!0,get values(){return t().redirect_uris},set values(o){t(t().redirect_uris=o,!0)},get validate(){return e(_)},set validate(o){s(_,u(o))},children:(o,O)=>{U();var M=j("REDIRECT URI");n(o,M)},$$slots:{default:!0}});var je=l(we,4);Te(je,{style:`width: ${f}`,validation:{required:!0,regex:He,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",placeholder:"Post Logout Redirect URI",optional:!0,get values(){return t().post_logout_redirect_uris},set values(o){t(t().post_logout_redirect_uris=o,!0)},get validate(){return e(S)},set validate(o){s(S,u(o))},children:(o,O)=>{U();var M=j("POST LOGOUT REDIRECT URI");n(o,M)},$$slots:{default:!0}});var Be=l(je,6);H(Be,{type:"number",min:60,max:86400,autocomplete:"off",placeholder:"Client Name",width:f,get value(){return t().access_token_lifetime},set value(o){t(t().access_token_lifetime=o,!0)},get error(){return e(y).access_token_lifetime},set error(o){e(y).access_token_lifetime=o},$$events:{input:b},children:(o,O)=>{U();var M=j("ACCESS TOKEN LIFETIME");n(o,M)},$$slots:{default:!0}});var me=l(Be,2),Ie=v(me);L(Ie,"width","220px");var _e=l(v(Ie),2),Je=v(_e);Bt(Je,{options:Ft,get value(){return t().access_token_alg},set value(o){t(t().access_token_alg=o,!0)}}),i(_e),i(Ie);var De=l(Ie,2),ke=v(De);L(ke,"text-align","right");var et=l(ke,2),Me=v(et);Bt(Me,{options:Ft,get value(){return t().id_token_alg},set value(o){t(t().id_token_alg=o,!0)}}),i(et),i(De),i(me);var ze=l(me,6),Pe=l(v(ze),2),We=v(Pe);Zt(We,{get options(){return g}}),i(Pe),i(ze);var qe=l(ze,2),Ge=v(qe);{var tt=o=>{var O=Ma();U(4),n(o,O)};W(Ge,o=>{t().id==="rauthy"&&o(tt)})}i(qe);var Fe=l(qe,2);Se(Fe,{level:1,width:"4rem",$$events:{click:N},children:(o,O)=>{U();var M=j("SAVE");n(o,M)},$$slots:{default:!0}});var Ee=l(Fe,2);{var vt=o=>{var O=Pa();n(o,O)};W(Ee,o=>{e(m)&&o(vt)})}var at=l(Ee,2);{var rt=o=>{var O=Wa(),M=v(O,!0);i(O),X(()=>ce(M,e(p))),n(o,O)};W(at,o=>{e(p)&&o(rt)})}i(A),X(()=>ce(J,t().id)),n(B,A),se()}var Fa=T('
      ');function Va(B,c){le(c,!0);let t=C(""),f=C("");xe(()=>{p()});async function p(){let S=await la(c.client.id),y=await S.json();S.ok?s(f,u(y.secret)):s(t,u(y.message))}async function m(){let S=await sa(c.client.id),y=await S.json();S.ok?await p():s(t,u(y.message))}var k=Fa(),$=v(k),R=v($,!0);i($);var g=l($,2),a=v(g);{var z=S=>{za(S,{autocomplete:"off",disabled:!0,showCopy:!0,width:"inherit",maxWidth:"800px",get value(){return e(f)},set value(y){s(f,u(y))},children:(y,w)=>{U();var d=j("CLIENT SECRET");n(y,d)},$$slots:{default:!0}})};W(a,S=>{e(f)&&S(z)})}i(g);var _=l(g,2);Se(_,{level:1,$$events:{click:m},children:(S,y)=>{U();var w=j("GENERATE NEW");n(S,w)},$$slots:{default:!0}}),i(k),X(()=>ce(R,e(t))),n(B,k),se()}var Za=T('
      Anti-Lockout Rule: The rauthy default client cannot be deleted.
      '),Ha=T('
      '),Ka=T('
      Are you sure, you want to delete this client?
      ',1),Xa=T('
      ');function Qa(B,c){le(c,!0);let t=G(c,"client",19,()=>({})),f=C(!1),p=C("");async function m(){s(p,""),s(f,!0);let a=await ia(t().id);if(a.ok)c.onSave();else{let z=await a.json();s(p,u(z.message))}s(f,!1)}var k=Xa(),$=v(k);{var R=a=>{var z=Za();n(a,z)},g=a=>{var z=Ka(),_=l(de(z),2);Se(_,{level:1,get isLoading(){return e(f)},set isLoading(w){s(f,u(w))},$$events:{click:m},children:(w,d)=>{U();var x=j("DELETE");n(w,x)},$$slots:{default:!0}});var S=l(_,2);{var y=w=>{var d=Ha(),x=v(d,!0);i(d),X(()=>ce(x,e(p))),n(w,d)};W(S,w=>{e(p)&&w(y)})}n(a,z)};W($,a=>{t().id==="rauthy"?a(R):a(g,!1)})}i(k),n(B,k),se()}var Ya=(B,c)=>s(c,!0),Ja=T('
      '),er=T('
      LOAD
      '),tr=T('
      ');function _t(B,c){le(c,!0);let t=C(!1),f=C(!1),p=C(void 0),m=C(void 0),k=C(void 0),$=C(void 0),R=C(void 0),g=C("white");jt(()=>{clearTimeout(e(R))});function a(){switch(c.level){case 1:s(p,u(c.colors.act1)),s(m,u(c.colors.act1a)),s(k,"white"),s($,`1px solid ${c.colors.gmid}`);break;case 2:s(p,u(c.colors.act2)),s(m,u(c.colors.act2a)),s(k,u(c.colors.ghigh)),s($,`1px solid ${c.colors.gmid}`);break;default:s(p,u(c.colors.ghigh)),s(m,"white"),s(k,u(c.colors.act2a)),s($,`1px solid ${c.colors.act2a}`),s(g,u(c.colors.acnt))}}ye(()=>{e(f)&&s(R,u(setTimeout(()=>{s(f,!1)},2e3)))}),ye(()=>{c.colors&&a()});var z=tr(),_=v(z);_.__click=[Ya,f],L(_,"width","100px");var S=v(_);{var y=d=>{var x=Ja(),N=v(x);xa(N,{background:!1,get color(){return e(g)}}),i(x),n(d,x)},w=d=>{var x=er();n(d,x)};W(S,d=>{e(f)?d(y):d(w,!1)})}i(_),i(z),X(()=>{L(_,"border",e($)),L(_,"box-shadow",`1px 1px 2px ${c.colors.gmid??""}`),L(_,"cursor",e(f)?"default":"pointer"),L(_,"color",e(k)),L(_,"background",e(t)?e(m):e(p))}),lt("focus",_,()=>s(t,!0)),lt("blur",_,()=>s(t,!1)),lt("keypress",_,()=>s(f,!0)),n(B,z),se()}At(["click"]);var ar=T('
      '),rr=T('
      '),lr=T('
      ');function Ht(B,c){le(c,!0);let t=G(c,"colors",19,()=>({})),f=G(c,"error",3,""),p=G(c,"name",3,""),m=G(c,"password",3,!1),k=G(c,"value",3,""),$=G(c,"width",3,"250px"),R=yt(c,["$$slots","$$events","$$legacy","colors","error","name","password","value","width","children"]),g=C(u(m()?"new-password":"text")),a=C(!1),z=C(!1);function _(){e(g)==="password"?s(g,"text"):s(g,"password")}var S=lr(),y=v(S),w=v(y),d=v(w),x=v(d);It(x,()=>c.children??ft),i(d),i(w),i(y);var N=l(y,2);ae(N);var b=()=>s(a,!0),A=()=>s(a,!1),P=()=>s(z,!0),D=()=>s(z,!1);let J;var K=l(N,2);{var te=F=>{var I=ar(),h=v(I);h.__click=_;var E=v(h);{var V=re=>{Ea(re,{width:22,get color(){return t().err}})},pe=re=>{Ca(re,{width:22,get color(){return t().ok}})};W(E,re=>{e(g)==="password"?re(V):re(pe,!1)})}i(h),i(I),lt("keypress",h,_),n(F,I)};W(K,F=>{m()&&F(te)})}var ee=l(K,2);{var Z=F=>{var I=rr(),h=v(I,!0);i(I),X(()=>{L(I,"width",$()),L(I,"color",t().err),ce(h,f())}),ne(7,I,()=>ue,()=>({duration:250})),n(F,I)};W(ee,F=>{f()&&F(Z)})}i(S),X(()=>{L(S,"width",`calc(${$()??""} + 12px)`),L(w,"background",t().bg),Mt(d,"for",p()),J=ma(N,J,{type:e(g),onmouseenter:b,onmouseleave:A,onfocus:P,onblur:D,autocomplete:"off",name:p(),value:k(),...R},"svelte-115vejc"),L(N,"width",$()),L(N,"background",(e(a)||e(z),t().bg)),L(N,"border",e(z)?`1px solid ${t().acnt}`:`1px solid ${t().glow}`),L(N,"color",t().text),L(N,"box-shadow",`1px 1px 2px ${t().gmid??""}`)}),n(B,S),se()}At(["click"]);var sr=T('No Logo Available');function Kt(B,c){le(c,!0);var t=sr();X(()=>Mt(t,"src",`/auth/v1/clients/${c.clientId}/logo?${st(6)}`)),n(B,t),se()}var ir=T('
      PREVIEW

      Client Name

      ',1);function vr(B,c){le(c,!0);let t="This is an E-Mail error",f="This is a password error";var p=ir(),m=l(de(p),2),k=v(m),$=v(k),R=v($);{var g=d=>{Kt(d,{get clientId(){return c.clientId}})};W(R,d=>{c.isLoading||d(g)})}i($),i(k);var a=l(k,4);Ht(a,{type:"email",name:"rauthyEmail",placeholder:"E-Mail",get error(){return t},get colors(){return c.colors},children:(d,x)=>{U();var N=j("E-MAIL");n(d,N)},$$slots:{default:!0}});var z=l(a,2);Ht(z,{password:!0,name:"rauthyPassword",placeholder:"Password",get error(){return f},get colors(){return c.colors},children:(d,x)=>{U();var N=j("E-MAIL");n(d,N)},$$slots:{default:!0}});var _=l(z,2),S=v(_);_t(S,{get colors(){return c.colors},level:1});var y=l(S,2);_t(y,{get colors(){return c.colors},level:2});var w=l(y,2);_t(w,{get colors(){return c.colors},level:3}),i(_),i(m),X(()=>{L(m,"color",c.colors.text),L(m,"border",`1px solid ${c.colors.gmid??""}`),L(m,"background",c.colors.bg)}),n(B,p),se()}var or=T('
      ',1),cr=T('
      '),nr=T('
      Success
      '),dr=T('
      '),ur=T(`

      You can set client specific colors, which then will be used for the Login page. - These colors must be valid CSS values. Either enter them directly or use the color picker.

      `);function pr(B,c){le(c,!0);let t=G(c,"client",19,()=>({})),f=C(void 0),p=C(void 0),m=C(!1),k=C(""),$=C(!1),R=C(void 0),g=C(u({})),a=C(u({}));const z=$t().shape({act1:Y().trim().matches(ie,"only valid CSS color"),act1a:Y().trim().matches(ie,"only valid CSS color"),act2:Y().trim().matches(ie,"only valid CSS color"),act2a:Y().trim().matches(ie,"only valid CSS color"),acnt:Y().trim().matches(ie,"only valid CSS color"),acnta:Y().trim().matches(ie,"only valid CSS color"),ok:Y().trim().matches(ie,"only valid CSS color"),err:Y().trim().matches(ie,"only valid CSS color"),glow:Y().trim().matches(ie,"only valid CSS color"),gmid:Y().trim().matches(ie,"only valid CSS color"),ghigh:Y().trim().matches(ie,"only valid CSS color"),text:Y().trim().matches(ie,"only valid CSS color"),bg:Y().trim().matches(ie,"only valid CSS color")});xe(async()=>{await _()}),jt(()=>{e(R)&&clearTimeout(e(R))});async function _(){let h=await va(t().id);if(h.ok){let E=await h.json();s(f,u(E)),s(a,u(E))}else{let E=await h.json();s(k,u(E.message))}}async function S(){if(s(k,""),s(m,!0),!await d())return;let h=await oa(t().id,e(a));if(h.ok)s($,!0);else{let E=await h.json();s(k,u(E.message))}s(m,!1)}async function y(){s(k,""),s(m,!0);let h=await ca(t().id);if(h.ok)await na(t().id),await _(),s($,!0);else{let E=await h.json();s(k,u(E.message))}s(m,!1)}async function w(h){s(m,!0),await mt();let E=await da(t().id,h);if(!E.ok){let V=await E.json();console.error(V.message)}s(m,!1)}async function d(){try{await z.validate(e(a),{abortEarly:!1}),s(g,u({}))}catch(h){return s(g,u(wt(h))),!1}return s(f,u(e(a))),!0}ye(()=>{e($)&&s(R,u(setTimeout(()=>{s($,!1)},3e3)))}),ye(()=>{e(p)&&w(e(p))});var x=ur(),N=l(v(x),2),b=v(N);{var A=h=>{var E=or(),V=de(E),pe=v(V),re=v(pe);H(re,{autocomplete:"off",placeholder:"act1",get value(){return e(a).act1},set value(r){e(a).act1=r},get error(){return e(g).act1},set error(r){e(g).act1=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("act1");n(r,q)},$$slots:{default:!0}});var Le=l(re,2),Re=v(Le);ae(Re);var Oe=l(Re,2);i(Le),i(pe);var $e=l(pe,2),Xe=v($e);H(Xe,{autocomplete:"off",placeholder:"act1a",get value(){return e(a).act1a},set value(r){e(a).act1a=r},get error(){return e(g).act1a},set error(r){e(g).act1a=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("act1a");n(r,q)},$$slots:{default:!0}});var Ae=l(Xe,2),Ne=v(Ae);ae(Ne);var it=l(Ne,2);i(Ae),i($e);var ge=l($e,2),Qe=v(ge);H(Qe,{autocomplete:"off",placeholder:"act2",get value(){return e(a).act2},set value(r){e(a).act2=r},get error(){return e(g).act2},set error(r){e(g).act2=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("act2");n(r,q)},$$slots:{default:!0}});var fe=l(Qe,2),Ue=v(fe);ae(Ue);var Ye=l(Ue,2);i(fe),i(ge);var we=l(ge,2),je=v(we);H(je,{autocomplete:"off",placeholder:"act2a",get value(){return e(a).act2a},set value(r){e(a).act2a=r},get error(){return e(g).act2a},set error(r){e(g).act2a=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("act2a");n(r,q)},$$slots:{default:!0}});var Be=l(je,2),me=v(Be);ae(me);var Ie=l(me,2);i(Be),i(we);var _e=l(we,2),Je=v(_e);H(Je,{autocomplete:"off",placeholder:"acnt",get value(){return e(a).acnt},set value(r){e(a).acnt=r},get error(){return e(g).acnt},set error(r){e(g).acnt=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("acnt");n(r,q)},$$slots:{default:!0}});var De=l(Je,2),ke=v(De);ae(ke);var et=l(ke,2);i(De),i(_e);var Me=l(_e,2),ze=v(Me);H(ze,{autocomplete:"off",placeholder:"acnta",get value(){return e(a).acnta},set value(r){e(a).acnta=r},get error(){return e(g).acnta},set error(r){e(g).acnta=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("acnta");n(r,q)},$$slots:{default:!0}});var Pe=l(ze,2),We=v(Pe);ae(We);var qe=l(We,2);i(Pe),i(Me);var Ge=l(Me,2),tt=v(Ge);H(tt,{autocomplete:"off",placeholder:"ok",get value(){return e(a).ok},set value(r){e(a).ok=r},get error(){return e(g).ok},set error(r){e(g).ok=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("ok");n(r,q)},$$slots:{default:!0}});var Fe=l(tt,2),Ee=v(Fe);ae(Ee);var vt=l(Ee,2);i(Fe),i(Ge);var at=l(Ge,2),rt=v(at);H(rt,{autocomplete:"off",placeholder:"err",get value(){return e(a).err},set value(r){e(a).err=r},get error(){return e(g).err},set error(r){e(g).err=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("err");n(r,q)},$$slots:{default:!0}});var o=l(rt,2),O=v(o);ae(O);var M=l(O,2);i(o),i(at),i(V);var Q=l(V,2),be=v(Q),he=v(be);H(he,{autocomplete:"off",placeholder:"glow",get value(){return e(a).glow},set value(r){e(a).glow=r},get error(){return e(g).glow},set error(r){e(g).glow=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("glow");n(r,q)},$$slots:{default:!0}});var Ve=l(he,2),Ze=v(Ve);ae(Ze);var Xt=l(Ze,2);i(Ve),i(be);var ot=l(be,2),kt=v(ot);H(kt,{autocomplete:"off",placeholder:"gmid",get value(){return e(a).gmid},set value(r){e(a).gmid=r},get error(){return e(g).gmid},set error(r){e(g).gmid=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("gmid");n(r,q)},$$slots:{default:!0}});var zt=l(kt,2),ct=v(zt);ae(ct);var Qt=l(ct,2);i(zt),i(ot);var nt=l(ot,2),Et=v(nt);H(Et,{autocomplete:"off",placeholder:"ghigh",get value(){return e(a).ghigh},set value(r){e(a).ghigh=r},get error(){return e(g).ghigh},set error(r){e(g).ghigh=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("ghigh");n(r,q)},$$slots:{default:!0}});var Ct=l(Et,2),dt=v(Ct);ae(dt);var Yt=l(dt,2);i(Ct),i(nt);var ut=l(nt,2),xt=v(ut);H(xt,{autocomplete:"off",placeholder:"text",get value(){return e(a).text},set value(r){e(a).text=r},get error(){return e(g).text},set error(r){e(g).text=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("text");n(r,q)},$$slots:{default:!0}});var St=l(xt,2),pt=v(St);ae(pt);var Jt=l(pt,2);i(St),i(ut);var gt=l(ut,2),Tt=v(gt);H(Tt,{autocomplete:"off",placeholder:"bg",get value(){return e(a).bg},set value(r){e(a).bg=r},get error(){return e(g).bg},set error(r){e(g).bg=r},$$events:{input:d},children:(r,oe)=>{U();var q=j("bg");n(r,q)},$$slots:{default:!0}});var Lt=l(Tt,2),ht=v(Lt);ae(ht);var ea=l(ht,2);i(Lt),i(gt);var Rt=l(gt,2),Ot=v(Rt);Sa(Ot,{get image(){return e(p)},set image(r){s(p,u(r))}});var ta=l(Ot,2);{var aa=r=>{Kt(r,{get clientId(){return t().id}})};W(ta,r=>{e(m)||r(aa)})}i(Rt),i(Q),X(()=>{L(Oe,"background",e(a).act1),L(it,"background",e(a).act1a),L(Ye,"background",e(a).act2),L(Ie,"background",e(a).act2a),L(et,"background",e(a).acnt),L(qe,"background",e(a).acnta),L(vt,"background",e(a).ok),L(M,"background",e(a).err),L(Xt,"background",e(a).glow),L(Qt,"background",e(a).gmid),L(Yt,"background",e(a).ghigh),L(Jt,"background",e(a).text),L(ea,"background",e(a).bg)}),ve(Re,()=>e(a).act1,r=>e(a).act1=r),ve(Ne,()=>e(a).act1a,r=>e(a).act1a=r),ve(Ue,()=>e(a).act2,r=>e(a).act2=r),ve(me,()=>e(a).act2a,r=>e(a).act2a=r),ve(ke,()=>e(a).acnt,r=>e(a).acnt=r),ve(We,()=>e(a).acnta,r=>e(a).acnta=r),ve(Ee,()=>e(a).ok,r=>e(a).ok=r),ve(O,()=>e(a).err,r=>e(a).err=r),ve(Ze,()=>e(a).glow,r=>e(a).glow=r),ve(ct,()=>e(a).gmid,r=>e(a).gmid=r),ve(dt,()=>e(a).ghigh,r=>e(a).ghigh=r),ve(pt,()=>e(a).text,r=>e(a).text=r),ve(ht,()=>e(a).bg,r=>e(a).bg=r),n(h,E)};W(b,h=>{e(a)&&h(A)})}var P=l(b,2);{var D=h=>{var E=cr(),V=v(E);vr(V,{get clientId(){return t().id},get isLoading(){return e(m)},get colors(){return e(f)},set colors(pe){s(f,u(pe))}}),i(E),n(h,E)};W(P,h=>{e(f)&&h(D)})}i(N);var J=l(N,2),K=v(J);Se(K,{level:1,get isLoading(){return e(m)},set isLoading(h){s(m,u(h))},$$events:{click:S},children:(h,E)=>{U();var V=j("SAVE");n(h,V)},$$slots:{default:!0}});var te=l(K,2);Se(te,{level:3,get isLoading(){return e(m)},set isLoading(h){s(m,u(h))},$$events:{click:y},children:(h,E)=>{U();var V=j("RESET");n(h,V)},$$slots:{default:!0}});var ee=l(te,2);{var Z=h=>{var E=nr();n(h,E)};W(ee,h=>{e($)&&h(Z)})}var F=l(ee,2);{var I=h=>{var E=dr(),V=v(E,!0);i(E),X(()=>ce(V,e(k))),n(h,E)};W(F,h=>{e(k)&&h(I)})}i(J),i(x),n(B,x),se()}var gr=T('
      '),hr=T('
      '),fr=T('
      '),mr=T("
      "),br=T("
      "),yr=T("
      "),$r=T("
      "),wr=T("
      ");function Ir(B,c){le(c,!0);let t=G(c,"client",31,()=>u({})),f=G(c,"onSave",15),p=C(void 0);const m=["Config","Secret","Branding","Delete"];let k=C(u(m[0]));const $=200,R=$/2;function g(){s(p,!1),f()()}Wt(B,{get show(){return e(p)},set show(a){s(p,u(a))},header:a=>{var z=fr(),_=v(z);qt(_,{text:"Client ID",children:(w,d)=>{var x=gr(),N=v(x,!0);i(x),X(()=>ce(N,t().id)),n(w,x)},$$slots:{default:!0}});var S=l(_,2);{var y=w=>{qt(w,{text:"Client Name",children:(d,x)=>{var N=hr(),b=v(N,!0);i(N),X(()=>ce(b,t().name)),n(d,N)},$$slots:{default:!0}})};W(S,w=>{t().name&&w(y)})}i(z),n(a,z)},body:a=>{var z=wr(),_=v(z);ba(_,{labels:m,get selected(){return e(k)},set selected(d){s(k,u(d))}});var S=l(_,2);{var y=d=>{var x=mr(),N=v(x);Ga(N,{get client(){return t()},set client(b){t(b)},get onSave(){return f()},set onSave(b){f(b)}}),i(x),ne(5,x,()=>ue,()=>({delay:R,duration:$})),ne(6,x,()=>ue,()=>({duration:$})),n(d,x)},w=d=>{var x=Ce(),N=de(x);{var b=P=>{var D=br(),J=v(D);Va(J,{get client(){return t()}}),i(D),ne(5,D,()=>ue,()=>({delay:R,duration:$})),ne(6,D,()=>ue,()=>({duration:$})),n(P,D)},A=P=>{var D=Ce(),J=de(D);{var K=ee=>{var Z=yr(),F=v(Z);pr(F,{get client(){return t()}}),i(Z),ne(5,Z,()=>ue,()=>({delay:R,duration:$})),ne(6,Z,()=>ue,()=>({duration:$})),n(ee,Z)},te=ee=>{var Z=Ce(),F=de(Z);{var I=h=>{var E=$r(),V=v(E);Qa(V,{get client(){return t()},onSave:g}),i(E),ne(5,E,()=>ue,()=>({delay:R,duration:$})),ne(6,E,()=>ue,()=>({duration:$})),n(h,E)};W(F,h=>{e(k)==="Delete"&&h(I)},!0)}n(ee,Z)};W(J,ee=>{e(k)==="Branding"?ee(K):ee(te,!1)},!0)}n(P,D)};W(N,P=>{e(k)==="Secret"?P(b):P(A,!1)},!0)}n(d,x)};W(S,d=>{e(k)==="Config"?d(y):d(w,!1)})}i(z),n(a,z)},$$slots:{header:!0,body:!0}}),se()}var _r=T('
      ADD NEW CLIENT
      '),kr=T('
      Success
      '),zr=T('
      '),Er=T('
      CONFIDENTIAL
      ');function Cr(B,c){le(c,!0);let t=G(c,"idx",31,()=>-1),f=C(void 0),p=u({id:"",name:"",confidential:!0,redirect_uris:[]}),m=C(""),k=C(!1),$=C(void 0),R=C(u({}));const g=$t().shape({id:Y().required("Client ID is required").trim().matches(ka,"Can only contain characters, numbers and '-'"),name:Y().trim().nullable().matches(Gt,"Can only contain characters, numbers and '-'")});let a=C(void 0),z=C(void 0);const _="330px";ye(()=>{e(k)&&s($,u(setTimeout(()=>{c.onSave(),s(k,!1),s(f,!1)},1500)))}),xe(()=>()=>clearTimeout(e($)));async function S(){if(s(m,""),!await y()||!e(a)()||!e(z)()){s(m,"Invalid input");return}let w=p;w.name||(w.name=void 0);let d=await ua(w);if(d.ok)s(k,!0);else{let x=await d.json();s(m,u(x.message))}}async function y(){try{return await g.validate(p,{abortEarly:!1}),s(R,u({})),!0}catch(w){return s(R,u(wt(w))),!1}}Wt(B,{get idx(){return t()},set idx(w){t(w)},get show(){return e(f)},set show(w){s(f,u(w))},header:w=>{var d=_r();n(w,d)},body:w=>{var d=Er(),x=v(d);H(x,{autocomplete:"off",placeholder:"Client ID",width:_,get value(){return p.id},set value(I){p.id=I},get error(){return e(R).id},set error(I){e(R).id=I},$$events:{input:y},children:(I,h)=>{U();var E=j("CLIENT ID");n(I,E)},$$slots:{default:!0}});var N=l(x,2);H(N,{autocomplete:"off",placeholder:"Client Name",width:_,get value(){return p.name},set value(I){p.name=I},get error(){return e(R).name},set error(I){e(R).name=I},$$events:{input:y},children:(I,h)=>{U();var E=j("NAME");n(I,E)},$$slots:{default:!0}});var b=l(N,2);Te(b,{style:`width: ${_}`,validation:{required:!0,regex:He,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",optional:!0,placeholder:"Redirect URI",get values(){return p.redirect_uris},set values(I){p.redirect_uris=I},get validate(){return e(a)},set validate(I){s(a,u(I))},children:(I,h)=>{U();var E=j("REDIRECT URI");n(I,E)},$$slots:{default:!0}});var A=l(b,2);Te(A,{style:`width: ${_}`,validation:{required:!0,regex:He,errMsg:"Only URL safe values: a-zA-Z0-9,.:/_-&?=~#!$'()*+%"},autocomplete:"off",optional:!0,placeholder:"Post Logout Redirect URI",get values(){return p.post_logout_redirect_uris},set values(I){p.post_logout_redirect_uris=I},get validate(){return e(z)},set validate(I){s(z,u(I))},children:(I,h)=>{U();var E=j("POST LOGOUT REDIRECT URI");n(I,E)},$$slots:{default:!0}});var P=l(A,2),D=l(v(P),2),J=v(D);Ke(J,{get selected(){return p.confidential},set selected(I){p.confidential=I}}),i(D),i(P);var K=l(P,2);Se(K,{level:1,width:"4rem",$$events:{click:S},children:(I,h)=>{U();var E=j("SAVE");n(I,E)},$$slots:{default:!0}});var te=l(K,2);{var ee=I=>{var h=kr();n(I,h)};W(te,I=>{e(k)&&I(ee)})}var Z=l(te,2);{var F=I=>{var h=zr(),E=v(h,!0);i(h),X(()=>ce(E,e(m))),n(I,h)};W(Z,I=>{e(m)&&I(F)})}i(d),n(w,d)},$$slots:{header:!0,body:!0}}),se()}var xr=T('
      '),Sr=T('
      ',1);function Tr(B,c){le(c,!0);let t=C(""),f=C(u([])),p=C(u([])),m=C(u([])),k=C(""),$=[{label:"ID",callback:(b,A)=>b.id.toLowerCase().includes(A.toLowerCase())}],R=[{label:"ID",callback:(b,A)=>b.id.localeCompare(A.id)}];xe(()=>{g(),a()});async function g(){let b=await pa();if(!b.ok)s(t,"Error fetching clients: "+b.body.message);else{let A=await b.json();s(f,u([...A]))}}async function a(){let b=await ga();if(!b.ok)s(t,"Error fetching scopes: "+b.body.message);else{let A=await b.json();ha.set(A),Dt.set(A.map(P=>P.name))}}function z(){g(),a(),s(k,"")}U();var _=Sr(),S=de(_),y=l(S),w=v(y);Ta(w,{get items(){return e(f)},searchOptions:$,orderOptions:R,get resItems(){return e(p)},set resItems(b){s(p,u(b))},get search(){return e(k)},set search(b){s(k,u(b))}});var d=l(w,2);Cr(d,{onSave:z});var x=l(d,2);bt(x,23,()=>e(m),b=>b.id,(b,A,P)=>{var D=xr(),J=v(D);Ir(J,{onSave:z,get client(){return e(m)[e(P)]},set client(K){e(m)[e(P)]=K}}),i(D),n(b,D)}),i(x);var N=l(x,2);La(N,{get items(){return e(p)},set items(b){s(p,u(b))},get resItems(){return e(m)},set resItems(b){s(m,u(b))}}),U(2),i(y),X(()=>ce(S,`${e(t)??""} `)),n(B,_),se()}function Lr(B){Tr(B,{})}export{Lr as component}; diff --git a/static/v1/_app/immutable/nodes/9.BNMK24Pk.js.br b/static/v1/_app/immutable/nodes/9.BNMK24Pk.js.br deleted file mode 100644 index aece3b9eb..000000000 Binary files a/static/v1/_app/immutable/nodes/9.BNMK24Pk.js.br and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/9.BNMK24Pk.js.gz b/static/v1/_app/immutable/nodes/9.BNMK24Pk.js.gz deleted file mode 100644 index bcd992ec9..000000000 Binary files a/static/v1/_app/immutable/nodes/9.BNMK24Pk.js.gz and /dev/null differ diff --git a/static/v1/_app/immutable/nodes/9.DdeZAGob.js b/static/v1/_app/immutable/nodes/9.DdeZAGob.js new file mode 100644 index 000000000..e2c709101 --- /dev/null +++ b/static/v1/_app/immutable/nodes/9.DdeZAGob.js @@ -0,0 +1 @@ +import"../chunks/disclose-version.BDr9Qe-U.js";import"../chunks/legacy.DtyiMpWz.js";import{p as ce,i as u,ao as de,f as G,t as B,a as ne,h as r,s as v,g as t,aq as w,c as l,r as o}from"../chunks/index-client.DAoU_hDn.js";import{d as me,e as fe,s as D}from"../chunks/render.mNhspeV3.js";import{i as T}from"../chunks/if.BANCODOf.js";import{e as ue}from"../chunks/each.DTG73tix.js";import{a as p,t as k,d as N,e as he}from"../chunks/template.DcxtE4ym.js";import{t as we,a as Ie}from"../chunks/index.DER1jHiU.js";import{p as i}from"../chunks/proxy.D3ASEzk3.js";import{r as ge}from"../chunks/legacy-client.rYJ80fHr.js";import{O as xe,P as $e}from"../chunks/Pagination.DF9sn7Vj.js";import{g as ke,p as ye,d as Pe}from"../chunks/dataFetchingAdmin.D7RWqeRL.js";import{B as H}from"../chunks/Button.CKHLXer8.js";import{c as be,a as Se,I as J}from"../chunks/Input.C04-Kl2S.js";import{A as Ee,B as Oe,o as Be,k as De}from"../chunks/helpers.BV-akmwW.js";import{I as Ne}from"../chunks/IconStop.D3wKU0RX.js";import{T as qe}from"../chunks/OptionSelect.CBlj_bre.js";var Ae=k('
      '),_e=k('
      No blacklisted IPs
      '),je=(y,q,P)=>q(t(P).ip),Ce=k('
      '),Le=k('
      '),Te=k('
      ',1);function Ve(y,q){ce(q,!0);let P=u(""),I=u(""),b=u(i([])),S=u(i([])),A=u(i([])),g=u(!1),c=i({ip:"",exp:""}),E=u(i({}));const M=be().shape({ip:Se().required("IP is required").matches(Ee,"Invalid IPv4")}),Q=new Date().toISOString().split(".")[0],W=[{label:"IP",callback:(e,a)=>e.ip.includes(a)}];let Y=[{label:"IP",callback:(e,a)=>e.ip.localeCompare(a.ip)}];ge(()=>{t(g)&&(r(I,""),c.exp=new Date().toISOString().split(".")[0])}),de(()=>{_()});async function _(){let e=await ke(),a=await e.json();e.ok?r(b,i(a.ips)):r(P,i(a.message))}async function Z(){if(r(I,""),!await ee())return;let e=Oe(c.exp);if(!e){r(I,"Invalid Date Input: User Expires");return}let a={ip:c.ip,exp:e},d=await ye(a);if(d.ok)r(g,!1),c.ip="",await _();else{let n=await d.json();r(I,i(n.message))}}async function V(e){(await Pe(e)).ok&&await _()}async function ee(){try{return await M.validate(c,{abortEarly:!1}),r(E,i({})),!0}catch(e){return r(E,i(Be(e))),!1}}w();var F=Te(),K=G(F),R=v(K),j=l(R),U=l(j);xe(U,{get items(){return t(b)},searchOptions:W,orderOptions:Y,get resItems(){return t(S)},set resItems(e){r(S,i(e))}});var X=v(U,2),ae=l(X);H(ae,{level:3,$$events:{click:()=>r(g,!t(g))},children:(e,a)=>{w();var d=N("BLACKLIST IP");p(e,d)},$$slots:{default:!0}}),o(X),o(j);var z=v(j,2);{var te=e=>{var a=Ae(),d=l(a);J(d,{width:"9.5rem",autocomplete:"off",placeholder:"IP",get value(){return c.ip},set value(s){c.ip=s},get error(){return t(E).ip},set error(s){t(E).ip=s},children:(s,O)=>{w();var f=N("IP");p(s,f)},$$slots:{default:!0}});var n=v(d,2);J(n,{type:"datetime-local",step:"60",width:"18rem",min:Q,max:"2099-01-01T00:00",get value(){return c.exp},set value(s){c.exp=s},children:(s,O)=>{w();var f=N("EXPIRES");p(s,f)},$$slots:{default:!0}});var m=v(n,2),x=l(m);H(x,{level:1,$$events:{click:Z},children:(s,O)=>{w();var f=N("SAVE");p(s,f)},$$slots:{default:!0}}),o(m);var h=v(m,2),L=l(h,!0);o(h),o(a),B(()=>D(L,t(I))),we(3,a,()=>Ie),p(e,a)};T(z,e=>{t(g)&&e(te)})}var C=v(z,2),se=l(C);{var re=e=>{var a=_e();p(e,a)},ie=e=>{var a=he(),d=G(a);ue(d,17,()=>t(A),n=>n.ip,(n,m)=>{var x=Le(),h=l(x),L=l(h,!0);o(h);var s=v(h,2),O=l(s,!0);B(()=>D(O,De(t(m).exp))),o(s);var f=v(s,2);qe(f,{text:"Delete IP",children:(ve,Ke)=>{var $=Ce();$.__click=[je,V,m];var pe=l($);Ne(pe,{color:"var(--col-err)"}),o($),fe("keypress",$,()=>V(t(m).ip)),p(ve,$)},$$slots:{default:!0}}),o(x),B(()=>D(L,t(m).ip)),p(n,x)}),p(e,a)};T(se,e=>{t(b).length===0?e(re):e(ie,!1)})}o(C);var le=v(C,2);{var oe=e=>{$e(e,{get items(){return t(S)},set items(a){r(S,i(a))},get resItems(){return t(A)},set resItems(a){r(A,i(a))}})};T(le,e=>{t(b).length>0&&e(oe)})}w(2),o(R),B(()=>D(K,`${t(P)??""} `)),p(y,F),ne()}me(["click"]);function Fe(y){Ve(y,{})}export{Fe as component}; diff --git a/static/v1/_app/immutable/nodes/9.DdeZAGob.js.br b/static/v1/_app/immutable/nodes/9.DdeZAGob.js.br new file mode 100644 index 000000000..deb04d41a Binary files /dev/null and b/static/v1/_app/immutable/nodes/9.DdeZAGob.js.br differ diff --git a/static/v1/_app/immutable/nodes/9.DdeZAGob.js.gz b/static/v1/_app/immutable/nodes/9.DdeZAGob.js.gz new file mode 100644 index 000000000..04e3b8479 Binary files /dev/null and b/static/v1/_app/immutable/nodes/9.DdeZAGob.js.gz differ diff --git a/static/v1/_app/version.json b/static/v1/_app/version.json index d845d2c30..69d5e3a54 100644 --- a/static/v1/_app/version.json +++ b/static/v1/_app/version.json @@ -1 +1 @@ -{"version":"1738842568516"} \ No newline at end of file +{"version":"1739186343494"} \ No newline at end of file diff --git a/static/v1/_app/version.json.br b/static/v1/_app/version.json.br index 4288717f4..8197ac0b2 100644 Binary files a/static/v1/_app/version.json.br and b/static/v1/_app/version.json.br differ diff --git a/static/v1/_app/version.json.gz b/static/v1/_app/version.json.gz index c9be487e4..d7b46b52d 100644 Binary files a/static/v1/_app/version.json.gz and b/static/v1/_app/version.json.gz differ diff --git a/templates/html/account.html b/templates/html/account.html index 7dc0c5987..c6a227068 100644 --- a/templates/html/account.html +++ b/templates/html/account.html @@ -28,10 +28,10 @@ --width-events-wide: 30rem; } - - - - + + + + @@ -41,67 +41,73 @@ - + + - - - - - - + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - User Account + + + + + + + + + + + + + + + + + + + + + + + User Account
      + 3.75 0 11-7.5 0 3.75 3.75 0 017.5 0z">
      - - - diff --git a/templates/html/admin/config.html.br b/templates/html/admin/config.html.br deleted file mode 100644 index 75d969353..000000000 Binary files a/templates/html/admin/config.html.br and /dev/null differ diff --git a/templates/html/admin/config.html.gz b/templates/html/admin/config.html.gz deleted file mode 100644 index 78adae080..000000000 Binary files a/templates/html/admin/config.html.gz and /dev/null differ diff --git a/templates/html/admin/config/argon2.html b/templates/html/admin/config/argon2.html new file mode 100644 index 000000000..a9df75613 --- /dev/null +++ b/templates/html/admin/config/argon2.html @@ -0,0 +1,127 @@ + + + + + + + Rauthy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rauthy Admin + + + +
      + + +
      + + diff --git a/templates/html/admin/config/argon2.html.br b/templates/html/admin/config/argon2.html.br new file mode 100644 index 000000000..9849cda5b Binary files /dev/null and b/templates/html/admin/config/argon2.html.br differ diff --git a/templates/html/admin/config/argon2.html.gz b/templates/html/admin/config/argon2.html.gz new file mode 100644 index 000000000..a99a5569c Binary files /dev/null and b/templates/html/admin/config/argon2.html.gz differ diff --git a/templates/html/admin/config/encryption.html b/templates/html/admin/config/encryption.html new file mode 100644 index 000000000..9ee984dbe --- /dev/null +++ b/templates/html/admin/config/encryption.html @@ -0,0 +1,123 @@ + + + + + + + Rauthy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rauthy Admin + + + +
      + + +
      + + diff --git a/templates/html/admin/config/encryption.html.br b/templates/html/admin/config/encryption.html.br new file mode 100644 index 000000000..f616367a4 Binary files /dev/null and b/templates/html/admin/config/encryption.html.br differ diff --git a/templates/html/admin/config/encryption.html.gz b/templates/html/admin/config/encryption.html.gz new file mode 100644 index 000000000..d489f4dfb Binary files /dev/null and b/templates/html/admin/config/encryption.html.gz differ diff --git a/templates/html/admin/config/jwks.html b/templates/html/admin/config/jwks.html new file mode 100644 index 000000000..31b8e3f3a --- /dev/null +++ b/templates/html/admin/config/jwks.html @@ -0,0 +1,128 @@ + + + + + + + Rauthy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rauthy Admin + + + +
      + + +
      + + diff --git a/templates/html/admin/config/jwks.html.br b/templates/html/admin/config/jwks.html.br new file mode 100644 index 000000000..62e1f86af Binary files /dev/null and b/templates/html/admin/config/jwks.html.br differ diff --git a/templates/html/admin/config/jwks.html.gz b/templates/html/admin/config/jwks.html.gz new file mode 100644 index 000000000..1e098196c Binary files /dev/null and b/templates/html/admin/config/jwks.html.gz differ diff --git a/templates/html/admin/config/policy.html b/templates/html/admin/config/policy.html new file mode 100644 index 000000000..e5d82acf2 --- /dev/null +++ b/templates/html/admin/config/policy.html @@ -0,0 +1,127 @@ + + + + + + + Rauthy + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rauthy Admin + + + +
      + + +
      + + diff --git a/templates/html/admin/config/policy.html.br b/templates/html/admin/config/policy.html.br new file mode 100644 index 000000000..1aefeae36 Binary files /dev/null and b/templates/html/admin/config/policy.html.br differ diff --git a/templates/html/admin/config/policy.html.gz b/templates/html/admin/config/policy.html.gz new file mode 100644 index 000000000..37a2777b2 Binary files /dev/null and b/templates/html/admin/config/policy.html.gz differ diff --git a/templates/html/admin/docs.html b/templates/html/admin/docs.html index 8a5447ac0..de9efaeef 100644 --- a/templates/html/admin/docs.html +++ b/templates/html/admin/docs.html @@ -28,57 +28,62 @@ --width-events-wide: 30rem; } - - - + + + - + - - - - - - - + + + + + + - - - - + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - Rauthy Admin + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Rauthy Admin