Compare commits
11 Commits
r-204c3ed3
...
master
Author | SHA1 | Date |
---|---|---|
|
fa879bbb45 | |
|
72d67ef1ff | |
|
4f8b3d6c81 | |
|
7fdbdfe18c | |
|
d79a43990b | |
|
2f61bc2cd1 | |
|
0a05f9098c | |
|
6c40f568de | |
|
adbcf63cc8 | |
|
6a3baccd40 | |
|
ef125c6500 |
|
@ -11,7 +11,7 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
type: "NevisAuth"
|
type: "NevisAuth"
|
||||||
replicas: 1
|
replicas: 1
|
||||||
version: "8.2405.2"
|
version: "8.2411.3"
|
||||||
gitInitVersion: "1.3.0"
|
gitInitVersion: "1.3.0"
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
ports:
|
ports:
|
||||||
|
@ -45,7 +45,7 @@ spec:
|
||||||
podDisruptionBudget:
|
podDisruptionBudget:
|
||||||
maxUnavailable: "50%"
|
maxUnavailable: "50%"
|
||||||
git:
|
git:
|
||||||
tag: "r-d3c49d23038672858aa046871cbab2663bfcaf3c"
|
tag: "r-ff97a3d3e210d49d02eaf6d67d9ba9c3a8eb10e7"
|
||||||
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/auth"
|
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/auth"
|
||||||
credentials: "git-credentials"
|
credentials: "git-credentials"
|
||||||
keystores:
|
keystores:
|
||||||
|
|
|
@ -1,54 +1,54 @@
|
||||||
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
||||||
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
|
||||||
-----END ENCRYPTED PRIVATE KEY-----
|
-----END ENCRYPTED PRIVATE KEY-----
|
||||||
|
|
|
@ -1,56 +1,56 @@
|
||||||
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
-----BEGIN ENCRYPTED PRIVATE KEY-----
|
||||||
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
|
||||||
-----END ENCRYPTED PRIVATE KEY-----
|
-----END ENCRYPTED PRIVATE KEY-----
|
||||||
|
|
||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
|
|
|
@ -93,7 +93,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Select language
|
languageDropdown.aria.label=Select language
|
||||||
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
||||||
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
||||||
loainfo.description.400=To access the application we need you to add your AHV Number (Swiss Social Security number).
|
loainfo.description.400=To access the application we need you to add your SSN (AHV) number.
|
||||||
loainfo.helper=Your data needs to be verified!
|
loainfo.helper=Your data needs to be verified!
|
||||||
loainfo.later=Later
|
loainfo.later=Later
|
||||||
loainfo.startNow=Do you want to start the process now?
|
loainfo.startNow=Do you want to start the process now?
|
||||||
|
@ -212,6 +212,8 @@ recovery_check_code.invalid.code.tooLong=The code is too long
|
||||||
recovery_check_code.noAccess=I do not have access to my code
|
recovery_check_code.noAccess=I do not have access to my code
|
||||||
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
||||||
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=The recovery code you have entered might have expired or you might have tried to enter it too many times.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Please go to AGOV help in order to contact a support agent. They will be able to help you with the recovery process.
|
||||||
recovery_check_noCode.banner.error=Too many attempts.
|
recovery_check_noCode.banner.error=Too many attempts.
|
||||||
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
||||||
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -248,7 +250,7 @@ recovery_questionnaire_no_recovery.instruction2=If you have several login factor
|
||||||
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
||||||
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
||||||
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
||||||
recovery_questionnaire_reason_selection.answer3=I have deleted or reset my AGOV access app
|
recovery_questionnaire_reason_selection.answer3=I have deleted, reinstalled, or reset my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
||||||
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
||||||
|
|
|
@ -93,7 +93,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Sprache wählen
|
languageDropdown.aria.label=Sprache wählen
|
||||||
loainfo.description.200=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben verifizieren. Der Vorgang kann bis zu 2 - 3 Tage dauern.
|
loainfo.description.200=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben verifizieren. Der Vorgang kann bis zu 2 - 3 Tage dauern.
|
||||||
loainfo.description.300=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben durch einen von zwei Vorgängen verifizieren. Sie können die bevorzugte Methode im nächsten Schritt auswählen.
|
loainfo.description.300=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben durch einen von zwei Vorgängen verifizieren. Sie können die bevorzugte Methode im nächsten Schritt auswählen.
|
||||||
loainfo.description.400=Für den Zugang zu dieser Anwendung müssen Sie Ihre AHV-Nummer angeben.
|
loainfo.description.400=Bitte AHV-Nummer angeben, um auf die Applikation zuzugreifen.
|
||||||
loainfo.helper=Ihre persönlichen Daten müssen überprüft werden!
|
loainfo.helper=Ihre persönlichen Daten müssen überprüft werden!
|
||||||
loainfo.later=Später
|
loainfo.later=Später
|
||||||
loainfo.startNow=Möchten Sie den Prozess jetzt starten?
|
loainfo.startNow=Möchten Sie den Prozess jetzt starten?
|
||||||
|
@ -201,7 +201,7 @@ providePhoneNumber.saveButtonText=Speichern
|
||||||
providePhoneNumber.title=Mobilnummer angeben
|
providePhoneNumber.title=Mobilnummer angeben
|
||||||
recovery_accessapp_auth.accessAppRegistered=AGOV access app schon registriert
|
recovery_accessapp_auth.accessAppRegistered=AGOV access app schon registriert
|
||||||
recovery_accessapp_auth.instruction1=Sie haben bereits eine neue AGOV access App !!!ACCESS_APP_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
recovery_accessapp_auth.instruction1=Sie haben bereits eine neue AGOV access App !!!ACCESS_APP_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
||||||
recovery_accessapp_auth.instruction2=Verwenden Sie !!!ACCESS_APP_NAME!!! um Sie zu identifizieren.
|
recovery_accessapp_auth.instruction2=Verwenden Sie !!!ACCESS_APP_NAME!!! um sich zu identifizieren.
|
||||||
recovery_check_code.banner.lockedError=Zu viele Fehlversuche. Bitte versuchen Sie es in ein paar Minuten noch einmal.
|
recovery_check_code.banner.lockedError=Zu viele Fehlversuche. Bitte versuchen Sie es in ein paar Minuten noch einmal.
|
||||||
recovery_check_code.codeIncorrect=Der eingegebene Code ist nicht korrekt. Bitte versuchen Sie es erneut.
|
recovery_check_code.codeIncorrect=Der eingegebene Code ist nicht korrekt. Bitte versuchen Sie es erneut.
|
||||||
recovery_check_code.enterRecoveryCode=Wiederherstellungscode eingeben
|
recovery_check_code.enterRecoveryCode=Wiederherstellungscode eingeben
|
||||||
|
@ -212,6 +212,8 @@ recovery_check_code.invalid.code.tooLong=Eingegebener Code ist zu lang
|
||||||
recovery_check_code.noAccess=Ich kann auf meinen Code nicht zugreifen
|
recovery_check_code.noAccess=Ich kann auf meinen Code nicht zugreifen
|
||||||
recovery_check_code.noCodeAccess=Sind Sie sicher, dass Sie auf Ihren Wiederherstellungscode nicht zugreifen können?
|
recovery_check_code.noCodeAccess=Sind Sie sicher, dass Sie auf Ihren Wiederherstellungscode nicht zugreifen können?
|
||||||
recovery_check_code.noCodeAccessInstructions=Wenn Sie auf Ihren Wiederherstellungscode nicht mehr zugreifen können, gehen Sie bitte zur AGOV-Hilfe, um jemanden vom AGOV-Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
recovery_check_code.noCodeAccessInstructions=Wenn Sie auf Ihren Wiederherstellungscode nicht mehr zugreifen können, gehen Sie bitte zur AGOV-Hilfe, um jemanden vom AGOV-Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Der von Ihnen eingegebene Wiederherstellungscode ist möglicherweise abgelaufen oder Sie haben zu oft versucht, einen Code einzugeben.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Gehen Sie bitte zur AGOV-Hilfe, um jemanden vom Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
||||||
recovery_check_noCode.banner.error=Zu viele Versuche.
|
recovery_check_noCode.banner.error=Zu viele Versuche.
|
||||||
recovery_check_noCode.instruction1=Möglicherweise haben Sie zu oft versucht, den Wiederherstellungscode einzugeben.
|
recovery_check_noCode.instruction1=Möglicherweise haben Sie zu oft versucht, den Wiederherstellungscode einzugeben.
|
||||||
recovery_check_noCode.instruction2=Bitte schliessen Sie den Webbrowser und starten Sie die Kontowiederherstellung in zehn Minuten erneut auf <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Bitte schliessen Sie den Webbrowser und starten Sie die Kontowiederherstellung in zehn Minuten erneut auf <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -222,7 +224,7 @@ recovery_code.validUntil=Gültig bis:
|
||||||
recovery_fidokey_auth.button=Schlüsselauthentifizierung starten
|
recovery_fidokey_auth.button=Schlüsselauthentifizierung starten
|
||||||
recovery_fidokey_auth.fidoInstruction=Klicken Sie auf "Schlüsselauthentifizierung starten"
|
recovery_fidokey_auth.fidoInstruction=Klicken Sie auf "Schlüsselauthentifizierung starten"
|
||||||
recovery_fidokey_auth.instruction1=Sie haben bereits einen neuen Sicherheitsschlüssel !!!SECURITY_KEY_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
recovery_fidokey_auth.instruction1=Sie haben bereits einen neuen Sicherheitsschlüssel !!!SECURITY_KEY_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
||||||
recovery_fidokey_auth.instruction2=Bitte verwenden Sie !!!SECURITY_KEY_NAME!!! und befolgen Sie die untenstehenden Schritte, um Sie zu identifizieren.
|
recovery_fidokey_auth.instruction2=Bitte verwenden Sie !!!SECURITY_KEY_NAME!!! und befolgen Sie die untenstehenden Schritte, um sich zu identifizieren.
|
||||||
recovery_fidokey_auth.keyRegistered=Sicherheitsschlüssel schon registriert
|
recovery_fidokey_auth.keyRegistered=Sicherheitsschlüssel schon registriert
|
||||||
recovery_intro_email.banner.error=Der von Ihnen verwendete Link ist abgelaufen. Bitte geben Sie Ihre E-Mail-Adresse ein, um einen neuen Link zu erhalten.
|
recovery_intro_email.banner.error=Der von Ihnen verwendete Link ist abgelaufen. Bitte geben Sie Ihre E-Mail-Adresse ein, um einen neuen Link zu erhalten.
|
||||||
recovery_intro_email.banner.info=Bitte geben Sie Ihre E-Mail-Adresse ein, damit wir Ihnen einen Link schicken können, mit dem Sie den Wiederherstellungsprozess starten.
|
recovery_intro_email.banner.info=Bitte geben Sie Ihre E-Mail-Adresse ein, damit wir Ihnen einen Link schicken können, mit dem Sie den Wiederherstellungsprozess starten.
|
||||||
|
@ -248,7 +250,7 @@ recovery_questionnaire_no_recovery.instruction2=Wenn Sie mehrere Loginfaktoren r
|
||||||
recovery_questionnaire_reason_selection.answer1=Ich habe Probleme mich anzumelden, obwohl ich meine App / meinen Sicherheitsschlüssel habe
|
recovery_questionnaire_reason_selection.answer1=Ich habe Probleme mich anzumelden, obwohl ich meine App / meinen Sicherheitsschlüssel habe
|
||||||
recovery_questionnaire_reason_selection.answer10=Ich habe einen meiner Loginfaktoren verloren (AGOV access App oder Sicherheitsschlüssel)
|
recovery_questionnaire_reason_selection.answer10=Ich habe einen meiner Loginfaktoren verloren (AGOV access App oder Sicherheitsschlüssel)
|
||||||
recovery_questionnaire_reason_selection.answer2=Ich konnte meine Registrierung nicht abschliessen
|
recovery_questionnaire_reason_selection.answer2=Ich konnte meine Registrierung nicht abschliessen
|
||||||
recovery_questionnaire_reason_selection.answer3=Ich habe meine AGOV access App gelöscht oder zurückgesetzt
|
recovery_questionnaire_reason_selection.answer3=Ich habe meine AGOV access App gelöscht, neu installiert oder zurückgesetzt
|
||||||
recovery_questionnaire_reason_selection.answer4=Ich habe mein Telefon / Sicherheitsschlüssel verloren
|
recovery_questionnaire_reason_selection.answer4=Ich habe mein Telefon / Sicherheitsschlüssel verloren
|
||||||
recovery_questionnaire_reason_selection.answer5=Ich habe ein neues Telefon und habe vergessen, meine AGOV access App zu übertragen
|
recovery_questionnaire_reason_selection.answer5=Ich habe ein neues Telefon und habe vergessen, meine AGOV access App zu übertragen
|
||||||
recovery_questionnaire_reason_selection.answer6=Ich habe die PIN für meine AGOV access App vergessen
|
recovery_questionnaire_reason_selection.answer6=Ich habe die PIN für meine AGOV access App vergessen
|
||||||
|
|
|
@ -93,7 +93,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Select language
|
languageDropdown.aria.label=Select language
|
||||||
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
||||||
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
||||||
loainfo.description.400=To access the application we need you to add your AHV Number (Swiss Social Security number).
|
loainfo.description.400=To access the application we need you to add your SSN (AHV) number.
|
||||||
loainfo.helper=Your data needs to be verified!
|
loainfo.helper=Your data needs to be verified!
|
||||||
loainfo.later=Later
|
loainfo.later=Later
|
||||||
loainfo.startNow=Do you want to start the process now?
|
loainfo.startNow=Do you want to start the process now?
|
||||||
|
@ -212,6 +212,8 @@ recovery_check_code.invalid.code.tooLong=The code is too long
|
||||||
recovery_check_code.noAccess=I do not have access to my code
|
recovery_check_code.noAccess=I do not have access to my code
|
||||||
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
||||||
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=The recovery code you have entered might have expired or you might have tried to enter it too many times.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Please go to AGOV help in order to contact a support agent. They will be able to help you with the recovery process.
|
||||||
recovery_check_noCode.banner.error=Too many attempts.
|
recovery_check_noCode.banner.error=Too many attempts.
|
||||||
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
||||||
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -248,7 +250,7 @@ recovery_questionnaire_no_recovery.instruction2=If you have several login factor
|
||||||
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
||||||
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
||||||
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
||||||
recovery_questionnaire_reason_selection.answer3=I have deleted or reset my AGOV access app
|
recovery_questionnaire_reason_selection.answer3=I have deleted, reinstalled, or reset my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
||||||
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
||||||
|
|
|
@ -93,7 +93,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Sélectionner la langue
|
languageDropdown.aria.label=Sélectionner la langue
|
||||||
loainfo.description.200=Pour accéder à l'application, nous devons vérifier vos données. Ce processus peut prendre jusqu'à 2 ou 3 jours.
|
loainfo.description.200=Pour accéder à l'application, nous devons vérifier vos données. Ce processus peut prendre jusqu'à 2 ou 3 jours.
|
||||||
loainfo.description.300=Pour accéder à l'application, nous devons vérifier vos données par le biais de l'une des deux procédures suivantes. Vous pouvez choisir la procédure que vous préférez à l'étape suivante.
|
loainfo.description.300=Pour accéder à l'application, nous devons vérifier vos données par le biais de l'une des deux procédures suivantes. Vous pouvez choisir la procédure que vous préférez à l'étape suivante.
|
||||||
loainfo.description.400=Pour accéder à l'application, vous devez ajouter votre numéro AVS.
|
loainfo.description.400=Veuillez saisir votre numéro AVS pour accéder à l'application.
|
||||||
loainfo.helper=Vos données doivent être vérifiées!
|
loainfo.helper=Vos données doivent être vérifiées!
|
||||||
loainfo.later=Plus tard
|
loainfo.later=Plus tard
|
||||||
loainfo.startNow=Voulez-vous commencer le processus maintenant?
|
loainfo.startNow=Voulez-vous commencer le processus maintenant?
|
||||||
|
@ -212,6 +212,8 @@ recovery_check_code.invalid.code.tooLong=Le code est trop long
|
||||||
recovery_check_code.noAccess=Je n’ai pas accès à mon code de récupération
|
recovery_check_code.noAccess=Je n’ai pas accès à mon code de récupération
|
||||||
recovery_check_code.noCodeAccess=Êtes-vous sûr de ne pas avoir accès à votre code de récupération ?
|
recovery_check_code.noCodeAccess=Êtes-vous sûr de ne pas avoir accès à votre code de récupération ?
|
||||||
recovery_check_code.noCodeAccessInstructions=En cas de perte de votre code de récupération, veuillez vous rendre sur AGOV help et contacter le service d’assistance AGOV. Un agent pourra vous aider dans le processus de récupération.
|
recovery_check_code.noCodeAccessInstructions=En cas de perte de votre code de récupération, veuillez vous rendre sur AGOV help et contacter le service d’assistance AGOV. Un agent pourra vous aider dans le processus de récupération.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Le code de récupération que vous avez saisi a peut-être expiré ou vous avez peut-être essayé de le saisir trop de fois.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Veuillez vous rendre sur AGOV help et contacter le service d’assistance. Un agent pourra vous aider dans le processus de récupération.
|
||||||
recovery_check_noCode.banner.error=Trop de tentatives.
|
recovery_check_noCode.banner.error=Trop de tentatives.
|
||||||
recovery_check_noCode.instruction1=Vous avez peut-être essayé de saisir le code de récupération trop de fois.
|
recovery_check_noCode.instruction1=Vous avez peut-être essayé de saisir le code de récupération trop de fois.
|
||||||
recovery_check_noCode.instruction2=Veuillez fermer le navigateur web et recommencer la récupération du compte dans dix minutes à partir de <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Veuillez fermer le navigateur web et recommencer la récupération du compte dans dix minutes à partir de <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -248,7 +250,7 @@ recovery_questionnaire_no_recovery.instruction2=Si vous avez enregistré p
|
||||||
recovery_questionnaire_reason_selection.answer1=Je n'arrive pas à me connecter, même si j'ai mon application / ma clé de sécurité
|
recovery_questionnaire_reason_selection.answer1=Je n'arrive pas à me connecter, même si j'ai mon application / ma clé de sécurité
|
||||||
recovery_questionnaire_reason_selection.answer10=J'ai perdu l'un de mes facteurs d'authentification (application AGOV access ou clé de sécurité)
|
recovery_questionnaire_reason_selection.answer10=J'ai perdu l'un de mes facteurs d'authentification (application AGOV access ou clé de sécurité)
|
||||||
recovery_questionnaire_reason_selection.answer2=Je n'ai pas pu terminer mon inscription
|
recovery_questionnaire_reason_selection.answer2=Je n'ai pas pu terminer mon inscription
|
||||||
recovery_questionnaire_reason_selection.answer3=J'ai supprimé ou réinitialisé mon application AGOV access
|
recovery_questionnaire_reason_selection.answer3=J'ai supprimé, réinstallé ou réinitialisé mon application d'accès AGOV
|
||||||
recovery_questionnaire_reason_selection.answer4=J'ai perdu mon téléphone / clé de sécurité
|
recovery_questionnaire_reason_selection.answer4=J'ai perdu mon téléphone / clé de sécurité
|
||||||
recovery_questionnaire_reason_selection.answer5=J'ai un nouveau téléphone et j'ai oublié de transférer mon application AGOV access
|
recovery_questionnaire_reason_selection.answer5=J'ai un nouveau téléphone et j'ai oublié de transférer mon application AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer6=J'ai oublié mon PIN pour l'application AGOV access
|
recovery_questionnaire_reason_selection.answer6=J'ai oublié mon PIN pour l'application AGOV access
|
||||||
|
|
|
@ -93,7 +93,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Selezionare la lingua
|
languageDropdown.aria.label=Selezionare la lingua
|
||||||
loainfo.description.200=Per accedere all'app è necessaria una verifica dei dati. La procedura può richiedere fino a 2–3 giorni lavorativi.
|
loainfo.description.200=Per accedere all'app è necessaria una verifica dei dati. La procedura può richiedere fino a 2–3 giorni lavorativi.
|
||||||
loainfo.description.300=Per accedere all'app dobbiamo verificare i suoi dati tramite uno dei due processi. Al prossimo passaggio, può selezionare la procedura di verifica desiderata.
|
loainfo.description.300=Per accedere all'app dobbiamo verificare i suoi dati tramite uno dei due processi. Al prossimo passaggio, può selezionare la procedura di verifica desiderata.
|
||||||
loainfo.description.400=Per acceddere all'applicazione deve inserire il numero AVS.
|
loainfo.description.400=Per accedere all'applicazione è necessario inserire il numero AVS.
|
||||||
loainfo.helper=I dati devono essere verificati!
|
loainfo.helper=I dati devono essere verificati!
|
||||||
loainfo.later=Più tardi
|
loainfo.later=Più tardi
|
||||||
loainfo.startNow=Iniziare la procedura?
|
loainfo.startNow=Iniziare la procedura?
|
||||||
|
@ -212,6 +212,8 @@ recovery_check_code.invalid.code.tooLong=Il codice è troppo lungo
|
||||||
recovery_check_code.noAccess=Non ho il mio codice.
|
recovery_check_code.noAccess=Non ho il mio codice.
|
||||||
recovery_check_code.noCodeAccess=Conferma di non avere il codice di ripristino?
|
recovery_check_code.noCodeAccess=Conferma di non avere il codice di ripristino?
|
||||||
recovery_check_code.noCodeAccessInstructions=Se non ha più il codice di ripristino, acceda ad AGOV help per contattare il supporto AGOV, che la assisterà nel processo di ripristino.
|
recovery_check_code.noCodeAccessInstructions=Se non ha più il codice di ripristino, acceda ad AGOV help per contattare il supporto AGOV, che la assisterà nel processo di ripristino.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Il codice di ripristino inserito può essere scaduto o è stato inserito troppe volte.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Si prega di andare alla guida di AGOV aiuto per contattare un agente dell'assistenza. Saranno in grado di aiutarla con il processo di recupero.
|
||||||
recovery_check_noCode.banner.error=Troppi tentativi.
|
recovery_check_noCode.banner.error=Troppi tentativi.
|
||||||
recovery_check_noCode.instruction1=Potresti aver tentato di inserire il codice di ripristino troppe volte.
|
recovery_check_noCode.instruction1=Potresti aver tentato di inserire il codice di ripristino troppe volte.
|
||||||
recovery_check_noCode.instruction2=Chiudi il browser web e inizia nuovamente il processo di ripristino dell'account tra dieci minuti da <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Chiudi il browser web e inizia nuovamente il processo di ripristino dell'account tra dieci minuti da <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -248,7 +250,7 @@ recovery_questionnaire_no_recovery.instruction2=Se ha registrato più fatt
|
||||||
recovery_questionnaire_reason_selection.answer1=Ho problemi ad accedere, anche se ho la mia app/chiave di sicurezza
|
recovery_questionnaire_reason_selection.answer1=Ho problemi ad accedere, anche se ho la mia app/chiave di sicurezza
|
||||||
recovery_questionnaire_reason_selection.answer10=Ho perso uno dei miei fattori di accesso (app AGOV access o chiave di sicurezza)
|
recovery_questionnaire_reason_selection.answer10=Ho perso uno dei miei fattori di accesso (app AGOV access o chiave di sicurezza)
|
||||||
recovery_questionnaire_reason_selection.answer2=Non sono riuscito a completare la registrazione
|
recovery_questionnaire_reason_selection.answer2=Non sono riuscito a completare la registrazione
|
||||||
recovery_questionnaire_reason_selection.answer3=Ho eliminato o reimpostato la mia app AGOV access
|
recovery_questionnaire_reason_selection.answer3=Ho eliminato, reinstallato o reimpostato la mia app AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer4=Ho perso il telefono/la chiave di sicurezza
|
recovery_questionnaire_reason_selection.answer4=Ho perso il telefono/la chiave di sicurezza
|
||||||
recovery_questionnaire_reason_selection.answer5=Ho un nuovo telefono e ho dimenticato di trasferire la mia app AGOV access
|
recovery_questionnaire_reason_selection.answer5=Ho un nuovo telefono e ho dimenticato di trasferire la mia app AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer6=Ho dimenticato il PIN dell'app AGOV access
|
recovery_questionnaire_reason_selection.answer6=Ho dimenticato il PIN dell'app AGOV access
|
||||||
|
|
|
@ -3,6 +3,7 @@ RTENV_SECURITY_CHECK=no_shell
|
||||||
JAVA_OPTS=(
|
JAVA_OPTS=(
|
||||||
"-XX:+UseContainerSupport"
|
"-XX:+UseContainerSupport"
|
||||||
"-Dfile.encoding=UTF-8"
|
"-Dfile.encoding=UTF-8"
|
||||||
|
"-Dotel.instrumentation.metro.enabled=false"
|
||||||
"-XX:MaxRAMPercentage=80.0"
|
"-XX:MaxRAMPercentage=80.0"
|
||||||
"-Djava.net.preferIPv4Stack=true"
|
"-Djava.net.preferIPv4Stack=true"
|
||||||
"-Djava.net.connectionTimeout=10000"
|
"-Djava.net.connectionTimeout=10000"
|
||||||
|
@ -12,7 +13,7 @@ JAVA_OPTS=(
|
||||||
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
|
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
|
||||||
"-Dotel.javaagent.logging=application"
|
"-Dotel.javaagent.logging=application"
|
||||||
"-Dotel.javaagent.configuration-file=/var/opt/nevisauth/default/conf/otel.properties"
|
"-Dotel.javaagent.configuration-file=/var/opt/nevisauth/default/conf/otel.properties"
|
||||||
"-Dotel.resource.attributes=service.version=8.2405.2,service.instance.id=$HOSTNAME"
|
"-Dotel.resource.attributes=service.version=8.2411.3,service.instance.id=$HOSTNAME"
|
||||||
"-Djavax.net.ssl.trustStore=/var/opt/keys/trust/auth-default-tls-trust/truststore.p12"
|
"-Djavax.net.ssl.trustStore=/var/opt/keys/trust/auth-default-tls-trust/truststore.p12"
|
||||||
"-Djavax.net.ssl.trustStorePassword=\${exec:/var/opt/keys/trust/auth-default-tls-trust/keypass}"
|
"-Djavax.net.ssl.trustStorePassword=\${exec:/var/opt/keys/trust/auth-default-tls-trust/keypass}"
|
||||||
)
|
)
|
||||||
|
|
|
@ -12,6 +12,8 @@ Configuration:
|
||||||
onMismatch: "ACCEPT"
|
onMismatch: "ACCEPT"
|
||||||
Loggers:
|
Loggers:
|
||||||
Logger:
|
Logger:
|
||||||
|
- name: "ProductAnalytics"
|
||||||
|
level: "INFO"
|
||||||
- name: "EsAuthStart"
|
- name: "EsAuthStart"
|
||||||
level: "INFO"
|
level: "INFO"
|
||||||
- name: "org.apache.catalina.loader.WebappClassLoader"
|
- name: "org.apache.catalina.loader.WebappClassLoader"
|
||||||
|
|
|
@ -3,6 +3,7 @@ server:
|
||||||
protocol: "https"
|
protocol: "https"
|
||||||
port: "8991"
|
port: "8991"
|
||||||
host: "0.0.0.0"
|
host: "0.0.0.0"
|
||||||
|
max-threads: "200"
|
||||||
tls:
|
tls:
|
||||||
keystore: "/var/opt/keys/own/auth-default-identity/keystore.p12"
|
keystore: "/var/opt/keys/own/auth-default-identity/keystore.p12"
|
||||||
keystore-passphrase: "${exec:/var/opt/keys/own/auth-default-identity/keypass}"
|
keystore-passphrase: "${exec:/var/opt/keys/own/auth-default-identity/keypass}"
|
||||||
|
|
|
@ -11,7 +11,7 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
type: "NevisIDM"
|
type: "NevisIDM"
|
||||||
replicas: 1
|
replicas: 1
|
||||||
version: "8.2405.2"
|
version: "8.2411.2"
|
||||||
gitInitVersion: "1.3.0"
|
gitInitVersion: "1.3.0"
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
ports:
|
ports:
|
||||||
|
@ -28,25 +28,25 @@ spec:
|
||||||
management:
|
management:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: "/liveness"
|
path: "/liveness"
|
||||||
periodSeconds: 30
|
periodSeconds: 5
|
||||||
timeoutSeconds: 6
|
timeoutSeconds: 6
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
management:
|
management:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: "/health"
|
path: "/health"
|
||||||
periodSeconds: 30
|
periodSeconds: 5
|
||||||
timeoutSeconds: 6
|
timeoutSeconds: 6
|
||||||
startupProbe:
|
startupProbe:
|
||||||
management:
|
management:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: "/health"
|
path: "/health"
|
||||||
periodSeconds: 30
|
periodSeconds: 5
|
||||||
timeoutSeconds: 6
|
timeoutSeconds: 6
|
||||||
failureThreshold: 10
|
failureThreshold: 50
|
||||||
podDisruptionBudget:
|
podDisruptionBudget:
|
||||||
maxUnavailable: "50%"
|
maxUnavailable: "50%"
|
||||||
git:
|
git:
|
||||||
tag: "r-204c3ed3f252b12ca8d250caad2ff4905e491e6c"
|
tag: "r-ff97a3d3e210d49d02eaf6d67d9ba9c3a8eb10e7"
|
||||||
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/idm-job"
|
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/idm-job"
|
||||||
credentials: "git-credentials"
|
credentials: "git-credentials"
|
||||||
keystores:
|
keystores:
|
||||||
|
|
|
@ -4,5 +4,5 @@ JAVA_OPTS=(
|
||||||
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
|
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
|
||||||
"-Dotel.javaagent.logging=application"
|
"-Dotel.javaagent.logging=application"
|
||||||
"-Dotel.javaagent.configuration-file=/var/opt/nevisidm/default/conf/otel.properties"
|
"-Dotel.javaagent.configuration-file=/var/opt/nevisidm/default/conf/otel.properties"
|
||||||
"-Dotel.resource.attributes=service.version=8.2405.2,service.instance.id=$HOSTNAME"
|
"-Dotel.resource.attributes=service.version=8.2411.2,service.instance.id=$HOSTNAME"
|
||||||
)
|
)
|
|
@ -20,6 +20,8 @@ Configuration:
|
||||||
onMismatch: "ACCEPT"
|
onMismatch: "ACCEPT"
|
||||||
Loggers:
|
Loggers:
|
||||||
Logger:
|
Logger:
|
||||||
|
- name: "ProductAnalytics"
|
||||||
|
level: "INFO"
|
||||||
- name: "ch.nevis.idm.batch.jobs"
|
- name: "ch.nevis.idm.batch.jobs"
|
||||||
level: "INFO"
|
level: "INFO"
|
||||||
additivity: "false"
|
additivity: "false"
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# source: pattern://50d6c91ace65f52fa56d7113
|
# source: pattern://50d6c91ace65f52fa56d7113
|
||||||
nevisIdm.TemplateAdmin=AccessControl.ApplicationSearch,AccessControl.ApplicationView,AccessControl.AuthorizationApplSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientView,AccessControl.AuthorizationSearch,AccessControl.AuthorizationUnitSearch,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.ClientApplView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CollectionView,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.GenerateReport,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertyAttributeAccessOverride,AccessControl.PropertySearch,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.SearchResultsExport,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.EnterpriseRoleMemberSearch,AccessControl.EnterpriseRoleView,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView,AccessControl.HistoryView
|
nevisIdm.TemplateAdmin=AccessControl.ApplicationSearch,AccessControl.ApplicationView,AccessControl.AuthorizationApplSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientView,AccessControl.AuthorizationSearch,AccessControl.AuthorizationUnitSearch,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.ClientApplView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CollectionView,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.GenerateReport,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertyAttributeAccessOverride,AccessControl.PropertySearch,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.SearchResultsExport,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.EnterpriseRoleMemberSearch,AccessControl.EnterpriseRoleView,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView,AccessControl.HistoryView
|
||||||
# source: pattern://50d6c91ace65f52fa56d7113
|
# source: pattern://50d6c91ace65f52fa56d7113
|
||||||
nevisIdm.UserAdmin=AccessControl.ApplicationView,AccessControl.AuthorizationSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientView,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CredentialChangeState.14,AccessControl.CredentialCreate.14,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.ProfileCreate,AccessControl.ProfileModify,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertySearch,AccessControl.PropertyValueCreate,AccessControl.PropertyValueDelete,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserCreate,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.PropertyAttributeAccessOverride,AccessControl.CollectionView,AccessControl.GenerateReport,AccessControl.SearchResultsExport,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.EnterpriseRoleMemberSearch,AccessControl.EnterpriseRoleView,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView
|
nevisIdm.UserAdmin=AccessControl.ApplicationView,AccessControl.AuthorizationSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientView,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CredentialChangeState,AccessControl.CredentialCreate,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.ProfileCreate,AccessControl.ProfileModify,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertySearch,AccessControl.PropertyValueCreate,AccessControl.PropertyValueDelete,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserCreate,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.PropertyAttributeAccessOverride,AccessControl.CollectionView,AccessControl.GenerateReport,AccessControl.SearchResultsExport,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.EnterpriseRoleMemberSearch,AccessControl.EnterpriseRoleView,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView
|
||||||
# source: pattern://50d6c91ace65f52fa56d7113
|
# source: pattern://50d6c91ace65f52fa56d7113
|
||||||
nevisIdm.Root=AccessControl.ApplicationCreate,AccessControl.ApplicationDelete,AccessControl.ApplicationModify,AccessControl.ApplicationSearch,AccessControl.ApplicationView,AccessControl.AuthorizationCreate,AccessControl.AuthorizationDelete,AccessControl.AuthorizationModify,AccessControl.AuthorizationSearch,AccessControl.AuthorizationApplCreate,AccessControl.AuthorizationApplDelete,AccessControl.AuthorizationApplSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientCreate,AccessControl.AuthorizationClientDelete,AccessControl.AuthorizationClientSearch,AccessControl.AuthorizationClientView,AccessControl.AuthorizationUnitCreate,AccessControl.AuthorizationUnitDelete,AccessControl.AuthorizationUnitSearch,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.BatchJobExecute,AccessControl.BatchJobView,AccessControl.ClientCreate,AccessControl.ClientDelete,AccessControl.ClientModify,AccessControl.ClientApplAssign,AccessControl.ClientApplDelete,AccessControl.ClientApplView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CredentialChangeState,AccessControl.CredentialCreate,AccessControl.CredentialDelete,AccessControl.CredentialModify,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.PersistentQueueRetry,AccessControl.PersistentQueueDelete,AccessControl.PersistentQueueView,AccessControl.PolicyConfigurationCreate,AccessControl.PolicyConfigurationDelete,AccessControl.PolicyConfigurationModify,AccessControl.PolicyConfigurationSearch,AccessControl.PolicyConfigurationView,AccessControl.ProfileArchive,AccessControl.ProfileCreate,AccessControl.ProfileDelete,AccessControl.ProfileModify,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueCreate,AccessControl.PropertyAllowedValueDelete,AccessControl.PropertyAllowedValueModify,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertyCreate,AccessControl.PropertyDelete,AccessControl.PropertyModify,AccessControl.PropertySearch,AccessControl.PropertyValueCreate,AccessControl.PropertyValueDelete,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleCreate,AccessControl.RoleDelete,AccessControl.RoleModify,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.SelfAdmin,AccessControl.UnitCreate,AccessControl.UnitCreateTopUnit,AccessControl.UnitDelete,AccessControl.UnitModify,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserArchive,AccessControl.UserCreate,AccessControl.UserDelete,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.PropertyAttributeAccessOverride,AccessControl.HistoryView,AccessControl.LoginIdOverride,AccessControl.TemplateStore,AccessControl.CollectionView,AccessControl.CollectionCreate,AccessControl.CollectionModify,AccessControl.CollectionDelete,AccessControl.TemplateView,AccessControl.TemplateCreate,AccessControl.TemplateModify,AccessControl.TemplateDelete,AccessControl.TemplateTextView,AccessControl.TemplateTextCreate,AccessControl.TemplateTextModify,AccessControl.TemplateTextDelete,AccessControl.GenerateReport,AccessControl.SearchResultsExport,AccessControl.CredentialViewPlainValue,AccessControl.DeputyCreate,AccessControl.DeputyDelete,AccessControl.UnitCredPolicyView,AccessControl.UnitCredPolicyCreate,AccessControl.UnitCredPolicyDelete,AccessControl.UserCreateTechUser,AccessControl.UserModifyTechUser,AccessControl.UserDeleteTechUser,AccessControl.UserArchiveTechUser,AccessControl.CredentialPdfView,AccessControl.EnterpriseAuthorizationCreate,AccessControl.EnterpriseAuthorizationDelete,AccessControl.EnterpriseAuthorizationModify,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.AuthorizationEnterpriseRoleCreate,AccessControl.AuthorizationEnterpriseRoleDelete,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView,AccessControl.EnterpriseRoleCreate,AccessControl.EnterpriseRoleModify,AccessControl.EnterpriseRoleDelete,AccessControl.EnterpriseRoleSearch,AccessControl.EnterpriseRoleView,AccessControl.EnterpriseRoleMemberCreate,AccessControl.EnterpriseRoleMemberDelete,AccessControl.EnterpriseRoleMemberSearch,AccessControl.PersonalQuestionSearch,AccessControl.PersonalQuestionView,AccessControl.PersonalQuestionCreate,AccessControl.PersonalQuestionModify,AccessControl.PersonalQuestionDelete,AccessControl.LoginIdModify,AccessControl.TermsView,AccessControl.TermsCreate,AccessControl.TermsModify,AccessControl.TermsDelete,AccessControl.ConsentCreate,AccessControl.ConsentView
|
nevisIdm.Root=AccessControl.ApplicationCreate,AccessControl.ApplicationDelete,AccessControl.ApplicationModify,AccessControl.ApplicationSearch,AccessControl.ApplicationView,AccessControl.AuthorizationCreate,AccessControl.AuthorizationDelete,AccessControl.AuthorizationModify,AccessControl.AuthorizationSearch,AccessControl.AuthorizationApplCreate,AccessControl.AuthorizationApplDelete,AccessControl.AuthorizationApplSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientCreate,AccessControl.AuthorizationClientDelete,AccessControl.AuthorizationClientSearch,AccessControl.AuthorizationClientView,AccessControl.AuthorizationUnitCreate,AccessControl.AuthorizationUnitDelete,AccessControl.AuthorizationUnitSearch,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.BatchJobExecute,AccessControl.BatchJobView,AccessControl.ClientCreate,AccessControl.ClientDelete,AccessControl.ClientModify,AccessControl.ClientApplAssign,AccessControl.ClientApplDelete,AccessControl.ClientApplView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CredentialChangeState,AccessControl.CredentialCreate,AccessControl.CredentialDelete,AccessControl.CredentialModify,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.PersistentQueueRetry,AccessControl.PersistentQueueDelete,AccessControl.PersistentQueueView,AccessControl.PolicyConfigurationCreate,AccessControl.PolicyConfigurationDelete,AccessControl.PolicyConfigurationModify,AccessControl.PolicyConfigurationSearch,AccessControl.PolicyConfigurationView,AccessControl.ProfileArchive,AccessControl.ProfileCreate,AccessControl.ProfileDelete,AccessControl.ProfileModify,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueCreate,AccessControl.PropertyAllowedValueDelete,AccessControl.PropertyAllowedValueModify,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertyCreate,AccessControl.PropertyDelete,AccessControl.PropertyModify,AccessControl.PropertySearch,AccessControl.PropertyValueCreate,AccessControl.PropertyValueDelete,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleCreate,AccessControl.RoleDelete,AccessControl.RoleModify,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.SelfAdmin,AccessControl.UnitCreate,AccessControl.UnitCreateTopUnit,AccessControl.UnitDelete,AccessControl.UnitModify,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserArchive,AccessControl.UserCreate,AccessControl.UserDelete,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.PropertyAttributeAccessOverride,AccessControl.HistoryView,AccessControl.LoginIdOverride,AccessControl.TemplateStore,AccessControl.CollectionView,AccessControl.CollectionCreate,AccessControl.CollectionModify,AccessControl.CollectionDelete,AccessControl.TemplateView,AccessControl.TemplateCreate,AccessControl.TemplateModify,AccessControl.TemplateDelete,AccessControl.TemplateTextView,AccessControl.TemplateTextCreate,AccessControl.TemplateTextModify,AccessControl.TemplateTextDelete,AccessControl.GenerateReport,AccessControl.SearchResultsExport,AccessControl.CredentialViewPlainValue,AccessControl.DeputyCreate,AccessControl.DeputyDelete,AccessControl.UnitCredPolicyView,AccessControl.UnitCredPolicyCreate,AccessControl.UnitCredPolicyDelete,AccessControl.UserCreateTechUser,AccessControl.UserModifyTechUser,AccessControl.UserDeleteTechUser,AccessControl.UserArchiveTechUser,AccessControl.CredentialPdfView,AccessControl.EnterpriseAuthorizationCreate,AccessControl.EnterpriseAuthorizationDelete,AccessControl.EnterpriseAuthorizationModify,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.AuthorizationEnterpriseRoleCreate,AccessControl.AuthorizationEnterpriseRoleDelete,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView,AccessControl.EnterpriseRoleCreate,AccessControl.EnterpriseRoleModify,AccessControl.EnterpriseRoleDelete,AccessControl.EnterpriseRoleSearch,AccessControl.EnterpriseRoleView,AccessControl.EnterpriseRoleMemberCreate,AccessControl.EnterpriseRoleMemberDelete,AccessControl.EnterpriseRoleMemberSearch,AccessControl.PersonalQuestionSearch,AccessControl.PersonalQuestionView,AccessControl.PersonalQuestionCreate,AccessControl.PersonalQuestionModify,AccessControl.PersonalQuestionDelete,AccessControl.LoginIdModify,AccessControl.TermsView,AccessControl.TermsCreate,AccessControl.TermsModify,AccessControl.TermsDelete,AccessControl.ConsentCreate,AccessControl.ConsentView
|
||||||
# source: pattern://50d6c91ace65f52fa56d7113
|
# source: pattern://50d6c91ace65f52fa56d7113
|
||||||
|
|
|
@ -11,7 +11,7 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
type: "NevisIDM"
|
type: "NevisIDM"
|
||||||
replicas: 1
|
replicas: 1
|
||||||
version: "8.2405.2"
|
version: "8.2411.2"
|
||||||
gitInitVersion: "1.3.0"
|
gitInitVersion: "1.3.0"
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
ports:
|
ports:
|
||||||
|
@ -28,25 +28,25 @@ spec:
|
||||||
management:
|
management:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: "/liveness"
|
path: "/liveness"
|
||||||
periodSeconds: 30
|
periodSeconds: 5
|
||||||
timeoutSeconds: 6
|
timeoutSeconds: 6
|
||||||
readinessProbe:
|
readinessProbe:
|
||||||
management:
|
management:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: "/health"
|
path: "/health"
|
||||||
periodSeconds: 30
|
periodSeconds: 5
|
||||||
timeoutSeconds: 6
|
timeoutSeconds: 6
|
||||||
startupProbe:
|
startupProbe:
|
||||||
management:
|
management:
|
||||||
httpGet:
|
httpGet:
|
||||||
path: "/health"
|
path: "/health"
|
||||||
periodSeconds: 30
|
periodSeconds: 5
|
||||||
timeoutSeconds: 6
|
timeoutSeconds: 6
|
||||||
failureThreshold: 10
|
failureThreshold: 50
|
||||||
podDisruptionBudget:
|
podDisruptionBudget:
|
||||||
maxUnavailable: "50%"
|
maxUnavailable: "50%"
|
||||||
git:
|
git:
|
||||||
tag: "r-204c3ed3f252b12ca8d250caad2ff4905e491e6c"
|
tag: "r-ff97a3d3e210d49d02eaf6d67d9ba9c3a8eb10e7"
|
||||||
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/idm"
|
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/idm"
|
||||||
credentials: "git-credentials"
|
credentials: "git-credentials"
|
||||||
keystores:
|
keystores:
|
||||||
|
|
|
@ -4,5 +4,5 @@ JAVA_OPTS=(
|
||||||
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
|
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
|
||||||
"-Dotel.javaagent.logging=application"
|
"-Dotel.javaagent.logging=application"
|
||||||
"-Dotel.javaagent.configuration-file=/var/opt/nevisidm/default/conf/otel.properties"
|
"-Dotel.javaagent.configuration-file=/var/opt/nevisidm/default/conf/otel.properties"
|
||||||
"-Dotel.resource.attributes=service.version=8.2405.2,service.instance.id=$HOSTNAME"
|
"-Dotel.resource.attributes=service.version=8.2411.2,service.instance.id=$HOSTNAME"
|
||||||
)
|
)
|
|
@ -20,6 +20,8 @@ Configuration:
|
||||||
onMismatch: "ACCEPT"
|
onMismatch: "ACCEPT"
|
||||||
Loggers:
|
Loggers:
|
||||||
Logger:
|
Logger:
|
||||||
|
- name: "ProductAnalytics"
|
||||||
|
level: "INFO"
|
||||||
- name: "ch.nevis.idm.batch.jobs"
|
- name: "ch.nevis.idm.batch.jobs"
|
||||||
level: "INFO"
|
level: "INFO"
|
||||||
additivity: "false"
|
additivity: "false"
|
||||||
|
|
|
@ -13,6 +13,8 @@ application.mail.smtp.port=3025
|
||||||
# source: pattern://ba7c7a3b091df0c4b8ba0bb2
|
# source: pattern://ba7c7a3b091df0c4b8ba0bb2
|
||||||
application.mail.sender=noreply-agov-dev@adnovum.ch
|
application.mail.sender=noreply-agov-dev@adnovum.ch
|
||||||
# source: pattern://fe4a248ac7b092a6a80624f1
|
# source: pattern://fe4a248ac7b092a6a80624f1
|
||||||
|
application.config.credentialTypesToBeLockedInDatabase=URLTICKET,SAMLFEDERATION,CONTEXTPASSWORD
|
||||||
|
# source: pattern://fe4a248ac7b092a6a80624f1
|
||||||
application.feature.email.validation.enabled=false
|
application.feature.email.validation.enabled=false
|
||||||
# source: pattern://fe4a248ac7b092a6a80624f1
|
# source: pattern://fe4a248ac7b092a6a80624f1
|
||||||
application.feature.enterpriserole.enabled=true
|
application.feature.enterpriserole.enabled=true
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# source: pattern://50d6c91ace65f52fa56d7113
|
# source: pattern://50d6c91ace65f52fa56d7113
|
||||||
nevisIdm.TemplateAdmin=AccessControl.ApplicationSearch,AccessControl.ApplicationView,AccessControl.AuthorizationApplSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientView,AccessControl.AuthorizationSearch,AccessControl.AuthorizationUnitSearch,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.ClientApplView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CollectionView,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.GenerateReport,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertyAttributeAccessOverride,AccessControl.PropertySearch,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.SearchResultsExport,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.EnterpriseRoleMemberSearch,AccessControl.EnterpriseRoleView,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView,AccessControl.HistoryView
|
nevisIdm.TemplateAdmin=AccessControl.ApplicationSearch,AccessControl.ApplicationView,AccessControl.AuthorizationApplSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientView,AccessControl.AuthorizationSearch,AccessControl.AuthorizationUnitSearch,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.ClientApplView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CollectionView,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.GenerateReport,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertyAttributeAccessOverride,AccessControl.PropertySearch,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.SearchResultsExport,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.EnterpriseRoleMemberSearch,AccessControl.EnterpriseRoleView,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView,AccessControl.HistoryView
|
||||||
# source: pattern://50d6c91ace65f52fa56d7113
|
# source: pattern://50d6c91ace65f52fa56d7113
|
||||||
nevisIdm.UserAdmin=AccessControl.ApplicationView,AccessControl.AuthorizationSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientView,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CredentialChangeState.14,AccessControl.CredentialCreate.14,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.ProfileCreate,AccessControl.ProfileModify,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertySearch,AccessControl.PropertyValueCreate,AccessControl.PropertyValueDelete,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserCreate,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.PropertyAttributeAccessOverride,AccessControl.CollectionView,AccessControl.GenerateReport,AccessControl.SearchResultsExport,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.EnterpriseRoleMemberSearch,AccessControl.EnterpriseRoleView,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView
|
nevisIdm.UserAdmin=AccessControl.ApplicationView,AccessControl.AuthorizationSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientView,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CredentialChangeState,AccessControl.CredentialCreate,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.ProfileCreate,AccessControl.ProfileModify,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertySearch,AccessControl.PropertyValueCreate,AccessControl.PropertyValueDelete,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserCreate,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.PropertyAttributeAccessOverride,AccessControl.CollectionView,AccessControl.GenerateReport,AccessControl.SearchResultsExport,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.EnterpriseRoleMemberSearch,AccessControl.EnterpriseRoleView,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView
|
||||||
# source: pattern://50d6c91ace65f52fa56d7113
|
# source: pattern://50d6c91ace65f52fa56d7113
|
||||||
nevisIdm.Root=AccessControl.ApplicationCreate,AccessControl.ApplicationDelete,AccessControl.ApplicationModify,AccessControl.ApplicationSearch,AccessControl.ApplicationView,AccessControl.AuthorizationCreate,AccessControl.AuthorizationDelete,AccessControl.AuthorizationModify,AccessControl.AuthorizationSearch,AccessControl.AuthorizationApplCreate,AccessControl.AuthorizationApplDelete,AccessControl.AuthorizationApplSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientCreate,AccessControl.AuthorizationClientDelete,AccessControl.AuthorizationClientSearch,AccessControl.AuthorizationClientView,AccessControl.AuthorizationUnitCreate,AccessControl.AuthorizationUnitDelete,AccessControl.AuthorizationUnitSearch,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.BatchJobExecute,AccessControl.BatchJobView,AccessControl.ClientCreate,AccessControl.ClientDelete,AccessControl.ClientModify,AccessControl.ClientApplAssign,AccessControl.ClientApplDelete,AccessControl.ClientApplView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CredentialChangeState,AccessControl.CredentialCreate,AccessControl.CredentialDelete,AccessControl.CredentialModify,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.PersistentQueueRetry,AccessControl.PersistentQueueDelete,AccessControl.PersistentQueueView,AccessControl.PolicyConfigurationCreate,AccessControl.PolicyConfigurationDelete,AccessControl.PolicyConfigurationModify,AccessControl.PolicyConfigurationSearch,AccessControl.PolicyConfigurationView,AccessControl.ProfileArchive,AccessControl.ProfileCreate,AccessControl.ProfileDelete,AccessControl.ProfileModify,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueCreate,AccessControl.PropertyAllowedValueDelete,AccessControl.PropertyAllowedValueModify,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertyCreate,AccessControl.PropertyDelete,AccessControl.PropertyModify,AccessControl.PropertySearch,AccessControl.PropertyValueCreate,AccessControl.PropertyValueDelete,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleCreate,AccessControl.RoleDelete,AccessControl.RoleModify,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.SelfAdmin,AccessControl.UnitCreate,AccessControl.UnitCreateTopUnit,AccessControl.UnitDelete,AccessControl.UnitModify,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserArchive,AccessControl.UserCreate,AccessControl.UserDelete,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.PropertyAttributeAccessOverride,AccessControl.HistoryView,AccessControl.LoginIdOverride,AccessControl.TemplateStore,AccessControl.CollectionView,AccessControl.CollectionCreate,AccessControl.CollectionModify,AccessControl.CollectionDelete,AccessControl.TemplateView,AccessControl.TemplateCreate,AccessControl.TemplateModify,AccessControl.TemplateDelete,AccessControl.TemplateTextView,AccessControl.TemplateTextCreate,AccessControl.TemplateTextModify,AccessControl.TemplateTextDelete,AccessControl.GenerateReport,AccessControl.SearchResultsExport,AccessControl.CredentialViewPlainValue,AccessControl.DeputyCreate,AccessControl.DeputyDelete,AccessControl.UnitCredPolicyView,AccessControl.UnitCredPolicyCreate,AccessControl.UnitCredPolicyDelete,AccessControl.UserCreateTechUser,AccessControl.UserModifyTechUser,AccessControl.UserDeleteTechUser,AccessControl.UserArchiveTechUser,AccessControl.CredentialPdfView,AccessControl.EnterpriseAuthorizationCreate,AccessControl.EnterpriseAuthorizationDelete,AccessControl.EnterpriseAuthorizationModify,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.AuthorizationEnterpriseRoleCreate,AccessControl.AuthorizationEnterpriseRoleDelete,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView,AccessControl.EnterpriseRoleCreate,AccessControl.EnterpriseRoleModify,AccessControl.EnterpriseRoleDelete,AccessControl.EnterpriseRoleSearch,AccessControl.EnterpriseRoleView,AccessControl.EnterpriseRoleMemberCreate,AccessControl.EnterpriseRoleMemberDelete,AccessControl.EnterpriseRoleMemberSearch,AccessControl.PersonalQuestionSearch,AccessControl.PersonalQuestionView,AccessControl.PersonalQuestionCreate,AccessControl.PersonalQuestionModify,AccessControl.PersonalQuestionDelete,AccessControl.LoginIdModify,AccessControl.TermsView,AccessControl.TermsCreate,AccessControl.TermsModify,AccessControl.TermsDelete,AccessControl.ConsentCreate,AccessControl.ConsentView
|
nevisIdm.Root=AccessControl.ApplicationCreate,AccessControl.ApplicationDelete,AccessControl.ApplicationModify,AccessControl.ApplicationSearch,AccessControl.ApplicationView,AccessControl.AuthorizationCreate,AccessControl.AuthorizationDelete,AccessControl.AuthorizationModify,AccessControl.AuthorizationSearch,AccessControl.AuthorizationApplCreate,AccessControl.AuthorizationApplDelete,AccessControl.AuthorizationApplSearch,AccessControl.AuthorizationApplView,AccessControl.AuthorizationClientCreate,AccessControl.AuthorizationClientDelete,AccessControl.AuthorizationClientSearch,AccessControl.AuthorizationClientView,AccessControl.AuthorizationUnitCreate,AccessControl.AuthorizationUnitDelete,AccessControl.AuthorizationUnitSearch,AccessControl.AuthorizationUnitView,AccessControl.AuthorizationView,AccessControl.BatchJobExecute,AccessControl.BatchJobView,AccessControl.ClientCreate,AccessControl.ClientDelete,AccessControl.ClientModify,AccessControl.ClientApplAssign,AccessControl.ClientApplDelete,AccessControl.ClientApplView,AccessControl.ClientSearch,AccessControl.ClientView,AccessControl.CredentialChangeState,AccessControl.CredentialCreate,AccessControl.CredentialDelete,AccessControl.CredentialModify,AccessControl.CredentialSearch,AccessControl.CredentialView,AccessControl.EntityAttributeAccessOverride,AccessControl.PersistentQueueRetry,AccessControl.PersistentQueueDelete,AccessControl.PersistentQueueView,AccessControl.PolicyConfigurationCreate,AccessControl.PolicyConfigurationDelete,AccessControl.PolicyConfigurationModify,AccessControl.PolicyConfigurationSearch,AccessControl.PolicyConfigurationView,AccessControl.ProfileArchive,AccessControl.ProfileCreate,AccessControl.ProfileDelete,AccessControl.ProfileModify,AccessControl.ProfileSearch,AccessControl.ProfileView,AccessControl.PropertyAllowedValueCreate,AccessControl.PropertyAllowedValueDelete,AccessControl.PropertyAllowedValueModify,AccessControl.PropertyAllowedValueSearch,AccessControl.PropertyAllowedValueView,AccessControl.PropertyCreate,AccessControl.PropertyDelete,AccessControl.PropertyModify,AccessControl.PropertySearch,AccessControl.PropertyValueCreate,AccessControl.PropertyValueDelete,AccessControl.PropertyValueModify,AccessControl.PropertyValueSearch,AccessControl.PropertyValueView,AccessControl.PropertyView,AccessControl.RoleCreate,AccessControl.RoleDelete,AccessControl.RoleModify,AccessControl.RoleSearch,AccessControl.RoleView,AccessControl.SelfAdmin,AccessControl.UnitCreate,AccessControl.UnitCreateTopUnit,AccessControl.UnitDelete,AccessControl.UnitModify,AccessControl.UnitSearch,AccessControl.UnitView,AccessControl.UserArchive,AccessControl.UserCreate,AccessControl.UserDelete,AccessControl.UserModify,AccessControl.UserSearch,AccessControl.UserView,AccessControl.PropertyAttributeAccessOverride,AccessControl.HistoryView,AccessControl.LoginIdOverride,AccessControl.TemplateStore,AccessControl.CollectionView,AccessControl.CollectionCreate,AccessControl.CollectionModify,AccessControl.CollectionDelete,AccessControl.TemplateView,AccessControl.TemplateCreate,AccessControl.TemplateModify,AccessControl.TemplateDelete,AccessControl.TemplateTextView,AccessControl.TemplateTextCreate,AccessControl.TemplateTextModify,AccessControl.TemplateTextDelete,AccessControl.GenerateReport,AccessControl.SearchResultsExport,AccessControl.CredentialViewPlainValue,AccessControl.DeputyCreate,AccessControl.DeputyDelete,AccessControl.UnitCredPolicyView,AccessControl.UnitCredPolicyCreate,AccessControl.UnitCredPolicyDelete,AccessControl.UserCreateTechUser,AccessControl.UserModifyTechUser,AccessControl.UserDeleteTechUser,AccessControl.UserArchiveTechUser,AccessControl.CredentialPdfView,AccessControl.EnterpriseAuthorizationCreate,AccessControl.EnterpriseAuthorizationDelete,AccessControl.EnterpriseAuthorizationModify,AccessControl.EnterpriseAuthorizationSearch,AccessControl.EnterpriseAuthorizationView,AccessControl.AuthorizationEnterpriseRoleCreate,AccessControl.AuthorizationEnterpriseRoleDelete,AccessControl.AuthorizationEnterpriseRoleSearch,AccessControl.AuthorizationEnterpriseRoleView,AccessControl.EnterpriseRoleCreate,AccessControl.EnterpriseRoleModify,AccessControl.EnterpriseRoleDelete,AccessControl.EnterpriseRoleSearch,AccessControl.EnterpriseRoleView,AccessControl.EnterpriseRoleMemberCreate,AccessControl.EnterpriseRoleMemberDelete,AccessControl.EnterpriseRoleMemberSearch,AccessControl.PersonalQuestionSearch,AccessControl.PersonalQuestionView,AccessControl.PersonalQuestionCreate,AccessControl.PersonalQuestionModify,AccessControl.PersonalQuestionDelete,AccessControl.LoginIdModify,AccessControl.TermsView,AccessControl.TermsCreate,AccessControl.TermsModify,AccessControl.TermsDelete,AccessControl.ConsentCreate,AccessControl.ConsentView
|
||||||
# source: pattern://50d6c91ace65f52fa56d7113
|
# source: pattern://50d6c91ace65f52fa56d7113
|
||||||
|
|
|
@ -11,7 +11,7 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
type: "NevisLogrend"
|
type: "NevisLogrend"
|
||||||
replicas: 1
|
replicas: 1
|
||||||
version: "8.2405.0"
|
version: "8.2411.2"
|
||||||
gitInitVersion: "1.3.0"
|
gitInitVersion: "1.3.0"
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
ports:
|
ports:
|
||||||
|
@ -44,7 +44,7 @@ spec:
|
||||||
podDisruptionBudget:
|
podDisruptionBudget:
|
||||||
maxUnavailable: "50%"
|
maxUnavailable: "50%"
|
||||||
git:
|
git:
|
||||||
tag: "r-204c3ed3f252b12ca8d250caad2ff4905e491e6c"
|
tag: "r-ff97a3d3e210d49d02eaf6d67d9ba9c3a8eb10e7"
|
||||||
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/logrend"
|
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/logrend"
|
||||||
credentials: "git-credentials"
|
credentials: "git-credentials"
|
||||||
podSecurity:
|
podSecurity:
|
||||||
|
|
|
@ -10,5 +10,5 @@ JAVA_OPTS=(
|
||||||
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
|
"-javaagent:/opt/agent/opentelemetry-javaagent.jar"
|
||||||
"-Dotel.javaagent.logging=application"
|
"-Dotel.javaagent.logging=application"
|
||||||
"-Dotel.javaagent.configuration-file=/var/opt/nevislogrend/default/conf/otel.properties"
|
"-Dotel.javaagent.configuration-file=/var/opt/nevislogrend/default/conf/otel.properties"
|
||||||
"-Dotel.resource.attributes=service.version=8.2405.0,service.instance.id=$HOSTNAME"
|
"-Dotel.resource.attributes=service.version=8.2411.2,service.instance.id=$HOSTNAME"
|
||||||
)
|
)
|
|
@ -11,7 +11,9 @@ Configuration:
|
||||||
onMatch: "DENY"
|
onMatch: "DENY"
|
||||||
onMismatch: "ACCEPT"
|
onMismatch: "ACCEPT"
|
||||||
Loggers:
|
Loggers:
|
||||||
Logger: []
|
Logger:
|
||||||
|
- name: "ProductAnalytics"
|
||||||
|
level: "INFO"
|
||||||
Root:
|
Root:
|
||||||
level: "WARN"
|
level: "WARN"
|
||||||
additivity: "false"
|
additivity: "false"
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Select language
|
languageDropdown.aria.label=Select language
|
||||||
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
||||||
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
||||||
loainfo.description.400=To access the application we need you to add your AHV Number (Swiss Social Security number).
|
loainfo.description.400=To access the application we need you to add your SSN (AHV) number.
|
||||||
loainfo.helper=Your data needs to be verified!
|
loainfo.helper=Your data needs to be verified!
|
||||||
loainfo.later=Later
|
loainfo.later=Later
|
||||||
loainfo.startNow=Do you want to start the process now?
|
loainfo.startNow=Do you want to start the process now?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=The code is too long
|
||||||
recovery_check_code.noAccess=I do not have access to my code
|
recovery_check_code.noAccess=I do not have access to my code
|
||||||
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
||||||
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=The recovery code you have entered might have expired or you might have tried to enter it too many times.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Please go to AGOV help in order to contact a support agent. They will be able to help you with the recovery process.
|
||||||
recovery_check_noCode.banner.error=Too many attempts.
|
recovery_check_noCode.banner.error=Too many attempts.
|
||||||
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
||||||
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=If you have several login factor
|
||||||
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
||||||
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
||||||
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
||||||
recovery_questionnaire_reason_selection.answer3=I have deleted or reset my AGOV access app
|
recovery_questionnaire_reason_selection.answer3=I have deleted, reinstalled, or reset my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
||||||
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Sprache wählen
|
languageDropdown.aria.label=Sprache wählen
|
||||||
loainfo.description.200=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben verifizieren. Der Vorgang kann bis zu 2 - 3 Tage dauern.
|
loainfo.description.200=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben verifizieren. Der Vorgang kann bis zu 2 - 3 Tage dauern.
|
||||||
loainfo.description.300=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben durch einen von zwei Vorgängen verifizieren. Sie können die bevorzugte Methode im nächsten Schritt auswählen.
|
loainfo.description.300=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben durch einen von zwei Vorgängen verifizieren. Sie können die bevorzugte Methode im nächsten Schritt auswählen.
|
||||||
loainfo.description.400=Für den Zugang zu dieser Anwendung müssen Sie Ihre AHV-Nummer angeben.
|
loainfo.description.400=Bitte AHV-Nummer angeben, um auf die Applikation zuzugreifen.
|
||||||
loainfo.helper=Ihre persönlichen Daten müssen überprüft werden!
|
loainfo.helper=Ihre persönlichen Daten müssen überprüft werden!
|
||||||
loainfo.later=Später
|
loainfo.later=Später
|
||||||
loainfo.startNow=Möchten Sie den Prozess jetzt starten?
|
loainfo.startNow=Möchten Sie den Prozess jetzt starten?
|
||||||
|
@ -151,7 +151,7 @@ providePhoneNumber.saveButtonText=Speichern
|
||||||
providePhoneNumber.title=Mobilnummer angeben
|
providePhoneNumber.title=Mobilnummer angeben
|
||||||
recovery_accessapp_auth.accessAppRegistered=AGOV access app schon registriert
|
recovery_accessapp_auth.accessAppRegistered=AGOV access app schon registriert
|
||||||
recovery_accessapp_auth.instruction1=Sie haben bereits eine neue AGOV access App !!!ACCESS_APP_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
recovery_accessapp_auth.instruction1=Sie haben bereits eine neue AGOV access App !!!ACCESS_APP_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
||||||
recovery_accessapp_auth.instruction2=Verwenden Sie !!!ACCESS_APP_NAME!!! um Sie zu identifizieren.
|
recovery_accessapp_auth.instruction2=Verwenden Sie !!!ACCESS_APP_NAME!!! um sich zu identifizieren.
|
||||||
recovery_check_code.banner.lockedError=Zu viele Fehlversuche. Bitte versuchen Sie es in ein paar Minuten noch einmal.
|
recovery_check_code.banner.lockedError=Zu viele Fehlversuche. Bitte versuchen Sie es in ein paar Minuten noch einmal.
|
||||||
recovery_check_code.codeIncorrect=Der eingegebene Code ist nicht korrekt. Bitte versuchen Sie es erneut.
|
recovery_check_code.codeIncorrect=Der eingegebene Code ist nicht korrekt. Bitte versuchen Sie es erneut.
|
||||||
recovery_check_code.enterRecoveryCode=Wiederherstellungscode eingeben
|
recovery_check_code.enterRecoveryCode=Wiederherstellungscode eingeben
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=Eingegebener Code ist zu lang
|
||||||
recovery_check_code.noAccess=Ich kann auf meinen Code nicht zugreifen
|
recovery_check_code.noAccess=Ich kann auf meinen Code nicht zugreifen
|
||||||
recovery_check_code.noCodeAccess=Sind Sie sicher, dass Sie auf Ihren Wiederherstellungscode nicht zugreifen können?
|
recovery_check_code.noCodeAccess=Sind Sie sicher, dass Sie auf Ihren Wiederherstellungscode nicht zugreifen können?
|
||||||
recovery_check_code.noCodeAccessInstructions=Wenn Sie auf Ihren Wiederherstellungscode nicht mehr zugreifen können, gehen Sie bitte zur AGOV-Hilfe, um jemanden vom AGOV-Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
recovery_check_code.noCodeAccessInstructions=Wenn Sie auf Ihren Wiederherstellungscode nicht mehr zugreifen können, gehen Sie bitte zur AGOV-Hilfe, um jemanden vom AGOV-Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Der von Ihnen eingegebene Wiederherstellungscode ist möglicherweise abgelaufen oder Sie haben zu oft versucht, einen Code einzugeben.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Gehen Sie bitte zur AGOV-Hilfe, um jemanden vom Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
||||||
recovery_check_noCode.banner.error=Zu viele Versuche.
|
recovery_check_noCode.banner.error=Zu viele Versuche.
|
||||||
recovery_check_noCode.instruction1=Möglicherweise haben Sie zu oft versucht, den Wiederherstellungscode einzugeben.
|
recovery_check_noCode.instruction1=Möglicherweise haben Sie zu oft versucht, den Wiederherstellungscode einzugeben.
|
||||||
recovery_check_noCode.instruction2=Bitte schliessen Sie den Webbrowser und starten Sie die Kontowiederherstellung in zehn Minuten erneut auf <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Bitte schliessen Sie den Webbrowser und starten Sie die Kontowiederherstellung in zehn Minuten erneut auf <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -172,7 +174,7 @@ recovery_code.validUntil=Gültig bis:
|
||||||
recovery_fidokey_auth.button=Schlüsselauthentifizierung starten
|
recovery_fidokey_auth.button=Schlüsselauthentifizierung starten
|
||||||
recovery_fidokey_auth.fidoInstruction=Klicken Sie auf "Schlüsselauthentifizierung starten"
|
recovery_fidokey_auth.fidoInstruction=Klicken Sie auf "Schlüsselauthentifizierung starten"
|
||||||
recovery_fidokey_auth.instruction1=Sie haben bereits einen neuen Sicherheitsschlüssel !!!SECURITY_KEY_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
recovery_fidokey_auth.instruction1=Sie haben bereits einen neuen Sicherheitsschlüssel !!!SECURITY_KEY_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
||||||
recovery_fidokey_auth.instruction2=Bitte verwenden Sie !!!SECURITY_KEY_NAME!!! und befolgen Sie die untenstehenden Schritte, um Sie zu identifizieren.
|
recovery_fidokey_auth.instruction2=Bitte verwenden Sie !!!SECURITY_KEY_NAME!!! und befolgen Sie die untenstehenden Schritte, um sich zu identifizieren.
|
||||||
recovery_fidokey_auth.keyRegistered=Sicherheitsschlüssel schon registriert
|
recovery_fidokey_auth.keyRegistered=Sicherheitsschlüssel schon registriert
|
||||||
recovery_intro_email.banner.error=Der von Ihnen verwendete Link ist abgelaufen. Bitte geben Sie Ihre E-Mail-Adresse ein, um einen neuen Link zu erhalten.
|
recovery_intro_email.banner.error=Der von Ihnen verwendete Link ist abgelaufen. Bitte geben Sie Ihre E-Mail-Adresse ein, um einen neuen Link zu erhalten.
|
||||||
recovery_intro_email.banner.info=Bitte geben Sie Ihre E-Mail-Adresse ein, damit wir Ihnen einen Link schicken können, mit dem Sie den Wiederherstellungsprozess starten.
|
recovery_intro_email.banner.info=Bitte geben Sie Ihre E-Mail-Adresse ein, damit wir Ihnen einen Link schicken können, mit dem Sie den Wiederherstellungsprozess starten.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=Wenn Sie mehrere Loginfaktoren r
|
||||||
recovery_questionnaire_reason_selection.answer1=Ich habe Probleme mich anzumelden, obwohl ich meine App / meinen Sicherheitsschlüssel habe
|
recovery_questionnaire_reason_selection.answer1=Ich habe Probleme mich anzumelden, obwohl ich meine App / meinen Sicherheitsschlüssel habe
|
||||||
recovery_questionnaire_reason_selection.answer10=Ich habe einen meiner Loginfaktoren verloren (AGOV access App oder Sicherheitsschlüssel)
|
recovery_questionnaire_reason_selection.answer10=Ich habe einen meiner Loginfaktoren verloren (AGOV access App oder Sicherheitsschlüssel)
|
||||||
recovery_questionnaire_reason_selection.answer2=Ich konnte meine Registrierung nicht abschliessen
|
recovery_questionnaire_reason_selection.answer2=Ich konnte meine Registrierung nicht abschliessen
|
||||||
recovery_questionnaire_reason_selection.answer3=Ich habe meine AGOV access App gelöscht oder zurückgesetzt
|
recovery_questionnaire_reason_selection.answer3=Ich habe meine AGOV access App gelöscht, neu installiert oder zurückgesetzt
|
||||||
recovery_questionnaire_reason_selection.answer4=Ich habe mein Telefon / Sicherheitsschlüssel verloren
|
recovery_questionnaire_reason_selection.answer4=Ich habe mein Telefon / Sicherheitsschlüssel verloren
|
||||||
recovery_questionnaire_reason_selection.answer5=Ich habe ein neues Telefon und habe vergessen, meine AGOV access App zu übertragen
|
recovery_questionnaire_reason_selection.answer5=Ich habe ein neues Telefon und habe vergessen, meine AGOV access App zu übertragen
|
||||||
recovery_questionnaire_reason_selection.answer6=Ich habe die PIN für meine AGOV access App vergessen
|
recovery_questionnaire_reason_selection.answer6=Ich habe die PIN für meine AGOV access App vergessen
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Select language
|
languageDropdown.aria.label=Select language
|
||||||
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
||||||
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
||||||
loainfo.description.400=To access the application we need you to add your AHV Number (Swiss Social Security number).
|
loainfo.description.400=To access the application we need you to add your SSN (AHV) number.
|
||||||
loainfo.helper=Your data needs to be verified!
|
loainfo.helper=Your data needs to be verified!
|
||||||
loainfo.later=Later
|
loainfo.later=Later
|
||||||
loainfo.startNow=Do you want to start the process now?
|
loainfo.startNow=Do you want to start the process now?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=The code is too long
|
||||||
recovery_check_code.noAccess=I do not have access to my code
|
recovery_check_code.noAccess=I do not have access to my code
|
||||||
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
||||||
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=The recovery code you have entered might have expired or you might have tried to enter it too many times.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Please go to AGOV help in order to contact a support agent. They will be able to help you with the recovery process.
|
||||||
recovery_check_noCode.banner.error=Too many attempts.
|
recovery_check_noCode.banner.error=Too many attempts.
|
||||||
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
||||||
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=If you have several login factor
|
||||||
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
||||||
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
||||||
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
||||||
recovery_questionnaire_reason_selection.answer3=I have deleted or reset my AGOV access app
|
recovery_questionnaire_reason_selection.answer3=I have deleted, reinstalled, or reset my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
||||||
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Sélectionner la langue
|
languageDropdown.aria.label=Sélectionner la langue
|
||||||
loainfo.description.200=Pour accéder à l'application, nous devons vérifier vos données. Ce processus peut prendre jusqu'à 2 ou 3 jours.
|
loainfo.description.200=Pour accéder à l'application, nous devons vérifier vos données. Ce processus peut prendre jusqu'à 2 ou 3 jours.
|
||||||
loainfo.description.300=Pour accéder à l'application, nous devons vérifier vos données par le biais de l'une des deux procédures suivantes. Vous pouvez choisir la procédure que vous préférez à l'étape suivante.
|
loainfo.description.300=Pour accéder à l'application, nous devons vérifier vos données par le biais de l'une des deux procédures suivantes. Vous pouvez choisir la procédure que vous préférez à l'étape suivante.
|
||||||
loainfo.description.400=Pour accéder à l'application, vous devez ajouter votre numéro AVS.
|
loainfo.description.400=Veuillez saisir votre numéro AVS pour accéder à l'application.
|
||||||
loainfo.helper=Vos données doivent être vérifiées!
|
loainfo.helper=Vos données doivent être vérifiées!
|
||||||
loainfo.later=Plus tard
|
loainfo.later=Plus tard
|
||||||
loainfo.startNow=Voulez-vous commencer le processus maintenant?
|
loainfo.startNow=Voulez-vous commencer le processus maintenant?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=Le code est trop long
|
||||||
recovery_check_code.noAccess=Je n’ai pas accès à mon code de récupération
|
recovery_check_code.noAccess=Je n’ai pas accès à mon code de récupération
|
||||||
recovery_check_code.noCodeAccess=Êtes-vous sûr de ne pas avoir accès à votre code de récupération ?
|
recovery_check_code.noCodeAccess=Êtes-vous sûr de ne pas avoir accès à votre code de récupération ?
|
||||||
recovery_check_code.noCodeAccessInstructions=En cas de perte de votre code de récupération, veuillez vous rendre sur AGOV help et contacter le service d’assistance AGOV. Un agent pourra vous aider dans le processus de récupération.
|
recovery_check_code.noCodeAccessInstructions=En cas de perte de votre code de récupération, veuillez vous rendre sur AGOV help et contacter le service d’assistance AGOV. Un agent pourra vous aider dans le processus de récupération.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Le code de récupération que vous avez saisi a peut-être expiré ou vous avez peut-être essayé de le saisir trop de fois.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Veuillez vous rendre sur AGOV help et contacter le service d’assistance. Un agent pourra vous aider dans le processus de récupération.
|
||||||
recovery_check_noCode.banner.error=Trop de tentatives.
|
recovery_check_noCode.banner.error=Trop de tentatives.
|
||||||
recovery_check_noCode.instruction1=Vous avez peut-être essayé de saisir le code de récupération trop de fois.
|
recovery_check_noCode.instruction1=Vous avez peut-être essayé de saisir le code de récupération trop de fois.
|
||||||
recovery_check_noCode.instruction2=Veuillez fermer le navigateur web et recommencer la récupération du compte dans dix minutes à partir de <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Veuillez fermer le navigateur web et recommencer la récupération du compte dans dix minutes à partir de <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=Si vous avez enregistré p
|
||||||
recovery_questionnaire_reason_selection.answer1=Je n'arrive pas à me connecter, même si j'ai mon application / ma clé de sécurité
|
recovery_questionnaire_reason_selection.answer1=Je n'arrive pas à me connecter, même si j'ai mon application / ma clé de sécurité
|
||||||
recovery_questionnaire_reason_selection.answer10=J'ai perdu l'un de mes facteurs d'authentification (application AGOV access ou clé de sécurité)
|
recovery_questionnaire_reason_selection.answer10=J'ai perdu l'un de mes facteurs d'authentification (application AGOV access ou clé de sécurité)
|
||||||
recovery_questionnaire_reason_selection.answer2=Je n'ai pas pu terminer mon inscription
|
recovery_questionnaire_reason_selection.answer2=Je n'ai pas pu terminer mon inscription
|
||||||
recovery_questionnaire_reason_selection.answer3=J'ai supprimé ou réinitialisé mon application AGOV access
|
recovery_questionnaire_reason_selection.answer3=J'ai supprimé, réinstallé ou réinitialisé mon application d'accès AGOV
|
||||||
recovery_questionnaire_reason_selection.answer4=J'ai perdu mon téléphone / clé de sécurité
|
recovery_questionnaire_reason_selection.answer4=J'ai perdu mon téléphone / clé de sécurité
|
||||||
recovery_questionnaire_reason_selection.answer5=J'ai un nouveau téléphone et j'ai oublié de transférer mon application AGOV access
|
recovery_questionnaire_reason_selection.answer5=J'ai un nouveau téléphone et j'ai oublié de transférer mon application AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer6=J'ai oublié mon PIN pour l'application AGOV access
|
recovery_questionnaire_reason_selection.answer6=J'ai oublié mon PIN pour l'application AGOV access
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Selezionare la lingua
|
languageDropdown.aria.label=Selezionare la lingua
|
||||||
loainfo.description.200=Per accedere all'app è necessaria una verifica dei dati. La procedura può richiedere fino a 2–3 giorni lavorativi.
|
loainfo.description.200=Per accedere all'app è necessaria una verifica dei dati. La procedura può richiedere fino a 2–3 giorni lavorativi.
|
||||||
loainfo.description.300=Per accedere all'app dobbiamo verificare i suoi dati tramite uno dei due processi. Al prossimo passaggio, può selezionare la procedura di verifica desiderata.
|
loainfo.description.300=Per accedere all'app dobbiamo verificare i suoi dati tramite uno dei due processi. Al prossimo passaggio, può selezionare la procedura di verifica desiderata.
|
||||||
loainfo.description.400=Per acceddere all'applicazione deve inserire il numero AVS.
|
loainfo.description.400=Per accedere all'applicazione è necessario inserire il numero AVS.
|
||||||
loainfo.helper=I dati devono essere verificati!
|
loainfo.helper=I dati devono essere verificati!
|
||||||
loainfo.later=Più tardi
|
loainfo.later=Più tardi
|
||||||
loainfo.startNow=Iniziare la procedura?
|
loainfo.startNow=Iniziare la procedura?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=Il codice è troppo lungo
|
||||||
recovery_check_code.noAccess=Non ho il mio codice.
|
recovery_check_code.noAccess=Non ho il mio codice.
|
||||||
recovery_check_code.noCodeAccess=Conferma di non avere il codice di ripristino?
|
recovery_check_code.noCodeAccess=Conferma di non avere il codice di ripristino?
|
||||||
recovery_check_code.noCodeAccessInstructions=Se non ha più il codice di ripristino, acceda ad AGOV help per contattare il supporto AGOV, che la assisterà nel processo di ripristino.
|
recovery_check_code.noCodeAccessInstructions=Se non ha più il codice di ripristino, acceda ad AGOV help per contattare il supporto AGOV, che la assisterà nel processo di ripristino.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Il codice di ripristino inserito può essere scaduto o è stato inserito troppe volte.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Si prega di andare alla guida di AGOV aiuto per contattare un agente dell'assistenza. Saranno in grado di aiutarla con il processo di recupero.
|
||||||
recovery_check_noCode.banner.error=Troppi tentativi.
|
recovery_check_noCode.banner.error=Troppi tentativi.
|
||||||
recovery_check_noCode.instruction1=Potresti aver tentato di inserire il codice di ripristino troppe volte.
|
recovery_check_noCode.instruction1=Potresti aver tentato di inserire il codice di ripristino troppe volte.
|
||||||
recovery_check_noCode.instruction2=Chiudi il browser web e inizia nuovamente il processo di ripristino dell'account tra dieci minuti da <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Chiudi il browser web e inizia nuovamente il processo di ripristino dell'account tra dieci minuti da <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=Se ha registrato più fatt
|
||||||
recovery_questionnaire_reason_selection.answer1=Ho problemi ad accedere, anche se ho la mia app/chiave di sicurezza
|
recovery_questionnaire_reason_selection.answer1=Ho problemi ad accedere, anche se ho la mia app/chiave di sicurezza
|
||||||
recovery_questionnaire_reason_selection.answer10=Ho perso uno dei miei fattori di accesso (app AGOV access o chiave di sicurezza)
|
recovery_questionnaire_reason_selection.answer10=Ho perso uno dei miei fattori di accesso (app AGOV access o chiave di sicurezza)
|
||||||
recovery_questionnaire_reason_selection.answer2=Non sono riuscito a completare la registrazione
|
recovery_questionnaire_reason_selection.answer2=Non sono riuscito a completare la registrazione
|
||||||
recovery_questionnaire_reason_selection.answer3=Ho eliminato o reimpostato la mia app AGOV access
|
recovery_questionnaire_reason_selection.answer3=Ho eliminato, reinstallato o reimpostato la mia app AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer4=Ho perso il telefono/la chiave di sicurezza
|
recovery_questionnaire_reason_selection.answer4=Ho perso il telefono/la chiave di sicurezza
|
||||||
recovery_questionnaire_reason_selection.answer5=Ho un nuovo telefono e ho dimenticato di trasferire la mia app AGOV access
|
recovery_questionnaire_reason_selection.answer5=Ho un nuovo telefono e ho dimenticato di trasferire la mia app AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer6=Ho dimenticato il PIN dell'app AGOV access
|
recovery_questionnaire_reason_selection.answer6=Ho dimenticato il PIN dell'app AGOV access
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function dispatchLink() {
|
function dispatchLink() {
|
||||||
|
|
||||||
document.getElementById("mauth_started").style.display = "block"; // show
|
document.getElementById("mauth_started").style.display = "block"; // show
|
||||||
|
@ -55,9 +61,7 @@
|
||||||
});
|
});
|
||||||
var sessionId = o.sessionId;
|
var sessionId = o.sessionId;
|
||||||
console.log("started polling for session ID: " + sessionId);
|
console.log("started polling for session ID: " + sessionId);
|
||||||
statusPolling = window.setInterval(function () {
|
poll(sessionId);
|
||||||
poll(sessionId);
|
|
||||||
}, 2000);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log("authentication failed: " + o.dispatchResult);
|
console.log("authentication failed: " + o.dispatchResult);
|
||||||
|
@ -70,21 +74,36 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll(sessionId) {
|
function poll(sessionId) {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
|
||||||
const request = {};
|
isPolling = true;
|
||||||
request.fidoUafSessionId = sessionId;
|
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const request = { fidoUafSessionId: sessionId };
|
||||||
fetch("", {
|
|
||||||
|
const fetchRequest = fetch("", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientAuthenticating') {
|
if (status == 'clientAuthenticating') {
|
||||||
// show process icon
|
// show process icon
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
|
@ -99,20 +118,24 @@
|
||||||
addInput(form, "continue", "true"); // required for custom dispatching in usernameless
|
addInput(form, "continue", "true"); // required for custom dispatching in usernameless
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("authentication failed with status: " + status);
|
console.error("authentication failed with status: " + status);
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafSessionId", sessionId);
|
addInput(form, "fidoUafSessionId", sessionId);
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(sessionId), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatchLink();
|
dispatchLink();
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function renderEnrollment() {
|
function renderEnrollment() {
|
||||||
|
|
||||||
// link is provided by a hidden GuiElem
|
// link is provided by a hidden GuiElem
|
||||||
|
@ -52,44 +58,53 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll() {
|
function poll() {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
|
||||||
|
isPolling = true;
|
||||||
|
|
||||||
// state is held on backend side
|
// state is held on backend side
|
||||||
const request = {};
|
const request = {};
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const fetchRequest = fetch("", {
|
||||||
fetch("", {
|
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientRegistering') {
|
if (status == 'clientRegistering') {
|
||||||
|
|
||||||
// show process icon
|
// show process icon
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
|
|
||||||
// hide QR-code and information
|
// hide QR-code and information
|
||||||
document.getElementById("mauth_qrcode").style.display = 'none';
|
document.getElementById("mauth_qrcode").style.display = 'none';
|
||||||
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
||||||
}
|
} else if (status == 'succeeded') {
|
||||||
else if (status == 'succeeded') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("onboarding successful");
|
console.log("onboarding successful");
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("onboarding failed with status: " + status);
|
console.error("onboarding failed with status: " + status);
|
||||||
|
|
||||||
|
@ -98,8 +113,15 @@
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
renderEnrollment();
|
renderEnrollment();
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function dispatch(id) {
|
function dispatch(id) {
|
||||||
|
|
||||||
document.getElementById("mauth_devices").style.display = "none"; // hide selection menu
|
document.getElementById("mauth_devices").style.display = "none"; // hide selection menu
|
||||||
|
@ -70,9 +76,7 @@
|
||||||
});
|
});
|
||||||
var sessionId = o.sessionId;
|
var sessionId = o.sessionId;
|
||||||
console.log("started polling for session ID: " + sessionId);
|
console.log("started polling for session ID: " + sessionId);
|
||||||
statusPolling = window.setInterval(function () {
|
poll(sessionId);
|
||||||
poll(sessionId);
|
|
||||||
}, 2000);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log("authentication failed: " + o.dispatchResult);
|
console.log("authentication failed: " + o.dispatchResult);
|
||||||
|
@ -125,47 +129,64 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll(sessionId) {
|
function poll(sessionId) {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
isPolling = true;
|
||||||
|
|
||||||
const request = {};
|
const request = { fidoUafSessionId: sessionId };
|
||||||
request.fidoUafSessionId = sessionId;
|
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const fetchRequest = fetch("", {
|
||||||
fetch("", {
|
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientAuthenticating') {
|
if (status == 'clientAuthenticating') {
|
||||||
document.getElementById("mauth_qrcode").style.display = 'none';
|
document.getElementById("mauth_qrcode").style.display = 'none';
|
||||||
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
||||||
document.getElementById("mauth_match_numbers").style.display = 'block';
|
document.getElementById("mauth_match_numbers").style.display = 'block';
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status == 'succeeded') {
|
if (status == 'succeeded') {
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("authentication failed with status: " + status);
|
console.error("authentication failed with status: " + status);
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafSessionId", sessionId);
|
addInput(form, "fidoUafSessionId", sessionId);
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(sessionId), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
renderDeviceList();
|
renderDeviceList();
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function dispatch() {
|
function dispatch() {
|
||||||
|
|
||||||
console.log("initiating usernameless mobile authentication...");
|
console.log("initiating usernameless mobile authentication...");
|
||||||
|
@ -58,9 +64,7 @@
|
||||||
});
|
});
|
||||||
var sessionId = o.sessionId;
|
var sessionId = o.sessionId;
|
||||||
console.log("started polling for session ID: " + sessionId);
|
console.log("started polling for session ID: " + sessionId);
|
||||||
statusPolling = window.setInterval(function () {
|
poll(sessionId);
|
||||||
poll(sessionId);
|
|
||||||
}, 2000);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log("authentication failed: " + o.dispatchResult);
|
console.log("authentication failed: " + o.dispatchResult);
|
||||||
|
@ -73,46 +77,66 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll(sessionId) {
|
function poll(sessionId) {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
|
||||||
const request = {};
|
isPolling = true;
|
||||||
request.fidoUafSessionId = sessionId;
|
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const request = { fidoUafSessionId: sessionId };
|
||||||
fetch("", {
|
|
||||||
|
const fetchRequest = fetch("", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientAuthenticating') {
|
if (status == 'clientAuthenticating') {
|
||||||
document.getElementById("mauth_qrcode").style.display = 'none';
|
// show process icon
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
|
document.getElementById("mauth_qrcode").style.display = 'none';
|
||||||
}
|
}
|
||||||
if (status == 'succeeded') {
|
if (status == 'succeeded') {
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafDone", "true"); // checked by Groovy script
|
addInput(form, "continue", "true"); // required for custom dispatching in usernameless
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("authentication failed with status: " + status);
|
console.error("authentication failed with status: " + status);
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafSessionId", sessionId); // checked by Groovy script
|
addInput(form, "fidoUafSessionId", sessionId);
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(sessionId), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch();
|
dispatch();
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,4 @@
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
document.dispatchEvent(new Event('initEidVerification'));
|
||||||
|
document.dispatchEvent(new Event('initCantonalBranding'));
|
||||||
|
});
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,3 @@
|
||||||
|
module.exports = {
|
||||||
|
...require('./mock-defaults')
|
||||||
|
};
|
|
@ -0,0 +1,224 @@
|
||||||
|
#parse("${templatePath}/header.vm")
|
||||||
|
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
|
||||||
|
|
||||||
|
<agov-backdrop></agov-backdrop>
|
||||||
|
<div id="mainContent" class="container mx-auto sm:mt-2 sm:max-w-full flex h-full sm:h-auto">
|
||||||
|
<div class="flex flex-col items-start gap-4 w-full rounded-[36px] sm:p-6 mx-auto
|
||||||
|
max-w-[600px] md:max-w-[1200px] sm:bg-lily-blue dark:sm:bg-purple-black">
|
||||||
|
|
||||||
|
<div id="cantonalBranding"
|
||||||
|
class="flex items-center rounded-xl gap-5 p-2 sm:p-0 sm:w-auto w-full hidden bg-pale-blue dark:bg-purple-black sm:bg-transparent">
|
||||||
|
<div class="flex items-center p-2 bg-white rounded sm:rounded-xl w-16 h-16" id="logo"></div>
|
||||||
|
<h1 class="font-header text-h6 sm:text-h4 text-space-blue dark:text-white">
|
||||||
|
#if ($login.language =="en")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameEN').value)
|
||||||
|
#elseif ($login.language =="de")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameDE').value)
|
||||||
|
#elseif ($login.language =="fr")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameFR').value)
|
||||||
|
#else
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameIT').value)
|
||||||
|
#end
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-col md:flex-row w-full gap-6">
|
||||||
|
<div id="registerCard" class="w-full md:min-h-[689px] flex flex-col justify-between">
|
||||||
|
<div id="swiyuLoginImage"
|
||||||
|
class="relative md:max-w-[520px] max-w-[350px] sm:max-w-[300px] mb-10 w-full mx-auto hidden md:block">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/login.svg"
|
||||||
|
class="hidden md:block dark:hidden w-full">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/login-dark.svg"
|
||||||
|
class="hidden md:hidden dark:md:block w-full">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="loginModal"
|
||||||
|
class="flex flex-col bg-white dark:bg-surface-black rounded-[20px] sm:min-h-[700px] p-6 sm:pb-8 sm:pt-10 sm:px-10
|
||||||
|
max-w-[550px] w-full">
|
||||||
|
|
||||||
|
<div class="flex mb-4 sm:mb-6 items-baseline">
|
||||||
|
<h1 class="font-header text-h4 text-space-blue dark:text-white mr-3">$text.get("eid_verification.login")</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="cantonalBrandingMobile"
|
||||||
|
class="flex items-center rounded-xl gap-5 mb-4 p-2 sm:p-0 sm:w-auto w-full hidden bg-pale-blue dark:bg-purple-black sm:bg-transparent">
|
||||||
|
<div class="flex items-center p-2 bg-white dark:bg-black rounded sm:rounded-xl w-16 h-16"
|
||||||
|
id="logoMobile"></div>
|
||||||
|
<h1 class="font-header text-h6 sm:text-h4 text-space-blue dark:text-white">
|
||||||
|
#if ($login.language =="en")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameEN').value)
|
||||||
|
#elseif ($login.language =="de")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameDE').value)
|
||||||
|
#elseif ($login.language =="fr")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameFR').value)
|
||||||
|
#else
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameIT').value)
|
||||||
|
#end
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="swiyuWalletAppModal" class="h-full">
|
||||||
|
|
||||||
|
<div class="desktopBanner" aria-live="assertive">
|
||||||
|
<div class="hidden info flex rounded-xl bg-info-background dark:bg-dark-info-background items-center p-4
|
||||||
|
mb-4">
|
||||||
|
<i class="fa-regular fa-info-circle rounded-full p-3 text-info dark:text-dark-info bg-info/10 dark:bg-dark-info-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.info")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden success flex rounded-xl bg-success-background dark:bg-dark-success-background
|
||||||
|
items-center p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-check-circle rounded-full p-3 text-success dark:text-dark-success bg-success/10 dark:bg-dark-success-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.success")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center
|
||||||
|
p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.error")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="relative flex flex-col h-full">
|
||||||
|
<div id="blurBackdrop" class="hidden absolute backdrop-blur-sm -top-1 -bottom-8 -left-4 -right-4
|
||||||
|
z-10"></div>
|
||||||
|
<div class="mobileBanner relative z-20" aria-live="assertive">
|
||||||
|
<div class="hidden info flex rounded-xl bg-info-background dark:bg-dark-info-background items-center
|
||||||
|
p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-info-circle rounded-full p-3 text-info dark:text-dark-info bg-info/10 dark:bg-dark-info-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.info")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden success flex rounded-xl bg-success-background dark:bg-dark-success-background
|
||||||
|
items-center p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-check-circle rounded-full p-3 text-success dark:text-dark-success bg-success/10 dark:bg-dark-success-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.success")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden error flex rounded-xl bg-error-background dark:bg-dark-error-background
|
||||||
|
items-center p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.error")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="swiyuLoginImageMobile"
|
||||||
|
class="hidden max-w-[200px] sm:max-w-full sm:w-full basis-1/2 mx-auto mb-6">
|
||||||
|
<img alt=""
|
||||||
|
src="${login.appDataPath}/static/images/login.svg"
|
||||||
|
class="block dark:hidden w-full">
|
||||||
|
|
||||||
|
<img alt=""
|
||||||
|
src="${login.appDataPath}/static/images/login-dark.svg"
|
||||||
|
class="hidden dark:block w-full">
|
||||||
|
</div>
|
||||||
|
<div id="QRCodeHolder">
|
||||||
|
<div class="relative">
|
||||||
|
<canvas role="img" aria-labelledby="labelQRCodeInstructions" id="swiyu_qrcode"
|
||||||
|
class="mb-6 mx-auto"></canvas>
|
||||||
|
<div class="hidden" id="QRcodeHiddenLink"></div>
|
||||||
|
<span id="spinner" class="hidden absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2
|
||||||
|
z-20">
|
||||||
|
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
|
||||||
|
<img src="${login.appDataPath}/static/images/spinner-dark.svg"
|
||||||
|
class="animate-spin hidden dark:block">
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a id="swiyuWalletAppLinkIpad" href="" class="hidden">
|
||||||
|
<agov-button
|
||||||
|
class="block basis-full mb-6"
|
||||||
|
data-name="swiyuWalletApp"
|
||||||
|
data-value="swiyuWalletApp"
|
||||||
|
data-id="swiyuWalletAppIpad"
|
||||||
|
data-label="$text.get("general.goSwiyuWalletApp")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<div class="swiyuWalletAppInstructions flex bg-indigo-light rounded-xl p-4 mb-2 items-center
|
||||||
|
dark:bg-purple-black">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/access-app.svg" class="h-12 mr-4">
|
||||||
|
<p id="labelQRCodeInstructions" class="font-header text-h5 text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.instructions")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
|
accept-charset="UTF-8" class="w-full sm:static mt-auto mb-20 sm:mb-0">
|
||||||
|
|
||||||
|
<div id="mobileButtons" class="hidden w-full">
|
||||||
|
<div class="flex flex-col">
|
||||||
|
<a id="swiyuWalletAppLink" href="">
|
||||||
|
<agov-button
|
||||||
|
class="block basis-full mb-4"
|
||||||
|
data-name="swiyuWalletApp"
|
||||||
|
data-value="swiyuWalletApp"
|
||||||
|
data-id="swiyuWalletApp"
|
||||||
|
data-label="$text.get("general.goSwiyuWalletApp")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
</a>
|
||||||
|
<agov-button
|
||||||
|
id="showQR"
|
||||||
|
class="block basis-full"
|
||||||
|
data-style="frameless"
|
||||||
|
data-name="EID"
|
||||||
|
data-value="EID"
|
||||||
|
data-id="EID"
|
||||||
|
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
|
||||||
|
"eid_verification.showQR")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
|
||||||
|
<agov-button
|
||||||
|
id="hideQR"
|
||||||
|
class="hidden basis-full"
|
||||||
|
data-style="frameless"
|
||||||
|
data-name="EID"
|
||||||
|
data-value="EID"
|
||||||
|
data-id="EID"
|
||||||
|
data-label="<i class='fa-regular fa-eye-slash align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
|
||||||
|
"eid_verification.hideQR")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<input class="hidden" name="authRequestId" type="hidden"
|
||||||
|
value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="${login.appDataPath}/static/js-code/eid_verification.js" defer>
|
||||||
|
</script>
|
||||||
|
<div id="appSamlRpEntityId" class="hidden" data-value="$gui.getGuiElem('agov.appSamlRpEntityId').value"
|
||||||
|
data-language="$login.language">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#parse("${templatePath}/footer.vm")
|
|
@ -3,7 +3,7 @@
|
||||||
$text.get("footer.text")
|
$text.get("footer.text")
|
||||||
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
|
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
|
||||||
</div>
|
</div>
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="${login.appDataPath}/static/bundle.js"></script>
|
<script src="${login.appDataPath}/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -150,15 +150,15 @@
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="agovLoginImageMobile" class="hidden md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full
|
<div id="agovLoginImageMobile"
|
||||||
mx-auto mb-6">
|
class="hidden max-w-[200px] sm:max-w-full sm:w-full basis-1/2 mx-auto mb-6">
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/login.svg"
|
src="${login.appDataPath}/static/images/login.svg"
|
||||||
class="block sm:hidden md:block dark:hidden w-full">
|
class="block dark:hidden w-full">
|
||||||
|
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/login-dark.svg"
|
src="${login.appDataPath}/static/images/login-dark.svg"
|
||||||
class="dark:sm:hidden dark:md:block hidden dark:block w-full">
|
class="hidden dark:block w-full">
|
||||||
</div>
|
</div>
|
||||||
<div id="QRCodeHolder">
|
<div id="QRCodeHolder">
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
|
@ -242,7 +242,7 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="securityKeyModal" class="hidden mt-16">
|
<div id="securityKeyModal" class="hidden sm:mt-16">
|
||||||
|
|
||||||
<h2 class="font-header text-h5 text-space-blue dark:text-white mt-4 text-center">
|
<h2 class="font-header text-h5 text-space-blue dark:text-white mt-4 text-center">
|
||||||
$text.get("mauth_usernameless.useSecurityKey")
|
$text.get("mauth_usernameless.useSecurityKey")
|
||||||
|
@ -253,7 +253,7 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
accept-charset="UTF-8">
|
accept-charset="UTF-8" class="mb-20 sm:mb-0">
|
||||||
<agov-button
|
<agov-button
|
||||||
class="mb-4 block"
|
class="mb-4 block"
|
||||||
data-name="fallback"
|
data-name="fallback"
|
||||||
|
|
|
@ -82,14 +82,14 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="agovLoginImageMobile"
|
<div id="agovLoginImageMobile"
|
||||||
class="hidden md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full basis-1/2 mx-auto mb-4">
|
class="hidden max-w-[200px] sm:max-w-full sm:w-full basis-1/2 mx-auto mb-4">
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/recovery.svg"
|
src="${login.appDataPath}/static/images/recovery.svg"
|
||||||
class="block sm:hidden md:block dark:hidden w-full">
|
class="block w-full">
|
||||||
|
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/recovery_dark.svg"
|
src="${login.appDataPath}/static/images/recovery_dark.svg"
|
||||||
class="dark:sm:hidden dark:md:block hidden dark:block w-full">
|
class="hidden dark:block w-full">
|
||||||
</div>
|
</div>
|
||||||
<div id="QRCodeHolder">
|
<div id="QRCodeHolder">
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
|
|
|
@ -2,116 +2,151 @@
|
||||||
|
|
||||||
<agov-backdrop></agov-backdrop>
|
<agov-backdrop></agov-backdrop>
|
||||||
<div id="mainContent" class="container mx-auto sm:mt-32 sm:max-w-full flex flex-auto sm:block">
|
<div id="mainContent" class="container mx-auto sm:mt-32 sm:max-w-full flex flex-auto sm:block">
|
||||||
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
|
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
|
||||||
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
|
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
|
||||||
basis-full md:basis-1/2 min-h-[535px]">
|
basis-full md:basis-1/2 min-h-[535px]">
|
||||||
<span id="spinner" class="hidden absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-30">
|
<span id="spinner" class="hidden absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-30">
|
||||||
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
|
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
|
||||||
<img src="${login.appDataPath}/static/images/spinner-dark.svg" class="animate-spin hidden dark:block">
|
<img src="${login.appDataPath}/static/images/spinner-dark.svg" class="animate-spin hidden dark:block">
|
||||||
</span>
|
</span>
|
||||||
<div id="blurBackdrop" class="hidden absolute backdrop-blur-sm -top-1 -bottom-96 -left-4 -right-4 z-20"></div>
|
<div id="blurBackdrop" class="hidden absolute backdrop-blur-sm -top-1 -bottom-96 -left-4 -right-4 z-20"></div>
|
||||||
<div class="flex flex-col gap-8">
|
<div class="flex flex-col gap-8">
|
||||||
<div class="flex items-baseline">
|
<div class="flex items-baseline">
|
||||||
#set($error = $gui.getGuiElem("lasterror"))
|
#set($error = $gui.getGuiElem("lasterror"))
|
||||||
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">
|
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">
|
||||||
$text.get("general.recovery")
|
$text.get("general.recovery")
|
||||||
</h3>
|
</h3>
|
||||||
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">
|
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">
|
||||||
$text.get("general.entryCode")
|
$text.get("general.entryCode")
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
#if (($error.value && $error.value != ""))
|
#if (($error.value && $error.value != ""))
|
||||||
#if (($error.value == "locked"))
|
#if (($error.value == "locked"))
|
||||||
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
||||||
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
<p class="font-body text-body-l text-space-blue dark:text-white">
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
$text.get("recovery_check_code.banner.lockedError")
|
$text.get("recovery_check_code.banner.lockedError")
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.too_many_tries.instruction1")
|
||||||
|
</p>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.too_many_tries.instruction2")
|
||||||
|
</p>
|
||||||
#else
|
#else
|
||||||
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
||||||
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
<p class="font-body text-body-l text-space-blue dark:text-white">
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
$text.get("recovery_check_code.codeIncorrect")
|
$text.get("recovery_check_code.codeIncorrect")
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.instruction")
|
||||||
|
</p>
|
||||||
#end
|
#end
|
||||||
|
#else
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.instruction")
|
||||||
|
</p>
|
||||||
#end
|
#end
|
||||||
<p class="font-body text-body-l text-space-blue dark:text-white">
|
</div>
|
||||||
$text.get("recovery_check_code.instruction")
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
|
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
|
||||||
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
#if (($error.value && $error.value != "locked") || !($error.value))
|
||||||
accept-charset="UTF-8"
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
class="flex flex-col flex-auto block">
|
accept-charset="UTF-8"
|
||||||
<agov-input
|
class="flex flex-col flex-auto block">
|
||||||
id="recovery_code_input"
|
<agov-input
|
||||||
class="py-16"
|
id="recovery_code_input"
|
||||||
data-label="$text.get("recovery_check_code.enterRecoveryCode")"
|
class="py-16"
|
||||||
data-isLabelHidden="true"
|
data-label="$text.get("recovery_check_code.enterRecoveryCode")"
|
||||||
data-placeholder=""
|
data-isLabelHidden="true"
|
||||||
data-id="code"
|
data-placeholder=""
|
||||||
data-name="code"
|
data-id="code"
|
||||||
data-value=""
|
data-name="code"
|
||||||
data-type="text"
|
data-value=""
|
||||||
data-autofocus="true"
|
data-type="text"
|
||||||
data-email_invalid="$text.get("recovery_check_code.invalid.code")"
|
data-autofocus="true"
|
||||||
data-email_too_long="$text.get("recovery_check_code.invalid.code.tooLong")"
|
data-email_invalid="$text.get("recovery_check_code.invalid.code")"
|
||||||
data-email_required="$text.get("recovery_check_code.invalid.code.required")">
|
data-email_too_long="$text.get("recovery_check_code.invalid.code.tooLong")"
|
||||||
</agov-input>
|
data-email_required="$text.get("recovery_check_code.invalid.code.required")">
|
||||||
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
|
</agov-input>
|
||||||
<div class="flex flex-col flex-row-reverse gap-4">
|
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
|
||||||
<agov-button
|
<div class="flex flex-col flex-row-reverse gap-4">
|
||||||
id="recovery_code_btn"
|
<agov-button
|
||||||
class="block basis-full"
|
id="recovery_code_btn"
|
||||||
data-name="confirm"
|
class="block basis-full"
|
||||||
data-value="confirm"
|
data-name="confirm"
|
||||||
data-id="confirm"
|
data-value="confirm"
|
||||||
data-label="$text.get("general.confirm")"
|
data-id="confirm"
|
||||||
data-type="submit"
|
data-label="$text.get("general.confirm")"
|
||||||
data-fullwidth="true">
|
data-type="submit"
|
||||||
</agov-button>
|
data-fullwidth="true">
|
||||||
<agov-button
|
</agov-button>
|
||||||
id="recovery_code_btn_cancel"
|
<agov-button
|
||||||
class="block basis-full"
|
id="recovery_code_btn_cancel"
|
||||||
data-style="frameless"
|
class="block basis-full"
|
||||||
data-name="cancelFido2"
|
data-style="frameless"
|
||||||
data-value="cancelFido2"
|
data-name="cancelFido2"
|
||||||
data-id="cancelFido2"
|
data-value="cancelFido2"
|
||||||
data-label="$text.get("recovery_check_code.noAccess")"
|
data-id="cancelFido2"
|
||||||
data-type="button"
|
data-label="$text.get("recovery_check_code.noAccess")"
|
||||||
data-fullwidth="true"
|
data-type="button"
|
||||||
data-validate="false">
|
data-fullwidth="true"
|
||||||
</agov-button>
|
data-validate="false">
|
||||||
</div>
|
</agov-button>
|
||||||
</div>
|
<input class="hidden" name="authRequestId" type="hidden"
|
||||||
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
|
value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form class="hidden"
|
</form>
|
||||||
id="$gui.name"
|
#else
|
||||||
name="$gui.name"
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
method="POST"
|
accept-charset="UTF-8"
|
||||||
target="_self"
|
class="flex flex-col flex-auto block">
|
||||||
action="$formTarget"
|
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
|
||||||
autocomplete="off"
|
<div class="flex flex-col flex-row-reverse gap-4">
|
||||||
accept-charset="UTF-8">
|
<agov-button
|
||||||
<agov-button
|
id="recovery_code_btn_cancel"
|
||||||
data-name="submit"
|
class="block basis-full"
|
||||||
data-id="submitFormButton"
|
data-name="cancelFido2"
|
||||||
data-value="submit"
|
data-value="cancelFido2"
|
||||||
data-type="submit"
|
data-id="cancelFido2"
|
||||||
data-fullwidth="true">
|
data-label="$text.get("recovery_check_code.noAccess")"
|
||||||
</agov-button>
|
data-type="button"
|
||||||
<input class="hidden" name="no_code" id="noCodeCheckbox" type="checkbox" value="true">
|
data-fullwidth="true"
|
||||||
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
|
data-validate="false">
|
||||||
</form>
|
</agov-button>
|
||||||
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
|
<input class="hidden" name="authRequestId" type="hidden"
|
||||||
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden hidden md:block">
|
value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
|
</div>
|
||||||
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:md:block">
|
</div>
|
||||||
</div>
|
</form>
|
||||||
|
#end
|
||||||
|
</div>
|
||||||
|
<form class="hidden"
|
||||||
|
id="$gui.name"
|
||||||
|
name="$gui.name"
|
||||||
|
method="POST"
|
||||||
|
target="_self"
|
||||||
|
action="$formTarget"
|
||||||
|
autocomplete="off"
|
||||||
|
accept-charset="UTF-8">
|
||||||
|
<agov-button
|
||||||
|
data-name="submit"
|
||||||
|
data-id="submitFormButton"
|
||||||
|
data-value="submit"
|
||||||
|
data-type="submit"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
<input class="hidden" name="no_code" id="noCodeCheckbox" type="checkbox" value="true">
|
||||||
|
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
|
</form>
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
|
||||||
|
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden hidden md:block">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
|
||||||
|
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:md:block">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="${login.appDataPath}/static/js-code/recovery_check_code.js">
|
<script src="${login.appDataPath}/static/js-code/recovery_check_code.js">
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Select language
|
languageDropdown.aria.label=Select language
|
||||||
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
||||||
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
||||||
loainfo.description.400=To access the application we need you to add your AHV Number (Swiss Social Security number).
|
loainfo.description.400=To access the application we need you to add your SSN (AHV) number.
|
||||||
loainfo.helper=Your data needs to be verified!
|
loainfo.helper=Your data needs to be verified!
|
||||||
loainfo.later=Later
|
loainfo.later=Later
|
||||||
loainfo.startNow=Do you want to start the process now?
|
loainfo.startNow=Do you want to start the process now?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=The code is too long
|
||||||
recovery_check_code.noAccess=I do not have access to my code
|
recovery_check_code.noAccess=I do not have access to my code
|
||||||
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
||||||
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=The recovery code you have entered might have expired or you might have tried to enter it too many times.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Please go to AGOV help in order to contact a support agent. They will be able to help you with the recovery process.
|
||||||
recovery_check_noCode.banner.error=Too many attempts.
|
recovery_check_noCode.banner.error=Too many attempts.
|
||||||
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
||||||
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=If you have several login factor
|
||||||
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
||||||
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
||||||
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
||||||
recovery_questionnaire_reason_selection.answer3=I have deleted or reset my AGOV access app
|
recovery_questionnaire_reason_selection.answer3=I have deleted, reinstalled, or reset my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
||||||
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Sprache wählen
|
languageDropdown.aria.label=Sprache wählen
|
||||||
loainfo.description.200=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben verifizieren. Der Vorgang kann bis zu 2 - 3 Tage dauern.
|
loainfo.description.200=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben verifizieren. Der Vorgang kann bis zu 2 - 3 Tage dauern.
|
||||||
loainfo.description.300=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben durch einen von zwei Vorgängen verifizieren. Sie können die bevorzugte Methode im nächsten Schritt auswählen.
|
loainfo.description.300=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben durch einen von zwei Vorgängen verifizieren. Sie können die bevorzugte Methode im nächsten Schritt auswählen.
|
||||||
loainfo.description.400=Für den Zugang zu dieser Anwendung müssen Sie Ihre AHV-Nummer angeben.
|
loainfo.description.400=Bitte AHV-Nummer angeben, um auf die Applikation zuzugreifen.
|
||||||
loainfo.helper=Ihre persönlichen Daten müssen überprüft werden!
|
loainfo.helper=Ihre persönlichen Daten müssen überprüft werden!
|
||||||
loainfo.later=Später
|
loainfo.later=Später
|
||||||
loainfo.startNow=Möchten Sie den Prozess jetzt starten?
|
loainfo.startNow=Möchten Sie den Prozess jetzt starten?
|
||||||
|
@ -151,7 +151,7 @@ providePhoneNumber.saveButtonText=Speichern
|
||||||
providePhoneNumber.title=Mobilnummer angeben
|
providePhoneNumber.title=Mobilnummer angeben
|
||||||
recovery_accessapp_auth.accessAppRegistered=AGOV access app schon registriert
|
recovery_accessapp_auth.accessAppRegistered=AGOV access app schon registriert
|
||||||
recovery_accessapp_auth.instruction1=Sie haben bereits eine neue AGOV access App !!!ACCESS_APP_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
recovery_accessapp_auth.instruction1=Sie haben bereits eine neue AGOV access App !!!ACCESS_APP_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
||||||
recovery_accessapp_auth.instruction2=Verwenden Sie !!!ACCESS_APP_NAME!!! um Sie zu identifizieren.
|
recovery_accessapp_auth.instruction2=Verwenden Sie !!!ACCESS_APP_NAME!!! um sich zu identifizieren.
|
||||||
recovery_check_code.banner.lockedError=Zu viele Fehlversuche. Bitte versuchen Sie es in ein paar Minuten noch einmal.
|
recovery_check_code.banner.lockedError=Zu viele Fehlversuche. Bitte versuchen Sie es in ein paar Minuten noch einmal.
|
||||||
recovery_check_code.codeIncorrect=Der eingegebene Code ist nicht korrekt. Bitte versuchen Sie es erneut.
|
recovery_check_code.codeIncorrect=Der eingegebene Code ist nicht korrekt. Bitte versuchen Sie es erneut.
|
||||||
recovery_check_code.enterRecoveryCode=Wiederherstellungscode eingeben
|
recovery_check_code.enterRecoveryCode=Wiederherstellungscode eingeben
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=Eingegebener Code ist zu lang
|
||||||
recovery_check_code.noAccess=Ich kann auf meinen Code nicht zugreifen
|
recovery_check_code.noAccess=Ich kann auf meinen Code nicht zugreifen
|
||||||
recovery_check_code.noCodeAccess=Sind Sie sicher, dass Sie auf Ihren Wiederherstellungscode nicht zugreifen können?
|
recovery_check_code.noCodeAccess=Sind Sie sicher, dass Sie auf Ihren Wiederherstellungscode nicht zugreifen können?
|
||||||
recovery_check_code.noCodeAccessInstructions=Wenn Sie auf Ihren Wiederherstellungscode nicht mehr zugreifen können, gehen Sie bitte zur AGOV-Hilfe, um jemanden vom AGOV-Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
recovery_check_code.noCodeAccessInstructions=Wenn Sie auf Ihren Wiederherstellungscode nicht mehr zugreifen können, gehen Sie bitte zur AGOV-Hilfe, um jemanden vom AGOV-Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Der von Ihnen eingegebene Wiederherstellungscode ist möglicherweise abgelaufen oder Sie haben zu oft versucht, einen Code einzugeben.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Gehen Sie bitte zur AGOV-Hilfe, um jemanden vom Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
||||||
recovery_check_noCode.banner.error=Zu viele Versuche.
|
recovery_check_noCode.banner.error=Zu viele Versuche.
|
||||||
recovery_check_noCode.instruction1=Möglicherweise haben Sie zu oft versucht, den Wiederherstellungscode einzugeben.
|
recovery_check_noCode.instruction1=Möglicherweise haben Sie zu oft versucht, den Wiederherstellungscode einzugeben.
|
||||||
recovery_check_noCode.instruction2=Bitte schliessen Sie den Webbrowser und starten Sie die Kontowiederherstellung in zehn Minuten erneut auf <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Bitte schliessen Sie den Webbrowser und starten Sie die Kontowiederherstellung in zehn Minuten erneut auf <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -172,7 +174,7 @@ recovery_code.validUntil=Gültig bis:
|
||||||
recovery_fidokey_auth.button=Schlüsselauthentifizierung starten
|
recovery_fidokey_auth.button=Schlüsselauthentifizierung starten
|
||||||
recovery_fidokey_auth.fidoInstruction=Klicken Sie auf "Schlüsselauthentifizierung starten"
|
recovery_fidokey_auth.fidoInstruction=Klicken Sie auf "Schlüsselauthentifizierung starten"
|
||||||
recovery_fidokey_auth.instruction1=Sie haben bereits einen neuen Sicherheitsschlüssel !!!SECURITY_KEY_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
recovery_fidokey_auth.instruction1=Sie haben bereits einen neuen Sicherheitsschlüssel !!!SECURITY_KEY_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
||||||
recovery_fidokey_auth.instruction2=Bitte verwenden Sie !!!SECURITY_KEY_NAME!!! und befolgen Sie die untenstehenden Schritte, um Sie zu identifizieren.
|
recovery_fidokey_auth.instruction2=Bitte verwenden Sie !!!SECURITY_KEY_NAME!!! und befolgen Sie die untenstehenden Schritte, um sich zu identifizieren.
|
||||||
recovery_fidokey_auth.keyRegistered=Sicherheitsschlüssel schon registriert
|
recovery_fidokey_auth.keyRegistered=Sicherheitsschlüssel schon registriert
|
||||||
recovery_intro_email.banner.error=Der von Ihnen verwendete Link ist abgelaufen. Bitte geben Sie Ihre E-Mail-Adresse ein, um einen neuen Link zu erhalten.
|
recovery_intro_email.banner.error=Der von Ihnen verwendete Link ist abgelaufen. Bitte geben Sie Ihre E-Mail-Adresse ein, um einen neuen Link zu erhalten.
|
||||||
recovery_intro_email.banner.info=Bitte geben Sie Ihre E-Mail-Adresse ein, damit wir Ihnen einen Link schicken können, mit dem Sie den Wiederherstellungsprozess starten.
|
recovery_intro_email.banner.info=Bitte geben Sie Ihre E-Mail-Adresse ein, damit wir Ihnen einen Link schicken können, mit dem Sie den Wiederherstellungsprozess starten.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=Wenn Sie mehrere Loginfaktoren r
|
||||||
recovery_questionnaire_reason_selection.answer1=Ich habe Probleme mich anzumelden, obwohl ich meine App / meinen Sicherheitsschlüssel habe
|
recovery_questionnaire_reason_selection.answer1=Ich habe Probleme mich anzumelden, obwohl ich meine App / meinen Sicherheitsschlüssel habe
|
||||||
recovery_questionnaire_reason_selection.answer10=Ich habe einen meiner Loginfaktoren verloren (AGOV access App oder Sicherheitsschlüssel)
|
recovery_questionnaire_reason_selection.answer10=Ich habe einen meiner Loginfaktoren verloren (AGOV access App oder Sicherheitsschlüssel)
|
||||||
recovery_questionnaire_reason_selection.answer2=Ich konnte meine Registrierung nicht abschliessen
|
recovery_questionnaire_reason_selection.answer2=Ich konnte meine Registrierung nicht abschliessen
|
||||||
recovery_questionnaire_reason_selection.answer3=Ich habe meine AGOV access App gelöscht oder zurückgesetzt
|
recovery_questionnaire_reason_selection.answer3=Ich habe meine AGOV access App gelöscht, neu installiert oder zurückgesetzt
|
||||||
recovery_questionnaire_reason_selection.answer4=Ich habe mein Telefon / Sicherheitsschlüssel verloren
|
recovery_questionnaire_reason_selection.answer4=Ich habe mein Telefon / Sicherheitsschlüssel verloren
|
||||||
recovery_questionnaire_reason_selection.answer5=Ich habe ein neues Telefon und habe vergessen, meine AGOV access App zu übertragen
|
recovery_questionnaire_reason_selection.answer5=Ich habe ein neues Telefon und habe vergessen, meine AGOV access App zu übertragen
|
||||||
recovery_questionnaire_reason_selection.answer6=Ich habe die PIN für meine AGOV access App vergessen
|
recovery_questionnaire_reason_selection.answer6=Ich habe die PIN für meine AGOV access App vergessen
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Select language
|
languageDropdown.aria.label=Select language
|
||||||
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
||||||
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
||||||
loainfo.description.400=To access the application we need you to add your AHV Number (Swiss Social Security number).
|
loainfo.description.400=To access the application we need you to add your SSN (AHV) number.
|
||||||
loainfo.helper=Your data needs to be verified!
|
loainfo.helper=Your data needs to be verified!
|
||||||
loainfo.later=Later
|
loainfo.later=Later
|
||||||
loainfo.startNow=Do you want to start the process now?
|
loainfo.startNow=Do you want to start the process now?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=The code is too long
|
||||||
recovery_check_code.noAccess=I do not have access to my code
|
recovery_check_code.noAccess=I do not have access to my code
|
||||||
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
||||||
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=The recovery code you have entered might have expired or you might have tried to enter it too many times.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Please go to AGOV help in order to contact a support agent. They will be able to help you with the recovery process.
|
||||||
recovery_check_noCode.banner.error=Too many attempts.
|
recovery_check_noCode.banner.error=Too many attempts.
|
||||||
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
||||||
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=If you have several login factor
|
||||||
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
||||||
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
||||||
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
||||||
recovery_questionnaire_reason_selection.answer3=I have deleted or reset my AGOV access app
|
recovery_questionnaire_reason_selection.answer3=I have deleted, reinstalled, or reset my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
||||||
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Sélectionner la langue
|
languageDropdown.aria.label=Sélectionner la langue
|
||||||
loainfo.description.200=Pour accéder à l'application, nous devons vérifier vos données. Ce processus peut prendre jusqu'à 2 ou 3 jours.
|
loainfo.description.200=Pour accéder à l'application, nous devons vérifier vos données. Ce processus peut prendre jusqu'à 2 ou 3 jours.
|
||||||
loainfo.description.300=Pour accéder à l'application, nous devons vérifier vos données par le biais de l'une des deux procédures suivantes. Vous pouvez choisir la procédure que vous préférez à l'étape suivante.
|
loainfo.description.300=Pour accéder à l'application, nous devons vérifier vos données par le biais de l'une des deux procédures suivantes. Vous pouvez choisir la procédure que vous préférez à l'étape suivante.
|
||||||
loainfo.description.400=Pour accéder à l'application, vous devez ajouter votre numéro AVS.
|
loainfo.description.400=Veuillez saisir votre numéro AVS pour accéder à l'application.
|
||||||
loainfo.helper=Vos données doivent être vérifiées!
|
loainfo.helper=Vos données doivent être vérifiées!
|
||||||
loainfo.later=Plus tard
|
loainfo.later=Plus tard
|
||||||
loainfo.startNow=Voulez-vous commencer le processus maintenant?
|
loainfo.startNow=Voulez-vous commencer le processus maintenant?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=Le code est trop long
|
||||||
recovery_check_code.noAccess=Je n’ai pas accès à mon code de récupération
|
recovery_check_code.noAccess=Je n’ai pas accès à mon code de récupération
|
||||||
recovery_check_code.noCodeAccess=Êtes-vous sûr de ne pas avoir accès à votre code de récupération ?
|
recovery_check_code.noCodeAccess=Êtes-vous sûr de ne pas avoir accès à votre code de récupération ?
|
||||||
recovery_check_code.noCodeAccessInstructions=En cas de perte de votre code de récupération, veuillez vous rendre sur AGOV help et contacter le service d’assistance AGOV. Un agent pourra vous aider dans le processus de récupération.
|
recovery_check_code.noCodeAccessInstructions=En cas de perte de votre code de récupération, veuillez vous rendre sur AGOV help et contacter le service d’assistance AGOV. Un agent pourra vous aider dans le processus de récupération.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Le code de récupération que vous avez saisi a peut-être expiré ou vous avez peut-être essayé de le saisir trop de fois.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Veuillez vous rendre sur AGOV help et contacter le service d’assistance. Un agent pourra vous aider dans le processus de récupération.
|
||||||
recovery_check_noCode.banner.error=Trop de tentatives.
|
recovery_check_noCode.banner.error=Trop de tentatives.
|
||||||
recovery_check_noCode.instruction1=Vous avez peut-être essayé de saisir le code de récupération trop de fois.
|
recovery_check_noCode.instruction1=Vous avez peut-être essayé de saisir le code de récupération trop de fois.
|
||||||
recovery_check_noCode.instruction2=Veuillez fermer le navigateur web et recommencer la récupération du compte dans dix minutes à partir de <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Veuillez fermer le navigateur web et recommencer la récupération du compte dans dix minutes à partir de <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=Si vous avez enregistré p
|
||||||
recovery_questionnaire_reason_selection.answer1=Je n'arrive pas à me connecter, même si j'ai mon application / ma clé de sécurité
|
recovery_questionnaire_reason_selection.answer1=Je n'arrive pas à me connecter, même si j'ai mon application / ma clé de sécurité
|
||||||
recovery_questionnaire_reason_selection.answer10=J'ai perdu l'un de mes facteurs d'authentification (application AGOV access ou clé de sécurité)
|
recovery_questionnaire_reason_selection.answer10=J'ai perdu l'un de mes facteurs d'authentification (application AGOV access ou clé de sécurité)
|
||||||
recovery_questionnaire_reason_selection.answer2=Je n'ai pas pu terminer mon inscription
|
recovery_questionnaire_reason_selection.answer2=Je n'ai pas pu terminer mon inscription
|
||||||
recovery_questionnaire_reason_selection.answer3=J'ai supprimé ou réinitialisé mon application AGOV access
|
recovery_questionnaire_reason_selection.answer3=J'ai supprimé, réinstallé ou réinitialisé mon application d'accès AGOV
|
||||||
recovery_questionnaire_reason_selection.answer4=J'ai perdu mon téléphone / clé de sécurité
|
recovery_questionnaire_reason_selection.answer4=J'ai perdu mon téléphone / clé de sécurité
|
||||||
recovery_questionnaire_reason_selection.answer5=J'ai un nouveau téléphone et j'ai oublié de transférer mon application AGOV access
|
recovery_questionnaire_reason_selection.answer5=J'ai un nouveau téléphone et j'ai oublié de transférer mon application AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer6=J'ai oublié mon PIN pour l'application AGOV access
|
recovery_questionnaire_reason_selection.answer6=J'ai oublié mon PIN pour l'application AGOV access
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Selezionare la lingua
|
languageDropdown.aria.label=Selezionare la lingua
|
||||||
loainfo.description.200=Per accedere all'app è necessaria una verifica dei dati. La procedura può richiedere fino a 2–3 giorni lavorativi.
|
loainfo.description.200=Per accedere all'app è necessaria una verifica dei dati. La procedura può richiedere fino a 2–3 giorni lavorativi.
|
||||||
loainfo.description.300=Per accedere all'app dobbiamo verificare i suoi dati tramite uno dei due processi. Al prossimo passaggio, può selezionare la procedura di verifica desiderata.
|
loainfo.description.300=Per accedere all'app dobbiamo verificare i suoi dati tramite uno dei due processi. Al prossimo passaggio, può selezionare la procedura di verifica desiderata.
|
||||||
loainfo.description.400=Per acceddere all'applicazione deve inserire il numero AVS.
|
loainfo.description.400=Per accedere all'applicazione è necessario inserire il numero AVS.
|
||||||
loainfo.helper=I dati devono essere verificati!
|
loainfo.helper=I dati devono essere verificati!
|
||||||
loainfo.later=Più tardi
|
loainfo.later=Più tardi
|
||||||
loainfo.startNow=Iniziare la procedura?
|
loainfo.startNow=Iniziare la procedura?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=Il codice è troppo lungo
|
||||||
recovery_check_code.noAccess=Non ho il mio codice.
|
recovery_check_code.noAccess=Non ho il mio codice.
|
||||||
recovery_check_code.noCodeAccess=Conferma di non avere il codice di ripristino?
|
recovery_check_code.noCodeAccess=Conferma di non avere il codice di ripristino?
|
||||||
recovery_check_code.noCodeAccessInstructions=Se non ha più il codice di ripristino, acceda ad AGOV help per contattare il supporto AGOV, che la assisterà nel processo di ripristino.
|
recovery_check_code.noCodeAccessInstructions=Se non ha più il codice di ripristino, acceda ad AGOV help per contattare il supporto AGOV, che la assisterà nel processo di ripristino.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Il codice di ripristino inserito può essere scaduto o è stato inserito troppe volte.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Si prega di andare alla guida di AGOV aiuto per contattare un agente dell'assistenza. Saranno in grado di aiutarla con il processo di recupero.
|
||||||
recovery_check_noCode.banner.error=Troppi tentativi.
|
recovery_check_noCode.banner.error=Troppi tentativi.
|
||||||
recovery_check_noCode.instruction1=Potresti aver tentato di inserire il codice di ripristino troppe volte.
|
recovery_check_noCode.instruction1=Potresti aver tentato di inserire il codice di ripristino troppe volte.
|
||||||
recovery_check_noCode.instruction2=Chiudi il browser web e inizia nuovamente il processo di ripristino dell'account tra dieci minuti da <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Chiudi il browser web e inizia nuovamente il processo di ripristino dell'account tra dieci minuti da <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=Se ha registrato più fatt
|
||||||
recovery_questionnaire_reason_selection.answer1=Ho problemi ad accedere, anche se ho la mia app/chiave di sicurezza
|
recovery_questionnaire_reason_selection.answer1=Ho problemi ad accedere, anche se ho la mia app/chiave di sicurezza
|
||||||
recovery_questionnaire_reason_selection.answer10=Ho perso uno dei miei fattori di accesso (app AGOV access o chiave di sicurezza)
|
recovery_questionnaire_reason_selection.answer10=Ho perso uno dei miei fattori di accesso (app AGOV access o chiave di sicurezza)
|
||||||
recovery_questionnaire_reason_selection.answer2=Non sono riuscito a completare la registrazione
|
recovery_questionnaire_reason_selection.answer2=Non sono riuscito a completare la registrazione
|
||||||
recovery_questionnaire_reason_selection.answer3=Ho eliminato o reimpostato la mia app AGOV access
|
recovery_questionnaire_reason_selection.answer3=Ho eliminato, reinstallato o reimpostato la mia app AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer4=Ho perso il telefono/la chiave di sicurezza
|
recovery_questionnaire_reason_selection.answer4=Ho perso il telefono/la chiave di sicurezza
|
||||||
recovery_questionnaire_reason_selection.answer5=Ho un nuovo telefono e ho dimenticato di trasferire la mia app AGOV access
|
recovery_questionnaire_reason_selection.answer5=Ho un nuovo telefono e ho dimenticato di trasferire la mia app AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer6=Ho dimenticato il PIN dell'app AGOV access
|
recovery_questionnaire_reason_selection.answer6=Ho dimenticato il PIN dell'app AGOV access
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function dispatchLink() {
|
function dispatchLink() {
|
||||||
|
|
||||||
document.getElementById("mauth_started").style.display = "block"; // show
|
document.getElementById("mauth_started").style.display = "block"; // show
|
||||||
|
@ -55,9 +61,7 @@
|
||||||
});
|
});
|
||||||
var sessionId = o.sessionId;
|
var sessionId = o.sessionId;
|
||||||
console.log("started polling for session ID: " + sessionId);
|
console.log("started polling for session ID: " + sessionId);
|
||||||
statusPolling = window.setInterval(function () {
|
poll(sessionId);
|
||||||
poll(sessionId);
|
|
||||||
}, 2000);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log("authentication failed: " + o.dispatchResult);
|
console.log("authentication failed: " + o.dispatchResult);
|
||||||
|
@ -70,21 +74,36 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll(sessionId) {
|
function poll(sessionId) {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
|
||||||
const request = {};
|
isPolling = true;
|
||||||
request.fidoUafSessionId = sessionId;
|
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const request = { fidoUafSessionId: sessionId };
|
||||||
fetch("", {
|
|
||||||
|
const fetchRequest = fetch("", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientAuthenticating') {
|
if (status == 'clientAuthenticating') {
|
||||||
// show process icon
|
// show process icon
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
|
@ -99,20 +118,24 @@
|
||||||
addInput(form, "continue", "true"); // required for custom dispatching in usernameless
|
addInput(form, "continue", "true"); // required for custom dispatching in usernameless
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("authentication failed with status: " + status);
|
console.error("authentication failed with status: " + status);
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafSessionId", sessionId);
|
addInput(form, "fidoUafSessionId", sessionId);
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(sessionId), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatchLink();
|
dispatchLink();
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function renderEnrollment() {
|
function renderEnrollment() {
|
||||||
|
|
||||||
// link is provided by a hidden GuiElem
|
// link is provided by a hidden GuiElem
|
||||||
|
@ -52,44 +58,53 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll() {
|
function poll() {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
|
||||||
|
isPolling = true;
|
||||||
|
|
||||||
// state is held on backend side
|
// state is held on backend side
|
||||||
const request = {};
|
const request = {};
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const fetchRequest = fetch("", {
|
||||||
fetch("", {
|
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientRegistering') {
|
if (status == 'clientRegistering') {
|
||||||
|
|
||||||
// show process icon
|
// show process icon
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
|
|
||||||
// hide QR-code and information
|
// hide QR-code and information
|
||||||
document.getElementById("mauth_qrcode").style.display = 'none';
|
document.getElementById("mauth_qrcode").style.display = 'none';
|
||||||
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
||||||
}
|
} else if (status == 'succeeded') {
|
||||||
else if (status == 'succeeded') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("onboarding successful");
|
console.log("onboarding successful");
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("onboarding failed with status: " + status);
|
console.error("onboarding failed with status: " + status);
|
||||||
|
|
||||||
|
@ -98,8 +113,15 @@
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
renderEnrollment();
|
renderEnrollment();
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function dispatch(id) {
|
function dispatch(id) {
|
||||||
|
|
||||||
document.getElementById("mauth_devices").style.display = "none"; // hide selection menu
|
document.getElementById("mauth_devices").style.display = "none"; // hide selection menu
|
||||||
|
@ -70,9 +76,7 @@
|
||||||
});
|
});
|
||||||
var sessionId = o.sessionId;
|
var sessionId = o.sessionId;
|
||||||
console.log("started polling for session ID: " + sessionId);
|
console.log("started polling for session ID: " + sessionId);
|
||||||
statusPolling = window.setInterval(function () {
|
poll(sessionId);
|
||||||
poll(sessionId);
|
|
||||||
}, 2000);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log("authentication failed: " + o.dispatchResult);
|
console.log("authentication failed: " + o.dispatchResult);
|
||||||
|
@ -125,47 +129,64 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll(sessionId) {
|
function poll(sessionId) {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
isPolling = true;
|
||||||
|
|
||||||
const request = {};
|
const request = { fidoUafSessionId: sessionId };
|
||||||
request.fidoUafSessionId = sessionId;
|
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const fetchRequest = fetch("", {
|
||||||
fetch("", {
|
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientAuthenticating') {
|
if (status == 'clientAuthenticating') {
|
||||||
document.getElementById("mauth_qrcode").style.display = 'none';
|
document.getElementById("mauth_qrcode").style.display = 'none';
|
||||||
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
||||||
document.getElementById("mauth_match_numbers").style.display = 'block';
|
document.getElementById("mauth_match_numbers").style.display = 'block';
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status == 'succeeded') {
|
if (status == 'succeeded') {
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("authentication failed with status: " + status);
|
console.error("authentication failed with status: " + status);
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafSessionId", sessionId);
|
addInput(form, "fidoUafSessionId", sessionId);
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(sessionId), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
renderDeviceList();
|
renderDeviceList();
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function dispatch() {
|
function dispatch() {
|
||||||
|
|
||||||
console.log("initiating usernameless mobile authentication...");
|
console.log("initiating usernameless mobile authentication...");
|
||||||
|
@ -58,9 +64,7 @@
|
||||||
});
|
});
|
||||||
var sessionId = o.sessionId;
|
var sessionId = o.sessionId;
|
||||||
console.log("started polling for session ID: " + sessionId);
|
console.log("started polling for session ID: " + sessionId);
|
||||||
statusPolling = window.setInterval(function () {
|
poll(sessionId);
|
||||||
poll(sessionId);
|
|
||||||
}, 2000);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log("authentication failed: " + o.dispatchResult);
|
console.log("authentication failed: " + o.dispatchResult);
|
||||||
|
@ -73,46 +77,66 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll(sessionId) {
|
function poll(sessionId) {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
|
||||||
const request = {};
|
isPolling = true;
|
||||||
request.fidoUafSessionId = sessionId;
|
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const request = { fidoUafSessionId: sessionId };
|
||||||
fetch("", {
|
|
||||||
|
const fetchRequest = fetch("", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientAuthenticating') {
|
if (status == 'clientAuthenticating') {
|
||||||
document.getElementById("mauth_qrcode").style.display = 'none';
|
// show process icon
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
|
document.getElementById("mauth_qrcode").style.display = 'none';
|
||||||
}
|
}
|
||||||
if (status == 'succeeded') {
|
if (status == 'succeeded') {
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafDone", "true"); // checked by Groovy script
|
addInput(form, "continue", "true"); // required for custom dispatching in usernameless
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("authentication failed with status: " + status);
|
console.error("authentication failed with status: " + status);
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafSessionId", sessionId); // checked by Groovy script
|
addInput(form, "fidoUafSessionId", sessionId);
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(sessionId), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch();
|
dispatch();
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,4 @@
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
document.dispatchEvent(new Event('initEidVerification'));
|
||||||
|
document.dispatchEvent(new Event('initCantonalBranding'));
|
||||||
|
});
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,3 @@
|
||||||
|
module.exports = {
|
||||||
|
...require('./mock-defaults')
|
||||||
|
};
|
|
@ -0,0 +1,224 @@
|
||||||
|
#parse("${templatePath}/header.vm")
|
||||||
|
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
|
||||||
|
|
||||||
|
<agov-backdrop></agov-backdrop>
|
||||||
|
<div id="mainContent" class="container mx-auto sm:mt-2 sm:max-w-full flex h-full sm:h-auto">
|
||||||
|
<div class="flex flex-col items-start gap-4 w-full rounded-[36px] sm:p-6 mx-auto
|
||||||
|
max-w-[600px] md:max-w-[1200px] sm:bg-lily-blue dark:sm:bg-purple-black">
|
||||||
|
|
||||||
|
<div id="cantonalBranding"
|
||||||
|
class="flex items-center rounded-xl gap-5 p-2 sm:p-0 sm:w-auto w-full hidden bg-pale-blue dark:bg-purple-black sm:bg-transparent">
|
||||||
|
<div class="flex items-center p-2 bg-white rounded sm:rounded-xl w-16 h-16" id="logo"></div>
|
||||||
|
<h1 class="font-header text-h6 sm:text-h4 text-space-blue dark:text-white">
|
||||||
|
#if ($login.language =="en")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameEN').value)
|
||||||
|
#elseif ($login.language =="de")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameDE').value)
|
||||||
|
#elseif ($login.language =="fr")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameFR').value)
|
||||||
|
#else
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameIT').value)
|
||||||
|
#end
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-col md:flex-row w-full gap-6">
|
||||||
|
<div id="registerCard" class="w-full md:min-h-[689px] flex flex-col justify-between">
|
||||||
|
<div id="swiyuLoginImage"
|
||||||
|
class="relative md:max-w-[520px] max-w-[350px] sm:max-w-[300px] mb-10 w-full mx-auto hidden md:block">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/login.svg"
|
||||||
|
class="hidden md:block dark:hidden w-full">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/login-dark.svg"
|
||||||
|
class="hidden md:hidden dark:md:block w-full">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="loginModal"
|
||||||
|
class="flex flex-col bg-white dark:bg-surface-black rounded-[20px] sm:min-h-[700px] p-6 sm:pb-8 sm:pt-10 sm:px-10
|
||||||
|
max-w-[550px] w-full">
|
||||||
|
|
||||||
|
<div class="flex mb-4 sm:mb-6 items-baseline">
|
||||||
|
<h1 class="font-header text-h4 text-space-blue dark:text-white mr-3">$text.get("eid_verification.login")</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="cantonalBrandingMobile"
|
||||||
|
class="flex items-center rounded-xl gap-5 mb-4 p-2 sm:p-0 sm:w-auto w-full hidden bg-pale-blue dark:bg-purple-black sm:bg-transparent">
|
||||||
|
<div class="flex items-center p-2 bg-white dark:bg-black rounded sm:rounded-xl w-16 h-16"
|
||||||
|
id="logoMobile"></div>
|
||||||
|
<h1 class="font-header text-h6 sm:text-h4 text-space-blue dark:text-white">
|
||||||
|
#if ($login.language =="en")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameEN').value)
|
||||||
|
#elseif ($login.language =="de")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameDE').value)
|
||||||
|
#elseif ($login.language =="fr")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameFR').value)
|
||||||
|
#else
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameIT').value)
|
||||||
|
#end
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="swiyuWalletAppModal" class="h-full">
|
||||||
|
|
||||||
|
<div class="desktopBanner" aria-live="assertive">
|
||||||
|
<div class="hidden info flex rounded-xl bg-info-background dark:bg-dark-info-background items-center p-4
|
||||||
|
mb-4">
|
||||||
|
<i class="fa-regular fa-info-circle rounded-full p-3 text-info dark:text-dark-info bg-info/10 dark:bg-dark-info-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.info")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden success flex rounded-xl bg-success-background dark:bg-dark-success-background
|
||||||
|
items-center p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-check-circle rounded-full p-3 text-success dark:text-dark-success bg-success/10 dark:bg-dark-success-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.success")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center
|
||||||
|
p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.error")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="relative flex flex-col h-full">
|
||||||
|
<div id="blurBackdrop" class="hidden absolute backdrop-blur-sm -top-1 -bottom-8 -left-4 -right-4
|
||||||
|
z-10"></div>
|
||||||
|
<div class="mobileBanner relative z-20" aria-live="assertive">
|
||||||
|
<div class="hidden info flex rounded-xl bg-info-background dark:bg-dark-info-background items-center
|
||||||
|
p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-info-circle rounded-full p-3 text-info dark:text-dark-info bg-info/10 dark:bg-dark-info-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.info")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden success flex rounded-xl bg-success-background dark:bg-dark-success-background
|
||||||
|
items-center p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-check-circle rounded-full p-3 text-success dark:text-dark-success bg-success/10 dark:bg-dark-success-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.success")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden error flex rounded-xl bg-error-background dark:bg-dark-error-background
|
||||||
|
items-center p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.error")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="swiyuLoginImageMobile"
|
||||||
|
class="hidden max-w-[200px] sm:max-w-full sm:w-full basis-1/2 mx-auto mb-6">
|
||||||
|
<img alt=""
|
||||||
|
src="${login.appDataPath}/static/images/login.svg"
|
||||||
|
class="block dark:hidden w-full">
|
||||||
|
|
||||||
|
<img alt=""
|
||||||
|
src="${login.appDataPath}/static/images/login-dark.svg"
|
||||||
|
class="hidden dark:block w-full">
|
||||||
|
</div>
|
||||||
|
<div id="QRCodeHolder">
|
||||||
|
<div class="relative">
|
||||||
|
<canvas role="img" aria-labelledby="labelQRCodeInstructions" id="swiyu_qrcode"
|
||||||
|
class="mb-6 mx-auto"></canvas>
|
||||||
|
<div class="hidden" id="QRcodeHiddenLink"></div>
|
||||||
|
<span id="spinner" class="hidden absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2
|
||||||
|
z-20">
|
||||||
|
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
|
||||||
|
<img src="${login.appDataPath}/static/images/spinner-dark.svg"
|
||||||
|
class="animate-spin hidden dark:block">
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a id="swiyuWalletAppLinkIpad" href="" class="hidden">
|
||||||
|
<agov-button
|
||||||
|
class="block basis-full mb-6"
|
||||||
|
data-name="swiyuWalletApp"
|
||||||
|
data-value="swiyuWalletApp"
|
||||||
|
data-id="swiyuWalletAppIpad"
|
||||||
|
data-label="$text.get("general.goSwiyuWalletApp")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<div class="swiyuWalletAppInstructions flex bg-indigo-light rounded-xl p-4 mb-2 items-center
|
||||||
|
dark:bg-purple-black">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/access-app.svg" class="h-12 mr-4">
|
||||||
|
<p id="labelQRCodeInstructions" class="font-header text-h5 text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.instructions")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
|
accept-charset="UTF-8" class="w-full sm:static mt-auto mb-20 sm:mb-0">
|
||||||
|
|
||||||
|
<div id="mobileButtons" class="hidden w-full">
|
||||||
|
<div class="flex flex-col">
|
||||||
|
<a id="swiyuWalletAppLink" href="">
|
||||||
|
<agov-button
|
||||||
|
class="block basis-full mb-4"
|
||||||
|
data-name="swiyuWalletApp"
|
||||||
|
data-value="swiyuWalletApp"
|
||||||
|
data-id="swiyuWalletApp"
|
||||||
|
data-label="$text.get("general.goSwiyuWalletApp")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
</a>
|
||||||
|
<agov-button
|
||||||
|
id="showQR"
|
||||||
|
class="block basis-full"
|
||||||
|
data-style="frameless"
|
||||||
|
data-name="EID"
|
||||||
|
data-value="EID"
|
||||||
|
data-id="EID"
|
||||||
|
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
|
||||||
|
"eid_verification.showQR")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
|
||||||
|
<agov-button
|
||||||
|
id="hideQR"
|
||||||
|
class="hidden basis-full"
|
||||||
|
data-style="frameless"
|
||||||
|
data-name="EID"
|
||||||
|
data-value="EID"
|
||||||
|
data-id="EID"
|
||||||
|
data-label="<i class='fa-regular fa-eye-slash align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
|
||||||
|
"eid_verification.hideQR")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<input class="hidden" name="authRequestId" type="hidden"
|
||||||
|
value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="${login.appDataPath}/static/js-code/eid_verification.js" defer>
|
||||||
|
</script>
|
||||||
|
<div id="appSamlRpEntityId" class="hidden" data-value="$gui.getGuiElem('agov.appSamlRpEntityId').value"
|
||||||
|
data-language="$login.language">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#parse("${templatePath}/footer.vm")
|
|
@ -3,7 +3,7 @@
|
||||||
$text.get("footer.text")
|
$text.get("footer.text")
|
||||||
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
|
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
|
||||||
</div>
|
</div>
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="${login.appDataPath}/static/bundle.js"></script>
|
<script src="${login.appDataPath}/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -150,15 +150,15 @@
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="agovLoginImageMobile" class="hidden md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full
|
<div id="agovLoginImageMobile"
|
||||||
mx-auto mb-6">
|
class="hidden max-w-[200px] sm:max-w-full sm:w-full basis-1/2 mx-auto mb-6">
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/login.svg"
|
src="${login.appDataPath}/static/images/login.svg"
|
||||||
class="block sm:hidden md:block dark:hidden w-full">
|
class="block dark:hidden w-full">
|
||||||
|
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/login-dark.svg"
|
src="${login.appDataPath}/static/images/login-dark.svg"
|
||||||
class="dark:sm:hidden dark:md:block hidden dark:block w-full">
|
class="hidden dark:block w-full">
|
||||||
</div>
|
</div>
|
||||||
<div id="QRCodeHolder">
|
<div id="QRCodeHolder">
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
|
@ -242,7 +242,7 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="securityKeyModal" class="hidden mt-16">
|
<div id="securityKeyModal" class="hidden sm:mt-16">
|
||||||
|
|
||||||
<h2 class="font-header text-h5 text-space-blue dark:text-white mt-4 text-center">
|
<h2 class="font-header text-h5 text-space-blue dark:text-white mt-4 text-center">
|
||||||
$text.get("mauth_usernameless.useSecurityKey")
|
$text.get("mauth_usernameless.useSecurityKey")
|
||||||
|
@ -253,7 +253,7 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
accept-charset="UTF-8">
|
accept-charset="UTF-8" class="mb-20 sm:mb-0">
|
||||||
<agov-button
|
<agov-button
|
||||||
class="mb-4 block"
|
class="mb-4 block"
|
||||||
data-name="fallback"
|
data-name="fallback"
|
||||||
|
|
|
@ -82,14 +82,14 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="agovLoginImageMobile"
|
<div id="agovLoginImageMobile"
|
||||||
class="hidden md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full basis-1/2 mx-auto mb-4">
|
class="hidden max-w-[200px] sm:max-w-full sm:w-full basis-1/2 mx-auto mb-4">
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/recovery.svg"
|
src="${login.appDataPath}/static/images/recovery.svg"
|
||||||
class="block sm:hidden md:block dark:hidden w-full">
|
class="block w-full">
|
||||||
|
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/recovery_dark.svg"
|
src="${login.appDataPath}/static/images/recovery_dark.svg"
|
||||||
class="dark:sm:hidden dark:md:block hidden dark:block w-full">
|
class="hidden dark:block w-full">
|
||||||
</div>
|
</div>
|
||||||
<div id="QRCodeHolder">
|
<div id="QRCodeHolder">
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
|
|
|
@ -2,116 +2,151 @@
|
||||||
|
|
||||||
<agov-backdrop></agov-backdrop>
|
<agov-backdrop></agov-backdrop>
|
||||||
<div id="mainContent" class="container mx-auto sm:mt-32 sm:max-w-full flex flex-auto sm:block">
|
<div id="mainContent" class="container mx-auto sm:mt-32 sm:max-w-full flex flex-auto sm:block">
|
||||||
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
|
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
|
||||||
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
|
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
|
||||||
basis-full md:basis-1/2 min-h-[535px]">
|
basis-full md:basis-1/2 min-h-[535px]">
|
||||||
<span id="spinner" class="hidden absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-30">
|
<span id="spinner" class="hidden absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-30">
|
||||||
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
|
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
|
||||||
<img src="${login.appDataPath}/static/images/spinner-dark.svg" class="animate-spin hidden dark:block">
|
<img src="${login.appDataPath}/static/images/spinner-dark.svg" class="animate-spin hidden dark:block">
|
||||||
</span>
|
</span>
|
||||||
<div id="blurBackdrop" class="hidden absolute backdrop-blur-sm -top-1 -bottom-96 -left-4 -right-4 z-20"></div>
|
<div id="blurBackdrop" class="hidden absolute backdrop-blur-sm -top-1 -bottom-96 -left-4 -right-4 z-20"></div>
|
||||||
<div class="flex flex-col gap-8">
|
<div class="flex flex-col gap-8">
|
||||||
<div class="flex items-baseline">
|
<div class="flex items-baseline">
|
||||||
#set($error = $gui.getGuiElem("lasterror"))
|
#set($error = $gui.getGuiElem("lasterror"))
|
||||||
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">
|
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">
|
||||||
$text.get("general.recovery")
|
$text.get("general.recovery")
|
||||||
</h3>
|
</h3>
|
||||||
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">
|
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">
|
||||||
$text.get("general.entryCode")
|
$text.get("general.entryCode")
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
#if (($error.value && $error.value != ""))
|
#if (($error.value && $error.value != ""))
|
||||||
#if (($error.value == "locked"))
|
#if (($error.value == "locked"))
|
||||||
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
||||||
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
<p class="font-body text-body-l text-space-blue dark:text-white">
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
$text.get("recovery_check_code.banner.lockedError")
|
$text.get("recovery_check_code.banner.lockedError")
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.too_many_tries.instruction1")
|
||||||
|
</p>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.too_many_tries.instruction2")
|
||||||
|
</p>
|
||||||
#else
|
#else
|
||||||
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
||||||
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
<p class="font-body text-body-l text-space-blue dark:text-white">
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
$text.get("recovery_check_code.codeIncorrect")
|
$text.get("recovery_check_code.codeIncorrect")
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.instruction")
|
||||||
|
</p>
|
||||||
#end
|
#end
|
||||||
|
#else
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.instruction")
|
||||||
|
</p>
|
||||||
#end
|
#end
|
||||||
<p class="font-body text-body-l text-space-blue dark:text-white">
|
</div>
|
||||||
$text.get("recovery_check_code.instruction")
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
|
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
|
||||||
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
#if (($error.value && $error.value != "locked") || !($error.value))
|
||||||
accept-charset="UTF-8"
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
class="flex flex-col flex-auto block">
|
accept-charset="UTF-8"
|
||||||
<agov-input
|
class="flex flex-col flex-auto block">
|
||||||
id="recovery_code_input"
|
<agov-input
|
||||||
class="py-16"
|
id="recovery_code_input"
|
||||||
data-label="$text.get("recovery_check_code.enterRecoveryCode")"
|
class="py-16"
|
||||||
data-isLabelHidden="true"
|
data-label="$text.get("recovery_check_code.enterRecoveryCode")"
|
||||||
data-placeholder=""
|
data-isLabelHidden="true"
|
||||||
data-id="code"
|
data-placeholder=""
|
||||||
data-name="code"
|
data-id="code"
|
||||||
data-value=""
|
data-name="code"
|
||||||
data-type="text"
|
data-value=""
|
||||||
data-autofocus="true"
|
data-type="text"
|
||||||
data-email_invalid="$text.get("recovery_check_code.invalid.code")"
|
data-autofocus="true"
|
||||||
data-email_too_long="$text.get("recovery_check_code.invalid.code.tooLong")"
|
data-email_invalid="$text.get("recovery_check_code.invalid.code")"
|
||||||
data-email_required="$text.get("recovery_check_code.invalid.code.required")">
|
data-email_too_long="$text.get("recovery_check_code.invalid.code.tooLong")"
|
||||||
</agov-input>
|
data-email_required="$text.get("recovery_check_code.invalid.code.required")">
|
||||||
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
|
</agov-input>
|
||||||
<div class="flex flex-col flex-row-reverse gap-4">
|
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
|
||||||
<agov-button
|
<div class="flex flex-col flex-row-reverse gap-4">
|
||||||
id="recovery_code_btn"
|
<agov-button
|
||||||
class="block basis-full"
|
id="recovery_code_btn"
|
||||||
data-name="confirm"
|
class="block basis-full"
|
||||||
data-value="confirm"
|
data-name="confirm"
|
||||||
data-id="confirm"
|
data-value="confirm"
|
||||||
data-label="$text.get("general.confirm")"
|
data-id="confirm"
|
||||||
data-type="submit"
|
data-label="$text.get("general.confirm")"
|
||||||
data-fullwidth="true">
|
data-type="submit"
|
||||||
</agov-button>
|
data-fullwidth="true">
|
||||||
<agov-button
|
</agov-button>
|
||||||
id="recovery_code_btn_cancel"
|
<agov-button
|
||||||
class="block basis-full"
|
id="recovery_code_btn_cancel"
|
||||||
data-style="frameless"
|
class="block basis-full"
|
||||||
data-name="cancelFido2"
|
data-style="frameless"
|
||||||
data-value="cancelFido2"
|
data-name="cancelFido2"
|
||||||
data-id="cancelFido2"
|
data-value="cancelFido2"
|
||||||
data-label="$text.get("recovery_check_code.noAccess")"
|
data-id="cancelFido2"
|
||||||
data-type="button"
|
data-label="$text.get("recovery_check_code.noAccess")"
|
||||||
data-fullwidth="true"
|
data-type="button"
|
||||||
data-validate="false">
|
data-fullwidth="true"
|
||||||
</agov-button>
|
data-validate="false">
|
||||||
</div>
|
</agov-button>
|
||||||
</div>
|
<input class="hidden" name="authRequestId" type="hidden"
|
||||||
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
|
value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form class="hidden"
|
</form>
|
||||||
id="$gui.name"
|
#else
|
||||||
name="$gui.name"
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
method="POST"
|
accept-charset="UTF-8"
|
||||||
target="_self"
|
class="flex flex-col flex-auto block">
|
||||||
action="$formTarget"
|
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
|
||||||
autocomplete="off"
|
<div class="flex flex-col flex-row-reverse gap-4">
|
||||||
accept-charset="UTF-8">
|
<agov-button
|
||||||
<agov-button
|
id="recovery_code_btn_cancel"
|
||||||
data-name="submit"
|
class="block basis-full"
|
||||||
data-id="submitFormButton"
|
data-name="cancelFido2"
|
||||||
data-value="submit"
|
data-value="cancelFido2"
|
||||||
data-type="submit"
|
data-id="cancelFido2"
|
||||||
data-fullwidth="true">
|
data-label="$text.get("recovery_check_code.noAccess")"
|
||||||
</agov-button>
|
data-type="button"
|
||||||
<input class="hidden" name="no_code" id="noCodeCheckbox" type="checkbox" value="true">
|
data-fullwidth="true"
|
||||||
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
|
data-validate="false">
|
||||||
</form>
|
</agov-button>
|
||||||
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
|
<input class="hidden" name="authRequestId" type="hidden"
|
||||||
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden hidden md:block">
|
value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
|
</div>
|
||||||
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:md:block">
|
</div>
|
||||||
</div>
|
</form>
|
||||||
|
#end
|
||||||
|
</div>
|
||||||
|
<form class="hidden"
|
||||||
|
id="$gui.name"
|
||||||
|
name="$gui.name"
|
||||||
|
method="POST"
|
||||||
|
target="_self"
|
||||||
|
action="$formTarget"
|
||||||
|
autocomplete="off"
|
||||||
|
accept-charset="UTF-8">
|
||||||
|
<agov-button
|
||||||
|
data-name="submit"
|
||||||
|
data-id="submitFormButton"
|
||||||
|
data-value="submit"
|
||||||
|
data-type="submit"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
<input class="hidden" name="no_code" id="noCodeCheckbox" type="checkbox" value="true">
|
||||||
|
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
|
</form>
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
|
||||||
|
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden hidden md:block">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
|
||||||
|
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:md:block">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="${login.appDataPath}/static/js-code/recovery_check_code.js">
|
<script src="${login.appDataPath}/static/js-code/recovery_check_code.js">
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Select language
|
languageDropdown.aria.label=Select language
|
||||||
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
||||||
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
||||||
loainfo.description.400=To access the application we need you to add your AHV Number (Swiss Social Security number).
|
loainfo.description.400=To access the application we need you to add your SSN (AHV) number.
|
||||||
loainfo.helper=Your data needs to be verified!
|
loainfo.helper=Your data needs to be verified!
|
||||||
loainfo.later=Later
|
loainfo.later=Later
|
||||||
loainfo.startNow=Do you want to start the process now?
|
loainfo.startNow=Do you want to start the process now?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=The code is too long
|
||||||
recovery_check_code.noAccess=I do not have access to my code
|
recovery_check_code.noAccess=I do not have access to my code
|
||||||
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
||||||
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=The recovery code you have entered might have expired or you might have tried to enter it too many times.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Please go to AGOV help in order to contact a support agent. They will be able to help you with the recovery process.
|
||||||
recovery_check_noCode.banner.error=Too many attempts.
|
recovery_check_noCode.banner.error=Too many attempts.
|
||||||
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
||||||
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=If you have several login factor
|
||||||
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
||||||
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
||||||
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
||||||
recovery_questionnaire_reason_selection.answer3=I have deleted or reset my AGOV access app
|
recovery_questionnaire_reason_selection.answer3=I have deleted, reinstalled, or reset my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
||||||
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Sprache wählen
|
languageDropdown.aria.label=Sprache wählen
|
||||||
loainfo.description.200=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben verifizieren. Der Vorgang kann bis zu 2 - 3 Tage dauern.
|
loainfo.description.200=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben verifizieren. Der Vorgang kann bis zu 2 - 3 Tage dauern.
|
||||||
loainfo.description.300=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben durch einen von zwei Vorgängen verifizieren. Sie können die bevorzugte Methode im nächsten Schritt auswählen.
|
loainfo.description.300=Um auf diese Applikation zuzugreifen, müssen wir Ihre Angaben durch einen von zwei Vorgängen verifizieren. Sie können die bevorzugte Methode im nächsten Schritt auswählen.
|
||||||
loainfo.description.400=Für den Zugang zu dieser Anwendung müssen Sie Ihre AHV-Nummer angeben.
|
loainfo.description.400=Bitte AHV-Nummer angeben, um auf die Applikation zuzugreifen.
|
||||||
loainfo.helper=Ihre persönlichen Daten müssen überprüft werden!
|
loainfo.helper=Ihre persönlichen Daten müssen überprüft werden!
|
||||||
loainfo.later=Später
|
loainfo.later=Später
|
||||||
loainfo.startNow=Möchten Sie den Prozess jetzt starten?
|
loainfo.startNow=Möchten Sie den Prozess jetzt starten?
|
||||||
|
@ -151,7 +151,7 @@ providePhoneNumber.saveButtonText=Speichern
|
||||||
providePhoneNumber.title=Mobilnummer angeben
|
providePhoneNumber.title=Mobilnummer angeben
|
||||||
recovery_accessapp_auth.accessAppRegistered=AGOV access app schon registriert
|
recovery_accessapp_auth.accessAppRegistered=AGOV access app schon registriert
|
||||||
recovery_accessapp_auth.instruction1=Sie haben bereits eine neue AGOV access App !!!ACCESS_APP_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
recovery_accessapp_auth.instruction1=Sie haben bereits eine neue AGOV access App !!!ACCESS_APP_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
||||||
recovery_accessapp_auth.instruction2=Verwenden Sie !!!ACCESS_APP_NAME!!! um Sie zu identifizieren.
|
recovery_accessapp_auth.instruction2=Verwenden Sie !!!ACCESS_APP_NAME!!! um sich zu identifizieren.
|
||||||
recovery_check_code.banner.lockedError=Zu viele Fehlversuche. Bitte versuchen Sie es in ein paar Minuten noch einmal.
|
recovery_check_code.banner.lockedError=Zu viele Fehlversuche. Bitte versuchen Sie es in ein paar Minuten noch einmal.
|
||||||
recovery_check_code.codeIncorrect=Der eingegebene Code ist nicht korrekt. Bitte versuchen Sie es erneut.
|
recovery_check_code.codeIncorrect=Der eingegebene Code ist nicht korrekt. Bitte versuchen Sie es erneut.
|
||||||
recovery_check_code.enterRecoveryCode=Wiederherstellungscode eingeben
|
recovery_check_code.enterRecoveryCode=Wiederherstellungscode eingeben
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=Eingegebener Code ist zu lang
|
||||||
recovery_check_code.noAccess=Ich kann auf meinen Code nicht zugreifen
|
recovery_check_code.noAccess=Ich kann auf meinen Code nicht zugreifen
|
||||||
recovery_check_code.noCodeAccess=Sind Sie sicher, dass Sie auf Ihren Wiederherstellungscode nicht zugreifen können?
|
recovery_check_code.noCodeAccess=Sind Sie sicher, dass Sie auf Ihren Wiederherstellungscode nicht zugreifen können?
|
||||||
recovery_check_code.noCodeAccessInstructions=Wenn Sie auf Ihren Wiederherstellungscode nicht mehr zugreifen können, gehen Sie bitte zur AGOV-Hilfe, um jemanden vom AGOV-Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
recovery_check_code.noCodeAccessInstructions=Wenn Sie auf Ihren Wiederherstellungscode nicht mehr zugreifen können, gehen Sie bitte zur AGOV-Hilfe, um jemanden vom AGOV-Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Der von Ihnen eingegebene Wiederherstellungscode ist möglicherweise abgelaufen oder Sie haben zu oft versucht, einen Code einzugeben.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Gehen Sie bitte zur AGOV-Hilfe, um jemanden vom Support zu kontaktieren. Die Person wird Sie beim Wiederherstellungsprozess unterstützen.
|
||||||
recovery_check_noCode.banner.error=Zu viele Versuche.
|
recovery_check_noCode.banner.error=Zu viele Versuche.
|
||||||
recovery_check_noCode.instruction1=Möglicherweise haben Sie zu oft versucht, den Wiederherstellungscode einzugeben.
|
recovery_check_noCode.instruction1=Möglicherweise haben Sie zu oft versucht, den Wiederherstellungscode einzugeben.
|
||||||
recovery_check_noCode.instruction2=Bitte schliessen Sie den Webbrowser und starten Sie die Kontowiederherstellung in zehn Minuten erneut auf <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Bitte schliessen Sie den Webbrowser und starten Sie die Kontowiederherstellung in zehn Minuten erneut auf <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -172,7 +174,7 @@ recovery_code.validUntil=Gültig bis:
|
||||||
recovery_fidokey_auth.button=Schlüsselauthentifizierung starten
|
recovery_fidokey_auth.button=Schlüsselauthentifizierung starten
|
||||||
recovery_fidokey_auth.fidoInstruction=Klicken Sie auf "Schlüsselauthentifizierung starten"
|
recovery_fidokey_auth.fidoInstruction=Klicken Sie auf "Schlüsselauthentifizierung starten"
|
||||||
recovery_fidokey_auth.instruction1=Sie haben bereits einen neuen Sicherheitsschlüssel !!!SECURITY_KEY_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
recovery_fidokey_auth.instruction1=Sie haben bereits einen neuen Sicherheitsschlüssel !!!SECURITY_KEY_NAME!!! im Rahmen des Wiederherstellungsprozesses registriert.
|
||||||
recovery_fidokey_auth.instruction2=Bitte verwenden Sie !!!SECURITY_KEY_NAME!!! und befolgen Sie die untenstehenden Schritte, um Sie zu identifizieren.
|
recovery_fidokey_auth.instruction2=Bitte verwenden Sie !!!SECURITY_KEY_NAME!!! und befolgen Sie die untenstehenden Schritte, um sich zu identifizieren.
|
||||||
recovery_fidokey_auth.keyRegistered=Sicherheitsschlüssel schon registriert
|
recovery_fidokey_auth.keyRegistered=Sicherheitsschlüssel schon registriert
|
||||||
recovery_intro_email.banner.error=Der von Ihnen verwendete Link ist abgelaufen. Bitte geben Sie Ihre E-Mail-Adresse ein, um einen neuen Link zu erhalten.
|
recovery_intro_email.banner.error=Der von Ihnen verwendete Link ist abgelaufen. Bitte geben Sie Ihre E-Mail-Adresse ein, um einen neuen Link zu erhalten.
|
||||||
recovery_intro_email.banner.info=Bitte geben Sie Ihre E-Mail-Adresse ein, damit wir Ihnen einen Link schicken können, mit dem Sie den Wiederherstellungsprozess starten.
|
recovery_intro_email.banner.info=Bitte geben Sie Ihre E-Mail-Adresse ein, damit wir Ihnen einen Link schicken können, mit dem Sie den Wiederherstellungsprozess starten.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=Wenn Sie mehrere Loginfaktoren r
|
||||||
recovery_questionnaire_reason_selection.answer1=Ich habe Probleme mich anzumelden, obwohl ich meine App / meinen Sicherheitsschlüssel habe
|
recovery_questionnaire_reason_selection.answer1=Ich habe Probleme mich anzumelden, obwohl ich meine App / meinen Sicherheitsschlüssel habe
|
||||||
recovery_questionnaire_reason_selection.answer10=Ich habe einen meiner Loginfaktoren verloren (AGOV access App oder Sicherheitsschlüssel)
|
recovery_questionnaire_reason_selection.answer10=Ich habe einen meiner Loginfaktoren verloren (AGOV access App oder Sicherheitsschlüssel)
|
||||||
recovery_questionnaire_reason_selection.answer2=Ich konnte meine Registrierung nicht abschliessen
|
recovery_questionnaire_reason_selection.answer2=Ich konnte meine Registrierung nicht abschliessen
|
||||||
recovery_questionnaire_reason_selection.answer3=Ich habe meine AGOV access App gelöscht oder zurückgesetzt
|
recovery_questionnaire_reason_selection.answer3=Ich habe meine AGOV access App gelöscht, neu installiert oder zurückgesetzt
|
||||||
recovery_questionnaire_reason_selection.answer4=Ich habe mein Telefon / Sicherheitsschlüssel verloren
|
recovery_questionnaire_reason_selection.answer4=Ich habe mein Telefon / Sicherheitsschlüssel verloren
|
||||||
recovery_questionnaire_reason_selection.answer5=Ich habe ein neues Telefon und habe vergessen, meine AGOV access App zu übertragen
|
recovery_questionnaire_reason_selection.answer5=Ich habe ein neues Telefon und habe vergessen, meine AGOV access App zu übertragen
|
||||||
recovery_questionnaire_reason_selection.answer6=Ich habe die PIN für meine AGOV access App vergessen
|
recovery_questionnaire_reason_selection.answer6=Ich habe die PIN für meine AGOV access App vergessen
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Select language
|
languageDropdown.aria.label=Select language
|
||||||
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
loainfo.description.200=To access the application, we need to verify your data. The process can take up to 2 - 3 days.
|
||||||
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
loainfo.description.300=To access the application we need to verify your data through one of two processes. You can choose your preferred process in the next step.
|
||||||
loainfo.description.400=To access the application we need you to add your AHV Number (Swiss Social Security number).
|
loainfo.description.400=To access the application we need you to add your SSN (AHV) number.
|
||||||
loainfo.helper=Your data needs to be verified!
|
loainfo.helper=Your data needs to be verified!
|
||||||
loainfo.later=Later
|
loainfo.later=Later
|
||||||
loainfo.startNow=Do you want to start the process now?
|
loainfo.startNow=Do you want to start the process now?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=The code is too long
|
||||||
recovery_check_code.noAccess=I do not have access to my code
|
recovery_check_code.noAccess=I do not have access to my code
|
||||||
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
recovery_check_code.noCodeAccess=Are you sure you don't have access to your recovery code?
|
||||||
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
recovery_check_code.noCodeAccessInstructions=If you have lost access to your recovery code please go to AGOV help in order to contact a AGOV support agent. They will be able to help you with the recovery process.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=The recovery code you have entered might have expired or you might have tried to enter it too many times.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Please go to AGOV help in order to contact a support agent. They will be able to help you with the recovery process.
|
||||||
recovery_check_noCode.banner.error=Too many attempts.
|
recovery_check_noCode.banner.error=Too many attempts.
|
||||||
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
recovery_check_noCode.instruction1=You might have tried to enter the recovery code too many times.
|
||||||
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Please close the web browser and start the account recovery again in ten minutes from <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=If you have several login factor
|
||||||
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
recovery_questionnaire_reason_selection.answer1=I have trouble logging in, even though I have my app / security key
|
||||||
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
recovery_questionnaire_reason_selection.answer10=I lost one of my login factors (AGOV access app or security key)
|
||||||
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
recovery_questionnaire_reason_selection.answer2=I was unable to finish my registration
|
||||||
recovery_questionnaire_reason_selection.answer3=I have deleted or reset my AGOV access app
|
recovery_questionnaire_reason_selection.answer3=I have deleted, reinstalled, or reset my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
recovery_questionnaire_reason_selection.answer4=I have lost my phone / security key
|
||||||
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
recovery_questionnaire_reason_selection.answer5=I have a new phone and forgot to transfer my AGOV access app
|
||||||
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
recovery_questionnaire_reason_selection.answer6=I forgot my PIN for the AGOV access app
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Sélectionner la langue
|
languageDropdown.aria.label=Sélectionner la langue
|
||||||
loainfo.description.200=Pour accéder à l'application, nous devons vérifier vos données. Ce processus peut prendre jusqu'à 2 ou 3 jours.
|
loainfo.description.200=Pour accéder à l'application, nous devons vérifier vos données. Ce processus peut prendre jusqu'à 2 ou 3 jours.
|
||||||
loainfo.description.300=Pour accéder à l'application, nous devons vérifier vos données par le biais de l'une des deux procédures suivantes. Vous pouvez choisir la procédure que vous préférez à l'étape suivante.
|
loainfo.description.300=Pour accéder à l'application, nous devons vérifier vos données par le biais de l'une des deux procédures suivantes. Vous pouvez choisir la procédure que vous préférez à l'étape suivante.
|
||||||
loainfo.description.400=Pour accéder à l'application, vous devez ajouter votre numéro AVS.
|
loainfo.description.400=Veuillez saisir votre numéro AVS pour accéder à l'application.
|
||||||
loainfo.helper=Vos données doivent être vérifiées!
|
loainfo.helper=Vos données doivent être vérifiées!
|
||||||
loainfo.later=Plus tard
|
loainfo.later=Plus tard
|
||||||
loainfo.startNow=Voulez-vous commencer le processus maintenant?
|
loainfo.startNow=Voulez-vous commencer le processus maintenant?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=Le code est trop long
|
||||||
recovery_check_code.noAccess=Je n’ai pas accès à mon code de récupération
|
recovery_check_code.noAccess=Je n’ai pas accès à mon code de récupération
|
||||||
recovery_check_code.noCodeAccess=Êtes-vous sûr de ne pas avoir accès à votre code de récupération ?
|
recovery_check_code.noCodeAccess=Êtes-vous sûr de ne pas avoir accès à votre code de récupération ?
|
||||||
recovery_check_code.noCodeAccessInstructions=En cas de perte de votre code de récupération, veuillez vous rendre sur AGOV help et contacter le service d’assistance AGOV. Un agent pourra vous aider dans le processus de récupération.
|
recovery_check_code.noCodeAccessInstructions=En cas de perte de votre code de récupération, veuillez vous rendre sur AGOV help et contacter le service d’assistance AGOV. Un agent pourra vous aider dans le processus de récupération.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Le code de récupération que vous avez saisi a peut-être expiré ou vous avez peut-être essayé de le saisir trop de fois.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Veuillez vous rendre sur AGOV help et contacter le service d’assistance. Un agent pourra vous aider dans le processus de récupération.
|
||||||
recovery_check_noCode.banner.error=Trop de tentatives.
|
recovery_check_noCode.banner.error=Trop de tentatives.
|
||||||
recovery_check_noCode.instruction1=Vous avez peut-être essayé de saisir le code de récupération trop de fois.
|
recovery_check_noCode.instruction1=Vous avez peut-être essayé de saisir le code de récupération trop de fois.
|
||||||
recovery_check_noCode.instruction2=Veuillez fermer le navigateur web et recommencer la récupération du compte dans dix minutes à partir de <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Veuillez fermer le navigateur web et recommencer la récupération du compte dans dix minutes à partir de <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=Si vous avez enregistré p
|
||||||
recovery_questionnaire_reason_selection.answer1=Je n'arrive pas à me connecter, même si j'ai mon application / ma clé de sécurité
|
recovery_questionnaire_reason_selection.answer1=Je n'arrive pas à me connecter, même si j'ai mon application / ma clé de sécurité
|
||||||
recovery_questionnaire_reason_selection.answer10=J'ai perdu l'un de mes facteurs d'authentification (application AGOV access ou clé de sécurité)
|
recovery_questionnaire_reason_selection.answer10=J'ai perdu l'un de mes facteurs d'authentification (application AGOV access ou clé de sécurité)
|
||||||
recovery_questionnaire_reason_selection.answer2=Je n'ai pas pu terminer mon inscription
|
recovery_questionnaire_reason_selection.answer2=Je n'ai pas pu terminer mon inscription
|
||||||
recovery_questionnaire_reason_selection.answer3=J'ai supprimé ou réinitialisé mon application AGOV access
|
recovery_questionnaire_reason_selection.answer3=J'ai supprimé, réinstallé ou réinitialisé mon application d'accès AGOV
|
||||||
recovery_questionnaire_reason_selection.answer4=J'ai perdu mon téléphone / clé de sécurité
|
recovery_questionnaire_reason_selection.answer4=J'ai perdu mon téléphone / clé de sécurité
|
||||||
recovery_questionnaire_reason_selection.answer5=J'ai un nouveau téléphone et j'ai oublié de transférer mon application AGOV access
|
recovery_questionnaire_reason_selection.answer5=J'ai un nouveau téléphone et j'ai oublié de transférer mon application AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer6=J'ai oublié mon PIN pour l'application AGOV access
|
recovery_questionnaire_reason_selection.answer6=J'ai oublié mon PIN pour l'application AGOV access
|
||||||
|
|
|
@ -84,7 +84,7 @@ language.it=Italiano
|
||||||
languageDropdown.aria.label=Selezionare la lingua
|
languageDropdown.aria.label=Selezionare la lingua
|
||||||
loainfo.description.200=Per accedere all'app è necessaria una verifica dei dati. La procedura può richiedere fino a 2–3 giorni lavorativi.
|
loainfo.description.200=Per accedere all'app è necessaria una verifica dei dati. La procedura può richiedere fino a 2–3 giorni lavorativi.
|
||||||
loainfo.description.300=Per accedere all'app dobbiamo verificare i suoi dati tramite uno dei due processi. Al prossimo passaggio, può selezionare la procedura di verifica desiderata.
|
loainfo.description.300=Per accedere all'app dobbiamo verificare i suoi dati tramite uno dei due processi. Al prossimo passaggio, può selezionare la procedura di verifica desiderata.
|
||||||
loainfo.description.400=Per acceddere all'applicazione deve inserire il numero AVS.
|
loainfo.description.400=Per accedere all'applicazione è necessario inserire il numero AVS.
|
||||||
loainfo.helper=I dati devono essere verificati!
|
loainfo.helper=I dati devono essere verificati!
|
||||||
loainfo.later=Più tardi
|
loainfo.later=Più tardi
|
||||||
loainfo.startNow=Iniziare la procedura?
|
loainfo.startNow=Iniziare la procedura?
|
||||||
|
@ -162,6 +162,8 @@ recovery_check_code.invalid.code.tooLong=Il codice è troppo lungo
|
||||||
recovery_check_code.noAccess=Non ho il mio codice.
|
recovery_check_code.noAccess=Non ho il mio codice.
|
||||||
recovery_check_code.noCodeAccess=Conferma di non avere il codice di ripristino?
|
recovery_check_code.noCodeAccess=Conferma di non avere il codice di ripristino?
|
||||||
recovery_check_code.noCodeAccessInstructions=Se non ha più il codice di ripristino, acceda ad AGOV help per contattare il supporto AGOV, che la assisterà nel processo di ripristino.
|
recovery_check_code.noCodeAccessInstructions=Se non ha più il codice di ripristino, acceda ad AGOV help per contattare il supporto AGOV, che la assisterà nel processo di ripristino.
|
||||||
|
recovery_check_code.too_many_tries.instruction1=Il codice di ripristino inserito può essere scaduto o è stato inserito troppe volte.
|
||||||
|
recovery_check_code.too_many_tries.instruction2=Si prega di andare alla guida di AGOV aiuto per contattare un agente dell'assistenza. Saranno in grado di aiutarla con il processo di recupero.
|
||||||
recovery_check_noCode.banner.error=Troppi tentativi.
|
recovery_check_noCode.banner.error=Troppi tentativi.
|
||||||
recovery_check_noCode.instruction1=Potresti aver tentato di inserire il codice di ripristino troppe volte.
|
recovery_check_noCode.instruction1=Potresti aver tentato di inserire il codice di ripristino troppe volte.
|
||||||
recovery_check_noCode.instruction2=Chiudi il browser web e inizia nuovamente il processo di ripristino dell'account tra dieci minuti da <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
recovery_check_noCode.instruction2=Chiudi il browser web e inizia nuovamente il processo di ripristino dell'account tra dieci minuti da <a class='link' href='https://agov.ch/me'>https://agov.ch/me</a>.
|
||||||
|
@ -198,7 +200,7 @@ recovery_questionnaire_no_recovery.instruction2=Se ha registrato più fatt
|
||||||
recovery_questionnaire_reason_selection.answer1=Ho problemi ad accedere, anche se ho la mia app/chiave di sicurezza
|
recovery_questionnaire_reason_selection.answer1=Ho problemi ad accedere, anche se ho la mia app/chiave di sicurezza
|
||||||
recovery_questionnaire_reason_selection.answer10=Ho perso uno dei miei fattori di accesso (app AGOV access o chiave di sicurezza)
|
recovery_questionnaire_reason_selection.answer10=Ho perso uno dei miei fattori di accesso (app AGOV access o chiave di sicurezza)
|
||||||
recovery_questionnaire_reason_selection.answer2=Non sono riuscito a completare la registrazione
|
recovery_questionnaire_reason_selection.answer2=Non sono riuscito a completare la registrazione
|
||||||
recovery_questionnaire_reason_selection.answer3=Ho eliminato o reimpostato la mia app AGOV access
|
recovery_questionnaire_reason_selection.answer3=Ho eliminato, reinstallato o reimpostato la mia app AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer4=Ho perso il telefono/la chiave di sicurezza
|
recovery_questionnaire_reason_selection.answer4=Ho perso il telefono/la chiave di sicurezza
|
||||||
recovery_questionnaire_reason_selection.answer5=Ho un nuovo telefono e ho dimenticato di trasferire la mia app AGOV access
|
recovery_questionnaire_reason_selection.answer5=Ho un nuovo telefono e ho dimenticato di trasferire la mia app AGOV access
|
||||||
recovery_questionnaire_reason_selection.answer6=Ho dimenticato il PIN dell'app AGOV access
|
recovery_questionnaire_reason_selection.answer6=Ho dimenticato il PIN dell'app AGOV access
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function dispatchLink() {
|
function dispatchLink() {
|
||||||
|
|
||||||
document.getElementById("mauth_started").style.display = "block"; // show
|
document.getElementById("mauth_started").style.display = "block"; // show
|
||||||
|
@ -55,9 +61,7 @@
|
||||||
});
|
});
|
||||||
var sessionId = o.sessionId;
|
var sessionId = o.sessionId;
|
||||||
console.log("started polling for session ID: " + sessionId);
|
console.log("started polling for session ID: " + sessionId);
|
||||||
statusPolling = window.setInterval(function () {
|
poll(sessionId);
|
||||||
poll(sessionId);
|
|
||||||
}, 2000);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log("authentication failed: " + o.dispatchResult);
|
console.log("authentication failed: " + o.dispatchResult);
|
||||||
|
@ -70,21 +74,36 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll(sessionId) {
|
function poll(sessionId) {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
|
||||||
const request = {};
|
isPolling = true;
|
||||||
request.fidoUafSessionId = sessionId;
|
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const request = { fidoUafSessionId: sessionId };
|
||||||
fetch("", {
|
|
||||||
|
const fetchRequest = fetch("", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientAuthenticating') {
|
if (status == 'clientAuthenticating') {
|
||||||
// show process icon
|
// show process icon
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
|
@ -99,20 +118,24 @@
|
||||||
addInput(form, "continue", "true"); // required for custom dispatching in usernameless
|
addInput(form, "continue", "true"); // required for custom dispatching in usernameless
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("authentication failed with status: " + status);
|
console.error("authentication failed with status: " + status);
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafSessionId", sessionId);
|
addInput(form, "fidoUafSessionId", sessionId);
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(sessionId), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatchLink();
|
dispatchLink();
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function renderEnrollment() {
|
function renderEnrollment() {
|
||||||
|
|
||||||
// link is provided by a hidden GuiElem
|
// link is provided by a hidden GuiElem
|
||||||
|
@ -52,44 +58,53 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll() {
|
function poll() {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
|
||||||
|
isPolling = true;
|
||||||
|
|
||||||
// state is held on backend side
|
// state is held on backend side
|
||||||
const request = {};
|
const request = {};
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const fetchRequest = fetch("", {
|
||||||
fetch("", {
|
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientRegistering') {
|
if (status == 'clientRegistering') {
|
||||||
|
|
||||||
// show process icon
|
// show process icon
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
|
|
||||||
// hide QR-code and information
|
// hide QR-code and information
|
||||||
document.getElementById("mauth_qrcode").style.display = 'none';
|
document.getElementById("mauth_qrcode").style.display = 'none';
|
||||||
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
||||||
}
|
} else if (status == 'succeeded') {
|
||||||
else if (status == 'succeeded') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("onboarding successful");
|
console.log("onboarding successful");
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("onboarding failed with status: " + status);
|
console.error("onboarding failed with status: " + status);
|
||||||
|
|
||||||
|
@ -98,8 +113,15 @@
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
renderEnrollment();
|
renderEnrollment();
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function dispatch(id) {
|
function dispatch(id) {
|
||||||
|
|
||||||
document.getElementById("mauth_devices").style.display = "none"; // hide selection menu
|
document.getElementById("mauth_devices").style.display = "none"; // hide selection menu
|
||||||
|
@ -70,9 +76,7 @@
|
||||||
});
|
});
|
||||||
var sessionId = o.sessionId;
|
var sessionId = o.sessionId;
|
||||||
console.log("started polling for session ID: " + sessionId);
|
console.log("started polling for session ID: " + sessionId);
|
||||||
statusPolling = window.setInterval(function () {
|
poll(sessionId);
|
||||||
poll(sessionId);
|
|
||||||
}, 2000);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log("authentication failed: " + o.dispatchResult);
|
console.log("authentication failed: " + o.dispatchResult);
|
||||||
|
@ -125,47 +129,64 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll(sessionId) {
|
function poll(sessionId) {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
isPolling = true;
|
||||||
|
|
||||||
const request = {};
|
const request = { fidoUafSessionId: sessionId };
|
||||||
request.fidoUafSessionId = sessionId;
|
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const fetchRequest = fetch("", {
|
||||||
fetch("", {
|
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientAuthenticating') {
|
if (status == 'clientAuthenticating') {
|
||||||
document.getElementById("mauth_qrcode").style.display = 'none';
|
document.getElementById("mauth_qrcode").style.display = 'none';
|
||||||
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
document.getElementById("mauth_qrcode_info").style.display = 'none';
|
||||||
document.getElementById("mauth_match_numbers").style.display = 'block';
|
document.getElementById("mauth_match_numbers").style.display = 'block';
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status == 'succeeded') {
|
if (status == 'succeeded') {
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("authentication failed with status: " + status);
|
console.error("authentication failed with status: " + status);
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafSessionId", sessionId);
|
addInput(form, "fidoUafSessionId", sessionId);
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(sessionId), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
renderDeviceList();
|
renderDeviceList();
|
||||||
|
|
|
@ -16,6 +16,12 @@
|
||||||
|
|
||||||
let statusPolling;
|
let statusPolling;
|
||||||
|
|
||||||
|
let isPolling = false;
|
||||||
|
let pollingTimeout = null;
|
||||||
|
|
||||||
|
const POLLING_INTERVAL = 2000;
|
||||||
|
const REQUEST_TIMEOUT = 3000;
|
||||||
|
|
||||||
function dispatch() {
|
function dispatch() {
|
||||||
|
|
||||||
console.log("initiating usernameless mobile authentication...");
|
console.log("initiating usernameless mobile authentication...");
|
||||||
|
@ -58,9 +64,7 @@
|
||||||
});
|
});
|
||||||
var sessionId = o.sessionId;
|
var sessionId = o.sessionId;
|
||||||
console.log("started polling for session ID: " + sessionId);
|
console.log("started polling for session ID: " + sessionId);
|
||||||
statusPolling = window.setInterval(function () {
|
poll(sessionId);
|
||||||
poll(sessionId);
|
|
||||||
}, 2000);
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
console.log("authentication failed: " + o.dispatchResult);
|
console.log("authentication failed: " + o.dispatchResult);
|
||||||
|
@ -73,46 +77,66 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
function poll(sessionId) {
|
function poll(sessionId) {
|
||||||
|
if (isPolling) {
|
||||||
|
return; // Exit if a polling request is already ongoing
|
||||||
|
}
|
||||||
|
|
||||||
const request = {};
|
isPolling = true;
|
||||||
request.fidoUafSessionId = sessionId;
|
|
||||||
|
|
||||||
// calling nevisFIDO through nevisAuth on current URL using AJAX
|
const request = { fidoUafSessionId: sessionId };
|
||||||
fetch("", {
|
|
||||||
|
const fetchRequest = fetch("", {
|
||||||
method: "POST",
|
method: "POST",
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(request)
|
body: JSON.stringify(request)
|
||||||
}).then(res => {
|
});
|
||||||
res.json().then(o => {
|
|
||||||
|
// Set up the timeout for the fetch request
|
||||||
|
const timeoutPromise = new Promise((_, reject) => {
|
||||||
|
pollingTimeout = setTimeout(() => {
|
||||||
|
reject(new Error('Request timed out'));
|
||||||
|
}, REQUEST_TIMEOUT);
|
||||||
|
});
|
||||||
|
|
||||||
|
Promise.race([fetchRequest, timeoutPromise])
|
||||||
|
.then(res => res.json())
|
||||||
|
.then(o => {
|
||||||
|
clearTimeout(pollingTimeout);
|
||||||
var status = o.status;
|
var status = o.status;
|
||||||
console.log("status: " + status);
|
console.log("status: " + status);
|
||||||
|
|
||||||
if (status == 'clientAuthenticating') {
|
if (status == 'clientAuthenticating') {
|
||||||
document.getElementById("mauth_qrcode").style.display = 'none';
|
// show process icon
|
||||||
document.getElementById("mauth_loading").style.display = 'block';
|
document.getElementById("mauth_loading").style.display = 'block';
|
||||||
|
document.getElementById("mauth_qrcode").style.display = 'none';
|
||||||
}
|
}
|
||||||
if (status == 'succeeded') {
|
if (status == 'succeeded') {
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafDone", "true"); // checked by Groovy script
|
addInput(form, "continue", "true"); // required for custom dispatching in usernameless
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
} else if (status == 'failed' || status == 'unknown') {
|
||||||
else if (status == 'failed' || status == 'unknown') {
|
|
||||||
|
|
||||||
clearInterval(statusPolling);
|
clearInterval(statusPolling);
|
||||||
console.error("authentication failed with status: " + status);
|
console.error("authentication failed with status: " + status);
|
||||||
|
|
||||||
// as this is the last call we have to do a top-level request instead of AJAX
|
// as this is the last call we have to do a top-level request instead of AJAX
|
||||||
const form = createForm();
|
const form = createForm();
|
||||||
addInput(form, "fidoUafSessionId", sessionId); // checked by Groovy script
|
addInput(form, "fidoUafSessionId", sessionId);
|
||||||
document.body.appendChild(form);
|
document.body.appendChild(form);
|
||||||
form.submit();
|
form.submit();
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
.catch((err) => {
|
||||||
|
console.error("error:", err);
|
||||||
|
})
|
||||||
|
.finally(() => {
|
||||||
|
isPolling = false;
|
||||||
|
// Schedule the next poll if needed
|
||||||
|
setTimeout(() => poll(sessionId), POLLING_INTERVAL);
|
||||||
});
|
});
|
||||||
}).catch((err) => console.error("error: ", err));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
dispatch();
|
dispatch();
|
||||||
|
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,4 @@
|
||||||
|
document.addEventListener('DOMContentLoaded', function() {
|
||||||
|
document.dispatchEvent(new Event('initEidVerification'));
|
||||||
|
document.dispatchEvent(new Event('initCantonalBranding'));
|
||||||
|
});
|
File diff suppressed because one or more lines are too long
|
@ -0,0 +1,3 @@
|
||||||
|
module.exports = {
|
||||||
|
...require('./mock-defaults')
|
||||||
|
};
|
|
@ -0,0 +1,224 @@
|
||||||
|
#parse("${templatePath}/header.vm")
|
||||||
|
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
|
||||||
|
|
||||||
|
<agov-backdrop></agov-backdrop>
|
||||||
|
<div id="mainContent" class="container mx-auto sm:mt-2 sm:max-w-full flex h-full sm:h-auto">
|
||||||
|
<div class="flex flex-col items-start gap-4 w-full rounded-[36px] sm:p-6 mx-auto
|
||||||
|
max-w-[600px] md:max-w-[1200px] sm:bg-lily-blue dark:sm:bg-purple-black">
|
||||||
|
|
||||||
|
<div id="cantonalBranding"
|
||||||
|
class="flex items-center rounded-xl gap-5 p-2 sm:p-0 sm:w-auto w-full hidden bg-pale-blue dark:bg-purple-black sm:bg-transparent">
|
||||||
|
<div class="flex items-center p-2 bg-white rounded sm:rounded-xl w-16 h-16" id="logo"></div>
|
||||||
|
<h1 class="font-header text-h6 sm:text-h4 text-space-blue dark:text-white">
|
||||||
|
#if ($login.language =="en")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameEN').value)
|
||||||
|
#elseif ($login.language =="de")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameDE').value)
|
||||||
|
#elseif ($login.language =="fr")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameFR').value)
|
||||||
|
#else
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameIT').value)
|
||||||
|
#end
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-col md:flex-row w-full gap-6">
|
||||||
|
<div id="registerCard" class="w-full md:min-h-[689px] flex flex-col justify-between">
|
||||||
|
<div id="swiyuLoginImage"
|
||||||
|
class="relative md:max-w-[520px] max-w-[350px] sm:max-w-[300px] mb-10 w-full mx-auto hidden md:block">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/login.svg"
|
||||||
|
class="hidden md:block dark:hidden w-full">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/login-dark.svg"
|
||||||
|
class="hidden md:hidden dark:md:block w-full">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="loginModal"
|
||||||
|
class="flex flex-col bg-white dark:bg-surface-black rounded-[20px] sm:min-h-[700px] p-6 sm:pb-8 sm:pt-10 sm:px-10
|
||||||
|
max-w-[550px] w-full">
|
||||||
|
|
||||||
|
<div class="flex mb-4 sm:mb-6 items-baseline">
|
||||||
|
<h1 class="font-header text-h4 text-space-blue dark:text-white mr-3">$text.get("eid_verification.login")</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="cantonalBrandingMobile"
|
||||||
|
class="flex items-center rounded-xl gap-5 mb-4 p-2 sm:p-0 sm:w-auto w-full hidden bg-pale-blue dark:bg-purple-black sm:bg-transparent">
|
||||||
|
<div class="flex items-center p-2 bg-white dark:bg-black rounded sm:rounded-xl w-16 h-16"
|
||||||
|
id="logoMobile"></div>
|
||||||
|
<h1 class="font-header text-h6 sm:text-h4 text-space-blue dark:text-white">
|
||||||
|
#if ($login.language =="en")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameEN').value)
|
||||||
|
#elseif ($login.language =="de")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameDE').value)
|
||||||
|
#elseif ($login.language =="fr")
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameFR').value)
|
||||||
|
#else
|
||||||
|
$utils.escapeHtmlAttribute($gui.getGuiElem('agov.appDisplayNameIT').value)
|
||||||
|
#end
|
||||||
|
</h1>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div id="swiyuWalletAppModal" class="h-full">
|
||||||
|
|
||||||
|
<div class="desktopBanner" aria-live="assertive">
|
||||||
|
<div class="hidden info flex rounded-xl bg-info-background dark:bg-dark-info-background items-center p-4
|
||||||
|
mb-4">
|
||||||
|
<i class="fa-regular fa-info-circle rounded-full p-3 text-info dark:text-dark-info bg-info/10 dark:bg-dark-info-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.info")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden success flex rounded-xl bg-success-background dark:bg-dark-success-background
|
||||||
|
items-center p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-check-circle rounded-full p-3 text-success dark:text-dark-success bg-success/10 dark:bg-dark-success-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.success")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center
|
||||||
|
p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.error")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="relative flex flex-col h-full">
|
||||||
|
<div id="blurBackdrop" class="hidden absolute backdrop-blur-sm -top-1 -bottom-8 -left-4 -right-4
|
||||||
|
z-10"></div>
|
||||||
|
<div class="mobileBanner relative z-20" aria-live="assertive">
|
||||||
|
<div class="hidden info flex rounded-xl bg-info-background dark:bg-dark-info-background items-center
|
||||||
|
p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-info-circle rounded-full p-3 text-info dark:text-dark-info bg-info/10 dark:bg-dark-info-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.info")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden success flex rounded-xl bg-success-background dark:bg-dark-success-background
|
||||||
|
items-center p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-check-circle rounded-full p-3 text-success dark:text-dark-success bg-success/10 dark:bg-dark-success-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.success")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="hidden error flex rounded-xl bg-error-background dark:bg-dark-error-background
|
||||||
|
items-center p-4 mb-4">
|
||||||
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.banner.error")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div id="swiyuLoginImageMobile"
|
||||||
|
class="hidden max-w-[200px] sm:max-w-full sm:w-full basis-1/2 mx-auto mb-6">
|
||||||
|
<img alt=""
|
||||||
|
src="${login.appDataPath}/static/images/login.svg"
|
||||||
|
class="block dark:hidden w-full">
|
||||||
|
|
||||||
|
<img alt=""
|
||||||
|
src="${login.appDataPath}/static/images/login-dark.svg"
|
||||||
|
class="hidden dark:block w-full">
|
||||||
|
</div>
|
||||||
|
<div id="QRCodeHolder">
|
||||||
|
<div class="relative">
|
||||||
|
<canvas role="img" aria-labelledby="labelQRCodeInstructions" id="swiyu_qrcode"
|
||||||
|
class="mb-6 mx-auto"></canvas>
|
||||||
|
<div class="hidden" id="QRcodeHiddenLink"></div>
|
||||||
|
<span id="spinner" class="hidden absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2
|
||||||
|
z-20">
|
||||||
|
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
|
||||||
|
<img src="${login.appDataPath}/static/images/spinner-dark.svg"
|
||||||
|
class="animate-spin hidden dark:block">
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<a id="swiyuWalletAppLinkIpad" href="" class="hidden">
|
||||||
|
<agov-button
|
||||||
|
class="block basis-full mb-6"
|
||||||
|
data-name="swiyuWalletApp"
|
||||||
|
data-value="swiyuWalletApp"
|
||||||
|
data-id="swiyuWalletAppIpad"
|
||||||
|
data-label="$text.get("general.goSwiyuWalletApp")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
</a>
|
||||||
|
|
||||||
|
<div class="swiyuWalletAppInstructions flex bg-indigo-light rounded-xl p-4 mb-2 items-center
|
||||||
|
dark:bg-purple-black">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/access-app.svg" class="h-12 mr-4">
|
||||||
|
<p id="labelQRCodeInstructions" class="font-header text-h5 text-space-blue dark:text-white">
|
||||||
|
$text.get("eid_verification.instructions")
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
|
accept-charset="UTF-8" class="w-full sm:static mt-auto mb-20 sm:mb-0">
|
||||||
|
|
||||||
|
<div id="mobileButtons" class="hidden w-full">
|
||||||
|
<div class="flex flex-col">
|
||||||
|
<a id="swiyuWalletAppLink" href="">
|
||||||
|
<agov-button
|
||||||
|
class="block basis-full mb-4"
|
||||||
|
data-name="swiyuWalletApp"
|
||||||
|
data-value="swiyuWalletApp"
|
||||||
|
data-id="swiyuWalletApp"
|
||||||
|
data-label="$text.get("general.goSwiyuWalletApp")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
</a>
|
||||||
|
<agov-button
|
||||||
|
id="showQR"
|
||||||
|
class="block basis-full"
|
||||||
|
data-style="frameless"
|
||||||
|
data-name="EID"
|
||||||
|
data-value="EID"
|
||||||
|
data-id="EID"
|
||||||
|
data-label="<i class='fa-regular fa-eye align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
|
||||||
|
"eid_verification.showQR")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
|
||||||
|
<agov-button
|
||||||
|
id="hideQR"
|
||||||
|
class="hidden basis-full"
|
||||||
|
data-style="frameless"
|
||||||
|
data-name="EID"
|
||||||
|
data-value="EID"
|
||||||
|
data-id="EID"
|
||||||
|
data-label="<i class='fa-regular fa-eye-slash align-middle text-xl text-indigo dark:text-lilac mr-2'></i>$text.get(
|
||||||
|
"eid_verification.hideQR")"
|
||||||
|
data-type="button"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<input class="hidden" name="authRequestId" type="hidden"
|
||||||
|
value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<script src="${login.appDataPath}/static/js-code/eid_verification.js" defer>
|
||||||
|
</script>
|
||||||
|
<div id="appSamlRpEntityId" class="hidden" data-value="$gui.getGuiElem('agov.appSamlRpEntityId').value"
|
||||||
|
data-language="$login.language">
|
||||||
|
</div>
|
||||||
|
|
||||||
|
#parse("${templatePath}/footer.vm")
|
|
@ -3,7 +3,7 @@
|
||||||
$text.get("footer.text")
|
$text.get("footer.text")
|
||||||
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
|
<a target="_blank" class='text-hyperlink dark:text-dark-hyperlink underline' href='$text.get("footer.link")'>$text.get("footer.link.label")</a>
|
||||||
</div>
|
</div>
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="${login.appDataPath}/static/bundle.js"></script>
|
<script src="${login.appDataPath}/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -150,15 +150,15 @@
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="agovLoginImageMobile" class="hidden md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full
|
<div id="agovLoginImageMobile"
|
||||||
mx-auto mb-6">
|
class="hidden max-w-[200px] sm:max-w-full sm:w-full basis-1/2 mx-auto mb-6">
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/login.svg"
|
src="${login.appDataPath}/static/images/login.svg"
|
||||||
class="block sm:hidden md:block dark:hidden w-full">
|
class="block dark:hidden w-full">
|
||||||
|
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/login-dark.svg"
|
src="${login.appDataPath}/static/images/login-dark.svg"
|
||||||
class="dark:sm:hidden dark:md:block hidden dark:block w-full">
|
class="hidden dark:block w-full">
|
||||||
</div>
|
</div>
|
||||||
<div id="QRCodeHolder">
|
<div id="QRCodeHolder">
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
|
@ -242,7 +242,7 @@
|
||||||
</form>
|
</form>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="securityKeyModal" class="hidden mt-16">
|
<div id="securityKeyModal" class="hidden sm:mt-16">
|
||||||
|
|
||||||
<h2 class="font-header text-h5 text-space-blue dark:text-white mt-4 text-center">
|
<h2 class="font-header text-h5 text-space-blue dark:text-white mt-4 text-center">
|
||||||
$text.get("mauth_usernameless.useSecurityKey")
|
$text.get("mauth_usernameless.useSecurityKey")
|
||||||
|
@ -253,7 +253,7 @@
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
accept-charset="UTF-8">
|
accept-charset="UTF-8" class="mb-20 sm:mb-0">
|
||||||
<agov-button
|
<agov-button
|
||||||
class="mb-4 block"
|
class="mb-4 block"
|
||||||
data-name="fallback"
|
data-name="fallback"
|
||||||
|
|
|
@ -82,14 +82,14 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="agovLoginImageMobile"
|
<div id="agovLoginImageMobile"
|
||||||
class="hidden md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full basis-1/2 mx-auto mb-4">
|
class="hidden max-w-[200px] sm:max-w-full sm:w-full basis-1/2 mx-auto mb-4">
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/recovery.svg"
|
src="${login.appDataPath}/static/images/recovery.svg"
|
||||||
class="block sm:hidden md:block dark:hidden w-full">
|
class="block w-full">
|
||||||
|
|
||||||
<img alt=""
|
<img alt=""
|
||||||
src="${login.appDataPath}/static/images/recovery_dark.svg"
|
src="${login.appDataPath}/static/images/recovery_dark.svg"
|
||||||
class="dark:sm:hidden dark:md:block hidden dark:block w-full">
|
class="hidden dark:block w-full">
|
||||||
</div>
|
</div>
|
||||||
<div id="QRCodeHolder">
|
<div id="QRCodeHolder">
|
||||||
<div class="relative">
|
<div class="relative">
|
||||||
|
|
|
@ -2,116 +2,151 @@
|
||||||
|
|
||||||
<agov-backdrop></agov-backdrop>
|
<agov-backdrop></agov-backdrop>
|
||||||
<div id="mainContent" class="container mx-auto sm:mt-32 sm:max-w-full flex flex-auto sm:block">
|
<div id="mainContent" class="container mx-auto sm:mt-32 sm:max-w-full flex flex-auto sm:block">
|
||||||
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
|
<div class="flex flex-col-reverse sm:flex-row justify-evenly items-center gap-5 w-full">
|
||||||
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
|
<div class="flex flex-col sm:bg-white sm:dark:bg-surface-black rounded-[20px] sm:px-10 sm:py-10 max-w-[550px] w-full
|
||||||
basis-full md:basis-1/2 min-h-[535px]">
|
basis-full md:basis-1/2 min-h-[535px]">
|
||||||
<span id="spinner" class="hidden absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-30">
|
<span id="spinner" class="hidden absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 z-30">
|
||||||
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
|
<img src="${login.appDataPath}/static/images/spinner.svg" class="animate-spin block dark:hidden">
|
||||||
<img src="${login.appDataPath}/static/images/spinner-dark.svg" class="animate-spin hidden dark:block">
|
<img src="${login.appDataPath}/static/images/spinner-dark.svg" class="animate-spin hidden dark:block">
|
||||||
</span>
|
</span>
|
||||||
<div id="blurBackdrop" class="hidden absolute backdrop-blur-sm -top-1 -bottom-96 -left-4 -right-4 z-20"></div>
|
<div id="blurBackdrop" class="hidden absolute backdrop-blur-sm -top-1 -bottom-96 -left-4 -right-4 z-20"></div>
|
||||||
<div class="flex flex-col gap-8">
|
<div class="flex flex-col gap-8">
|
||||||
<div class="flex items-baseline">
|
<div class="flex items-baseline">
|
||||||
#set($error = $gui.getGuiElem("lasterror"))
|
#set($error = $gui.getGuiElem("lasterror"))
|
||||||
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">
|
<h3 class="font-header text-h3 text-space-blue dark:text-white mr-3">
|
||||||
$text.get("general.recovery")
|
$text.get("general.recovery")
|
||||||
</h3>
|
</h3>
|
||||||
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">
|
<h4 class="font-header text-h4 text-disabled-grey dark:text-silver">
|
||||||
$text.get("general.entryCode")
|
$text.get("general.entryCode")
|
||||||
</h4>
|
</h4>
|
||||||
</div>
|
</div>
|
||||||
#if (($error.value && $error.value != ""))
|
#if (($error.value && $error.value != ""))
|
||||||
#if (($error.value == "locked"))
|
#if (($error.value == "locked"))
|
||||||
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
||||||
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
<p class="font-body text-body-l text-space-blue dark:text-white">
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
$text.get("recovery_check_code.banner.lockedError")
|
$text.get("recovery_check_code.banner.lockedError")
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.too_many_tries.instruction1")
|
||||||
|
</p>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.too_many_tries.instruction2")
|
||||||
|
</p>
|
||||||
#else
|
#else
|
||||||
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
<div class="error flex rounded-xl bg-error-background dark:bg-dark-error-background items-center p-4">
|
||||||
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
<i class="fa-regular fa-exclamation-circle rounded-full p-3 text-error dark:text-dark-error bg-error/10 dark:bg-dark-error-icon mr-4 text-xl leading-none"></i>
|
||||||
<p class="font-body text-body-l text-space-blue dark:text-white">
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
$text.get("recovery_check_code.codeIncorrect")
|
$text.get("recovery_check_code.codeIncorrect")
|
||||||
</p>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.instruction")
|
||||||
|
</p>
|
||||||
#end
|
#end
|
||||||
|
#else
|
||||||
|
<p class="font-body text-body-l text-space-blue dark:text-white">
|
||||||
|
$text.get("recovery_check_code.instruction")
|
||||||
|
</p>
|
||||||
#end
|
#end
|
||||||
<p class="font-body text-body-l text-space-blue dark:text-white">
|
</div>
|
||||||
$text.get("recovery_check_code.instruction")
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
|
#set ($formTarget = $utils.escapeHtmlAttribute($gui.target.replaceAll('&?language=[^&]*','')))
|
||||||
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
#if (($error.value && $error.value != "locked") || !($error.value))
|
||||||
accept-charset="UTF-8"
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
class="flex flex-col flex-auto block">
|
accept-charset="UTF-8"
|
||||||
<agov-input
|
class="flex flex-col flex-auto block">
|
||||||
id="recovery_code_input"
|
<agov-input
|
||||||
class="py-16"
|
id="recovery_code_input"
|
||||||
data-label="$text.get("recovery_check_code.enterRecoveryCode")"
|
class="py-16"
|
||||||
data-isLabelHidden="true"
|
data-label="$text.get("recovery_check_code.enterRecoveryCode")"
|
||||||
data-placeholder=""
|
data-isLabelHidden="true"
|
||||||
data-id="code"
|
data-placeholder=""
|
||||||
data-name="code"
|
data-id="code"
|
||||||
data-value=""
|
data-name="code"
|
||||||
data-type="text"
|
data-value=""
|
||||||
data-autofocus="true"
|
data-type="text"
|
||||||
data-email_invalid="$text.get("recovery_check_code.invalid.code")"
|
data-autofocus="true"
|
||||||
data-email_too_long="$text.get("recovery_check_code.invalid.code.tooLong")"
|
data-email_invalid="$text.get("recovery_check_code.invalid.code")"
|
||||||
data-email_required="$text.get("recovery_check_code.invalid.code.required")">
|
data-email_too_long="$text.get("recovery_check_code.invalid.code.tooLong")"
|
||||||
</agov-input>
|
data-email_required="$text.get("recovery_check_code.invalid.code.required")">
|
||||||
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
|
</agov-input>
|
||||||
<div class="flex flex-col flex-row-reverse gap-4">
|
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
|
||||||
<agov-button
|
<div class="flex flex-col flex-row-reverse gap-4">
|
||||||
id="recovery_code_btn"
|
<agov-button
|
||||||
class="block basis-full"
|
id="recovery_code_btn"
|
||||||
data-name="confirm"
|
class="block basis-full"
|
||||||
data-value="confirm"
|
data-name="confirm"
|
||||||
data-id="confirm"
|
data-value="confirm"
|
||||||
data-label="$text.get("general.confirm")"
|
data-id="confirm"
|
||||||
data-type="submit"
|
data-label="$text.get("general.confirm")"
|
||||||
data-fullwidth="true">
|
data-type="submit"
|
||||||
</agov-button>
|
data-fullwidth="true">
|
||||||
<agov-button
|
</agov-button>
|
||||||
id="recovery_code_btn_cancel"
|
<agov-button
|
||||||
class="block basis-full"
|
id="recovery_code_btn_cancel"
|
||||||
data-style="frameless"
|
class="block basis-full"
|
||||||
data-name="cancelFido2"
|
data-style="frameless"
|
||||||
data-value="cancelFido2"
|
data-name="cancelFido2"
|
||||||
data-id="cancelFido2"
|
data-value="cancelFido2"
|
||||||
data-label="$text.get("recovery_check_code.noAccess")"
|
data-id="cancelFido2"
|
||||||
data-type="button"
|
data-label="$text.get("recovery_check_code.noAccess")"
|
||||||
data-fullwidth="true"
|
data-type="button"
|
||||||
data-validate="false">
|
data-fullwidth="true"
|
||||||
</agov-button>
|
data-validate="false">
|
||||||
</div>
|
</agov-button>
|
||||||
</div>
|
<input class="hidden" name="authRequestId" type="hidden"
|
||||||
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
|
value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
</form>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<form class="hidden"
|
</form>
|
||||||
id="$gui.name"
|
#else
|
||||||
name="$gui.name"
|
<form id="$gui.name" name="$gui.name" method="POST" target="_self" action="$formTarget" autocomplete="off"
|
||||||
method="POST"
|
accept-charset="UTF-8"
|
||||||
target="_self"
|
class="flex flex-col flex-auto block">
|
||||||
action="$formTarget"
|
<div class="w-full sm:static mt-auto mb-6 sm:mb-0">
|
||||||
autocomplete="off"
|
<div class="flex flex-col flex-row-reverse gap-4">
|
||||||
accept-charset="UTF-8">
|
<agov-button
|
||||||
<agov-button
|
id="recovery_code_btn_cancel"
|
||||||
data-name="submit"
|
class="block basis-full"
|
||||||
data-id="submitFormButton"
|
data-name="cancelFido2"
|
||||||
data-value="submit"
|
data-value="cancelFido2"
|
||||||
data-type="submit"
|
data-id="cancelFido2"
|
||||||
data-fullwidth="true">
|
data-label="$text.get("recovery_check_code.noAccess")"
|
||||||
</agov-button>
|
data-type="button"
|
||||||
<input class="hidden" name="no_code" id="noCodeCheckbox" type="checkbox" value="true">
|
data-fullwidth="true"
|
||||||
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
|
data-validate="false">
|
||||||
</form>
|
</agov-button>
|
||||||
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
|
<input class="hidden" name="authRequestId" type="hidden"
|
||||||
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden hidden md:block">
|
value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
|
</div>
|
||||||
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:md:block">
|
</div>
|
||||||
</div>
|
</form>
|
||||||
|
#end
|
||||||
|
</div>
|
||||||
|
<form class="hidden"
|
||||||
|
id="$gui.name"
|
||||||
|
name="$gui.name"
|
||||||
|
method="POST"
|
||||||
|
target="_self"
|
||||||
|
action="$formTarget"
|
||||||
|
autocomplete="off"
|
||||||
|
accept-charset="UTF-8">
|
||||||
|
<agov-button
|
||||||
|
data-name="submit"
|
||||||
|
data-id="submitFormButton"
|
||||||
|
data-value="submit"
|
||||||
|
data-type="submit"
|
||||||
|
data-fullwidth="true">
|
||||||
|
</agov-button>
|
||||||
|
<input class="hidden" name="no_code" id="noCodeCheckbox" type="checkbox" value="true">
|
||||||
|
<input class="hidden" name="authRequestId" type="hidden" value="$gui.getGuiElem('authRequestId').value"/>
|
||||||
|
</form>
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/recovery.svg"
|
||||||
|
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 dark:hidden hidden md:block">
|
||||||
|
<img alt="" src="${login.appDataPath}/static/images/recovery_dark.svg"
|
||||||
|
class="md:max-w-[520px] max-w-[350px] sm:max-w-[300px] w-full md:basis-1/2 hidden dark:md:block">
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<script src="${login.appDataPath}/static/js-code/recovery_check_code.js">
|
<script src="${login.appDataPath}/static/js-code/recovery_check_code.js">
|
||||||
|
|
|
@ -11,7 +11,7 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
type: "NevisProxy"
|
type: "NevisProxy"
|
||||||
replicas: 1
|
replicas: 1
|
||||||
version: "8.2405.1"
|
version: "8.2411.1"
|
||||||
gitInitVersion: "1.3.0"
|
gitInitVersion: "1.3.0"
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
ports:
|
ports:
|
||||||
|
@ -46,7 +46,7 @@ spec:
|
||||||
podDisruptionBudget:
|
podDisruptionBudget:
|
||||||
maxUnavailable: "50%"
|
maxUnavailable: "50%"
|
||||||
git:
|
git:
|
||||||
tag: "r-204c3ed3f252b12ca8d250caad2ff4905e491e6c"
|
tag: "r-ff97a3d3e210d49d02eaf6d67d9ba9c3a8eb10e7"
|
||||||
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/proxy-idm"
|
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/proxy-idm"
|
||||||
credentials: "git-credentials"
|
credentials: "git-credentials"
|
||||||
keystores:
|
keystores:
|
||||||
|
|
|
@ -15,8 +15,6 @@ BC.Tracer.ProgName=isi3web
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.Secrets.Cipher=AES
|
BC.Tracer.DebugProfile.Secrets.Cipher=AES
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.NavajoHttpSess=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.NavajoResource=0
|
BC.Tracer.DebugProfile.NavajoResource=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.NavajoRequest=0
|
BC.Tracer.DebugProfile.NavajoRequest=0
|
||||||
|
@ -27,10 +25,6 @@ BC.Tracer.DebugProfile.NavajoSSL=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.NavajoCookie=0
|
BC.Tracer.DebugProfile.NavajoCookie=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.NavajoConIdent=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.NavajoSession=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.NavajoStart=0
|
BC.Tracer.DebugProfile.NavajoStart=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.NavajoConfig=0
|
BC.Tracer.DebugProfile.NavajoConfig=0
|
||||||
|
@ -41,17 +35,7 @@ BC.Tracer.DebugProfile.NavajoHeader=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.NavajoTimer=0
|
BC.Tracer.DebugProfile.NavajoTimer=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.NavajoMgmt=0
|
BC.Tracer.DebugProfile.Apache=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.NavajoAdmin=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.NevisMgmt=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.JmxAmp=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.MBeanSrv=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.HttpAdaptor=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.IsiwebOp=0
|
BC.Tracer.DebugProfile.IsiwebOp=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
|
@ -61,10 +45,6 @@ BC.Tracer.DebugProfile.IW4HttpsConnSrv=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.IW4Esau4ConnSrv=0
|
BC.Tracer.DebugProfile.IW4Esau4ConnSrv=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.IW4NISConnSrv=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.IW4PAMConnSrv=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.IW4X509AuthSrv=0
|
BC.Tracer.DebugProfile.IW4X509AuthSrv=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.IW4LogRenSrv=0
|
BC.Tracer.DebugProfile.IW4LogRenSrv=0
|
||||||
|
@ -145,10 +125,6 @@ BC.Tracer.DebugProfile.IW4MappingFlt=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.IW4ResSessFlt=0
|
BC.Tracer.DebugProfile.IW4ResSessFlt=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.JMXSessionFlt=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.JMXRequestFlt=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.NevisSession=0
|
BC.Tracer.DebugProfile.NevisSession=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.IW4ParamFlt=0
|
BC.Tracer.DebugProfile.IW4ParamFlt=0
|
||||||
|
@ -161,8 +137,6 @@ BC.Tracer.DebugProfile.IW4CSRFFlt=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.IW4FltMappFlt=0
|
BC.Tracer.DebugProfile.IW4FltMappFlt=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.IW4QmrFlt=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.IW4LogFlt=0
|
BC.Tracer.DebugProfile.IW4LogFlt=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.IW4WebSocketSrv=0
|
BC.Tracer.DebugProfile.IW4WebSocketSrv=0
|
||||||
|
@ -219,14 +193,16 @@ BC.Tracer.DebugProfile.EsauthProvider=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.IsiOp=0
|
BC.Tracer.DebugProfile.IsiOp=0
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
BC.Tracer.DebugProfile.transTCP=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.IO=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.IOSub=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.Alarming=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.AlarmEngine=0
|
|
||||||
# source: pattern://3bc06037962ad13be0a3a95d
|
|
||||||
BC.Tracer.DebugProfile.NPMultiLevelStr=0
|
BC.Tracer.DebugProfile.NPMultiLevelStr=0
|
||||||
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
|
BC.Tracer.DebugProfile.NPPSQLSessSrv=0
|
||||||
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
|
BC.Tracer.DebugProfile.NPFileReader=0
|
||||||
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
|
BC.Tracer.DebugProfile.NPPerfMeter=0
|
||||||
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
|
BC.Tracer.DebugProfile.NPLoadBalance=0
|
||||||
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
|
BC.Tracer.DebugProfile.NPCountryIpFlt=0
|
||||||
|
# source: pattern://3bc06037962ad13be0a3a95d
|
||||||
|
BC.Tracer.DebugProfile.WSInspFlt=0
|
||||||
|
|
|
@ -182,7 +182,7 @@
|
||||||
<!-- source: pattern://6f9c9f982dcc7ef59a34f1f7 -->
|
<!-- source: pattern://6f9c9f982dcc7ef59a34f1f7 -->
|
||||||
<init-param>
|
<init-param>
|
||||||
<param-name>DynamicRoleAcquire.CheckRoleRemoval</param-name>
|
<param-name>DynamicRoleAcquire.CheckRoleRemoval</param-name>
|
||||||
<param-value>true</param-value>
|
<param-value>false</param-value>
|
||||||
</init-param>
|
</init-param>
|
||||||
<!-- source: pattern://6f9c9f982dcc7ef59a34f1f7 -->
|
<!-- source: pattern://6f9c9f982dcc7ef59a34f1f7 -->
|
||||||
<init-param>
|
<init-param>
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
<link href="/resources/static/images/favicon.ico" rel="shortcut icon" type="image/x-icon"/>
|
<link href="/resources/static/images/favicon.ico" rel="shortcut icon" type="image/x-icon"/>
|
||||||
<link href="/resources/static/tailwind.css" rel="stylesheet" type="text/css"/>
|
<link href="/resources/static/tailwind.css" rel="stylesheet" type="text/css"/>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="flex flex-col flex-auto sm:block">
|
<body class="flex flex-col flex-auto sm:block">
|
||||||
<nav class="w-full md:max-w-[1240px] lg:max-w-[1440px] mx-auto flex items-center justify-between h-20 mt-4 sm:mt-10 mb-4">
|
<nav class="w-full md:max-w-[1240px] lg:max-w-[1440px] mx-auto flex items-center justify-between h-20 mt-4 sm:mt-10 mb-4">
|
||||||
<span class="flex-1 sm:flex-initial sm:hidden"></span>
|
<span class="flex-1 sm:flex-initial sm:hidden"></span>
|
||||||
|
@ -31,36 +30,55 @@
|
||||||
></agov-mobile-menu>
|
></agov-mobile-menu>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<agov-backdrop></agov-backdrop>
|
<agov-backdrop></agov-backdrop>
|
||||||
|
|
||||||
<img alt="" class="mx-auto mt-16 block dark:hidden" src="/resources/static/images/logout-img.svg">
|
<img alt="" class="mx-auto mt-16 block dark:hidden" src="/resources/static/images/logout-img.svg">
|
||||||
<img alt="" class="mx-auto mt-16 hidden dark:block" src="/resources/static/images/logout-img-dark.svg">
|
<img alt="" class="mx-auto mt-16 hidden dark:block" src="/resources/static/images/logout-img-dark.svg">
|
||||||
<div class="flex flex-col md:flex-row justify-evenly gap-6 mt-10">
|
<div class="flex flex-col gap-6">
|
||||||
<div class="mb-10">
|
<div class="flex flex-col md:flex-row justify-evenly gap-6 mt-10">
|
||||||
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Déconnecté</h3>
|
<div class="mb-10">
|
||||||
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Vous avez été déconnecté avec succès.</p>
|
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Déconnecté</h3>
|
||||||
|
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Vous avez été déconnecté avec
|
||||||
|
succès.</p>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10">
|
||||||
|
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Ausgeloggt</h3>
|
||||||
|
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Sie wurden erfolgreich abgemeldet.</p>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10">
|
||||||
|
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Disconnesso</h3>
|
||||||
|
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Sei stato disconnesso con
|
||||||
|
successo.</p>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10">
|
||||||
|
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Logged out</h3>
|
||||||
|
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">You have been successfully logged
|
||||||
|
out.</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="flex flex-col items-center">
|
||||||
<div class="mb-10">
|
<agov-button
|
||||||
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Ausgeloggt</h3>
|
id="login-button"
|
||||||
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Sie wurden erfolgreich abgemeldet.</p>
|
data-style="primary"
|
||||||
</div>
|
data-label="Login">
|
||||||
|
</agov-button>
|
||||||
<div class="mb-10">
|
|
||||||
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Disconnesso</h3>
|
|
||||||
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Sei stato disconnesso con successo.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="mb-10">
|
|
||||||
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Logged out</h3>
|
|
||||||
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">You have been successfully logged out.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
|
||||||
</body>
|
</body>
|
||||||
|
<script src="/resources/static/bundle.js"></script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("login-button").addEventListener('click', () => {
|
||||||
|
this.loginAgain();
|
||||||
|
});
|
||||||
|
|
||||||
|
function loginAgain() {
|
||||||
|
if (window.history.length > 0) {
|
||||||
|
window.history.back();
|
||||||
|
} else {
|
||||||
|
window.location.href = window.location.origin;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
@ -11,7 +11,7 @@ metadata:
|
||||||
spec:
|
spec:
|
||||||
type: "NevisProxy"
|
type: "NevisProxy"
|
||||||
replicas: 1
|
replicas: 1
|
||||||
version: "8.2405.1"
|
version: "8.2411.1"
|
||||||
gitInitVersion: "1.3.0"
|
gitInitVersion: "1.3.0"
|
||||||
runAsNonRoot: true
|
runAsNonRoot: true
|
||||||
ports:
|
ports:
|
||||||
|
@ -46,7 +46,7 @@ spec:
|
||||||
podDisruptionBudget:
|
podDisruptionBudget:
|
||||||
maxUnavailable: "50%"
|
maxUnavailable: "50%"
|
||||||
git:
|
git:
|
||||||
tag: "r-204c3ed3f252b12ca8d250caad2ff4905e491e6c"
|
tag: "r-ff97a3d3e210d49d02eaf6d67d9ba9c3a8eb10e7"
|
||||||
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/proxy-sp"
|
dir: "DEFAULT-ADN-AGOV-ADMIN-PROJECT/DEFAULT-ADN-AGOV-ADMIN-INV/proxy-sp"
|
||||||
credentials: "git-credentials"
|
credentials: "git-credentials"
|
||||||
keystores:
|
keystores:
|
||||||
|
|
|
@ -15,8 +15,6 @@ BC.Tracer.ProgName=isi3web
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.Secrets.Cipher=AES
|
BC.Tracer.DebugProfile.Secrets.Cipher=AES
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.NavajoHttpSess=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.NavajoResource=0
|
BC.Tracer.DebugProfile.NavajoResource=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.NavajoRequest=0
|
BC.Tracer.DebugProfile.NavajoRequest=0
|
||||||
|
@ -27,10 +25,6 @@ BC.Tracer.DebugProfile.NavajoSSL=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.NavajoCookie=0
|
BC.Tracer.DebugProfile.NavajoCookie=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.NavajoConIdent=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.NavajoSession=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.NavajoStart=0
|
BC.Tracer.DebugProfile.NavajoStart=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.NavajoConfig=0
|
BC.Tracer.DebugProfile.NavajoConfig=0
|
||||||
|
@ -41,17 +35,7 @@ BC.Tracer.DebugProfile.NavajoHeader=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.NavajoTimer=0
|
BC.Tracer.DebugProfile.NavajoTimer=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.NavajoMgmt=0
|
BC.Tracer.DebugProfile.Apache=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.NavajoAdmin=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.NevisMgmt=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.JmxAmp=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.MBeanSrv=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.HttpAdaptor=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.IsiwebOp=0
|
BC.Tracer.DebugProfile.IsiwebOp=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
|
@ -61,10 +45,6 @@ BC.Tracer.DebugProfile.IW4HttpsConnSrv=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.IW4Esau4ConnSrv=0
|
BC.Tracer.DebugProfile.IW4Esau4ConnSrv=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.IW4NISConnSrv=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.IW4PAMConnSrv=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.IW4X509AuthSrv=0
|
BC.Tracer.DebugProfile.IW4X509AuthSrv=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.IW4LogRenSrv=0
|
BC.Tracer.DebugProfile.IW4LogRenSrv=0
|
||||||
|
@ -145,10 +125,6 @@ BC.Tracer.DebugProfile.IW4MappingFlt=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.IW4ResSessFlt=0
|
BC.Tracer.DebugProfile.IW4ResSessFlt=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.JMXSessionFlt=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.JMXRequestFlt=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.NevisSession=0
|
BC.Tracer.DebugProfile.NevisSession=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.IW4ParamFlt=0
|
BC.Tracer.DebugProfile.IW4ParamFlt=0
|
||||||
|
@ -161,8 +137,6 @@ BC.Tracer.DebugProfile.IW4CSRFFlt=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.IW4FltMappFlt=0
|
BC.Tracer.DebugProfile.IW4FltMappFlt=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.IW4QmrFlt=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.IW4LogFlt=0
|
BC.Tracer.DebugProfile.IW4LogFlt=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.IW4WebSocketSrv=0
|
BC.Tracer.DebugProfile.IW4WebSocketSrv=0
|
||||||
|
@ -219,14 +193,16 @@ BC.Tracer.DebugProfile.EsauthProvider=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.IsiOp=0
|
BC.Tracer.DebugProfile.IsiOp=0
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
BC.Tracer.DebugProfile.transTCP=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.IO=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.IOSub=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.Alarming=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.AlarmEngine=0
|
|
||||||
# source: pattern://bd83dfbd467e8211ffe71d28
|
|
||||||
BC.Tracer.DebugProfile.NPMultiLevelStr=0
|
BC.Tracer.DebugProfile.NPMultiLevelStr=0
|
||||||
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
|
BC.Tracer.DebugProfile.NPPSQLSessSrv=0
|
||||||
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
|
BC.Tracer.DebugProfile.NPFileReader=0
|
||||||
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
|
BC.Tracer.DebugProfile.NPPerfMeter=0
|
||||||
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
|
BC.Tracer.DebugProfile.NPLoadBalance=0
|
||||||
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
|
BC.Tracer.DebugProfile.NPCountryIpFlt=0
|
||||||
|
# source: pattern://bd83dfbd467e8211ffe71d28
|
||||||
|
BC.Tracer.DebugProfile.WSInspFlt=0
|
||||||
|
|
|
@ -277,7 +277,7 @@
|
||||||
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
||||||
<init-param>
|
<init-param>
|
||||||
<param-name>DynamicRoleAcquire.CheckRoleRemoval</param-name>
|
<param-name>DynamicRoleAcquire.CheckRoleRemoval</param-name>
|
||||||
<param-value>true</param-value>
|
<param-value>false</param-value>
|
||||||
</init-param>
|
</init-param>
|
||||||
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
<!-- source: pattern://7518c6cc61e47eec6322ae17 -->
|
||||||
<init-param>
|
<init-param>
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -60,7 +60,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -61,7 +61,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -62,7 +62,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -9,7 +9,6 @@
|
||||||
<link href="/resources/static/images/favicon.ico" rel="shortcut icon" type="image/x-icon"/>
|
<link href="/resources/static/images/favicon.ico" rel="shortcut icon" type="image/x-icon"/>
|
||||||
<link href="/resources/static/tailwind.css" rel="stylesheet" type="text/css"/>
|
<link href="/resources/static/tailwind.css" rel="stylesheet" type="text/css"/>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body class="flex flex-col flex-auto sm:block">
|
<body class="flex flex-col flex-auto sm:block">
|
||||||
<nav class="w-full md:max-w-[1240px] lg:max-w-[1440px] mx-auto flex items-center justify-between h-20 mt-4 sm:mt-10 mb-4">
|
<nav class="w-full md:max-w-[1240px] lg:max-w-[1440px] mx-auto flex items-center justify-between h-20 mt-4 sm:mt-10 mb-4">
|
||||||
<span class="flex-1 sm:flex-initial sm:hidden"></span>
|
<span class="flex-1 sm:flex-initial sm:hidden"></span>
|
||||||
|
@ -31,36 +30,55 @@
|
||||||
></agov-mobile-menu>
|
></agov-mobile-menu>
|
||||||
</div>
|
</div>
|
||||||
</nav>
|
</nav>
|
||||||
|
|
||||||
|
|
||||||
<agov-backdrop></agov-backdrop>
|
<agov-backdrop></agov-backdrop>
|
||||||
|
|
||||||
<img alt="" class="mx-auto mt-16 block dark:hidden" src="/resources/static/images/logout-img.svg">
|
<img alt="" class="mx-auto mt-16 block dark:hidden" src="/resources/static/images/logout-img.svg">
|
||||||
<img alt="" class="mx-auto mt-16 hidden dark:block" src="/resources/static/images/logout-img-dark.svg">
|
<img alt="" class="mx-auto mt-16 hidden dark:block" src="/resources/static/images/logout-img-dark.svg">
|
||||||
<div class="flex flex-col md:flex-row justify-evenly gap-6 mt-10">
|
<div class="flex flex-col gap-6">
|
||||||
<div class="mb-10">
|
<div class="flex flex-col md:flex-row justify-evenly gap-6 mt-10">
|
||||||
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Déconnecté</h3>
|
<div class="mb-10">
|
||||||
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Vous avez été déconnecté avec succès.</p>
|
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Déconnecté</h3>
|
||||||
|
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Vous avez été déconnecté avec
|
||||||
|
succès.</p>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10">
|
||||||
|
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Ausgeloggt</h3>
|
||||||
|
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Sie wurden erfolgreich abgemeldet.</p>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10">
|
||||||
|
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Disconnesso</h3>
|
||||||
|
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Sei stato disconnesso con
|
||||||
|
successo.</p>
|
||||||
|
</div>
|
||||||
|
<div class="mb-10">
|
||||||
|
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Logged out</h3>
|
||||||
|
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">You have been successfully logged
|
||||||
|
out.</p>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="flex flex-col items-center">
|
||||||
<div class="mb-10">
|
<agov-button
|
||||||
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Ausgeloggt</h3>
|
id="login-button"
|
||||||
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Sie wurden erfolgreich abgemeldet.</p>
|
data-style="primary"
|
||||||
</div>
|
data-label="Login">
|
||||||
|
</agov-button>
|
||||||
<div class="mb-10">
|
|
||||||
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Disconnesso</h3>
|
|
||||||
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">Sei stato disconnesso con successo.</p>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="mb-10">
|
|
||||||
<h3 class="font-header text-h3 text-black dark:text-white mb-4 mx-auto text-center">Logged out</h3>
|
|
||||||
<p class="font-body text-body-l text-black dark:text-white mx-auto text-center">You have been successfully logged out.</p>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
|
||||||
</body>
|
</body>
|
||||||
|
<script src="/resources/static/bundle.js"></script>
|
||||||
|
<script>
|
||||||
|
document.getElementById("login-button").addEventListener('click', () => {
|
||||||
|
this.loginAgain();
|
||||||
|
});
|
||||||
|
|
||||||
|
function loginAgain() {
|
||||||
|
if (window.history.length > 0) {
|
||||||
|
window.history.back();
|
||||||
|
} else {
|
||||||
|
window.location.href = window.location.origin;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
</html>
|
</html>
|
||||||
|
|
|
@ -66,7 +66,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
|
@ -63,7 +63,7 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
<footer class="hidden sm:flex mt-auto font-body text-body-s text-disabled-grey dark:text-silver w-full p-2 justify-end">
|
||||||
<p>1.8.x.2610-20250203T164349Z</p>
|
<p>1.10.0.local-20250321T164316Z-haburger: Tue Mar 25 11:16:24 CET 2025</p>
|
||||||
</footer>
|
</footer>
|
||||||
<script src="/resources/static/bundle.js"></script>
|
<script src="/resources/static/bundle.js"></script>
|
||||||
</body>
|
</body>
|
||||||
|
|
File diff suppressed because one or more lines are too long
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue