Merge branch 'v2.0'
This commit is contained in:
commit
2f3f1bd99b
|
@ -183,7 +183,7 @@ staticPrefix = __PORTALSTATICDIR__
|
|||
templateDir = __PORTALTEMPLATESDIR__
|
||||
|
||||
; languages: available languages for portal interface
|
||||
languages = en, fr, vi, it, ar
|
||||
languages = en, fr, vi, it, ar, de, fi
|
||||
|
||||
; II - Optional parameters (overwrite configuration)
|
||||
|
||||
|
@ -354,7 +354,7 @@ staticPrefix = __MANAGERSTATICDIR__
|
|||
templateDir = __MANAGERTEMPLATESDIR__
|
||||
|
||||
; languages: available languages for manager interface
|
||||
languages = fr, en, vi, ar
|
||||
languages = fr, en, it, vi, ar
|
||||
|
||||
; Manager modules enabled
|
||||
; Set here the list of modules you want to see in manager interface
|
||||
|
|
|
@ -53,6 +53,14 @@ sub logLevelInit {
|
|||
my $logger = $class->localConfig->{logger} ||= $class->defaultLogger;
|
||||
eval "require $logger";
|
||||
die $@ if ($@);
|
||||
unless (
|
||||
$class->localConfig->{logLevel} =~ /^(debug|info|notice|warn|error)$/ )
|
||||
{
|
||||
print STDERR 'Bad logLevel value \''
|
||||
. $class->localConfig->{logLevel}
|
||||
. "', switching to 'info'\n";
|
||||
$class->localConfig->{logLevel} = 'info';
|
||||
}
|
||||
$class->logger( $logger->new( $class->localConfig ) );
|
||||
$class->logger->debug("Logger $logger loaded");
|
||||
$logger = $class->localConfig->{userLogger} || $logger;
|
||||
|
|
|
@ -847,7 +847,7 @@
|
|||
"yubikey2fNonce":"Nonce",
|
||||
"yubikey2fPublicIDSize":"حجم الجزء العام لي OTP آي دي",
|
||||
"yubikey2fSecretKey":"مفتاح سرأل API",
|
||||
"yubikey2fSelfRegistration":"Self registration",
|
||||
"yubikey2fSelfRegistration":"التسجيل الذاتي",
|
||||
"yubikey2fUrl":"خدمة أل يو أر ل",
|
||||
"yubikey2fUserCanRemoveKey":"Authorize user to remove Yubikey",
|
||||
"zeroConfExplanations":"لا يحتوي الخادم على إعدادات. استخدام قالب لحفظ الأول",
|
||||
|
|
|
@ -150,10 +150,10 @@
|
|||
"cfgVersion":"配置信息",
|
||||
"checkXSS":"Check XSS attacks",
|
||||
"clickHereToForce":"Click here to force",
|
||||
"checkState":"Activation",
|
||||
"checkState":"激活",
|
||||
"checkStateSecret":"Shared secret",
|
||||
"checkUsers":"SSO profile Check",
|
||||
"checkUser":"Activation",
|
||||
"checkUser":"激活",
|
||||
"checkUserIdRule":"Identities use rule",
|
||||
"checkUserHiddenAttributes":"Hidden attributes",
|
||||
"checkUserDisplayPersistentInfo":"Display persistent session",
|
||||
|
@ -388,7 +388,7 @@
|
|||
"localSessionStorageOptions":"Cache module options",
|
||||
"locationRules":"Access rule",
|
||||
"loginHistory":"登陆记录",
|
||||
"loginHistoryEnabled":"Activation",
|
||||
"loginHistoryEnabled":"激活",
|
||||
"logo":"Logo",
|
||||
"logout":"注销登录",
|
||||
"logoutServices":"Logout forward",
|
||||
|
@ -397,7 +397,7 @@
|
|||
"lwpSslOpts":"SSL options for server requests",
|
||||
"macros":"Macros",
|
||||
"mail2f":"Mail second factor",
|
||||
"mail2fActivation":"Activation",
|
||||
"mail2fActivation":"激活",
|
||||
"mail2fCodeRegex":"Code regex",
|
||||
"mail2fTimeout":"Code timeout",
|
||||
"mail2fSubject":"Mail subject",
|
||||
|
@ -458,7 +458,7 @@
|
|||
"notABoolean":"Not a boolean",
|
||||
"notAnInteger":"Not an integer",
|
||||
"notAValidPerlExpression":"Not a valid Perl expression",
|
||||
"notification":"Activation",
|
||||
"notification":"激活",
|
||||
"notifications":"Notifications",
|
||||
"notificationServer":"Notification server",
|
||||
"notificationCreated":"Notification has been created",
|
||||
|
@ -679,7 +679,7 @@
|
|||
"restore":"Restore",
|
||||
"restoreConf":"Restore configuration",
|
||||
"rest2f":"REST second factor",
|
||||
"rest2fActivation":"Activation",
|
||||
"rest2fActivation":"激活",
|
||||
"rest2fAuthnLevel":"认证等级",
|
||||
"rest2fInitArgs":"Init Arguments",
|
||||
"rest2fInitUrl":"Init URL",
|
||||
|
@ -763,7 +763,7 @@
|
|||
"timeoutActivityInterval":"Sessions update interval",
|
||||
"tokenUseGlobalStorage":"Use global storage",
|
||||
"totp":"TOTP",
|
||||
"totp2fActivation":"Activation",
|
||||
"totp2fActivation":"激活",
|
||||
"totp2fAuthnLevel":"TOTP authentication level",
|
||||
"totp2fDigits":"Number of digits",
|
||||
"totp2fDisplayExistingSecret":"Display existing secret",
|
||||
|
@ -783,7 +783,7 @@
|
|||
"twitterUserField":"Field containing user identifier",
|
||||
"type":"Type",
|
||||
"u2f":"U2F",
|
||||
"u2fActivation":"Activation",
|
||||
"u2fActivation":"激活",
|
||||
"u2fAuthnLevel":"U2F authentication level",
|
||||
"u2fUserCanRemoveKey":"Authorize user to remove U2F key",
|
||||
"u2fSelfRegistration":"Self registration",
|
||||
|
@ -808,7 +808,7 @@
|
|||
"useRedirectOnForbidden":"Redirect on forbidden",
|
||||
"useSafeJail":"Use Safe jail",
|
||||
"utotp2f":"TOTP-or-U2F",
|
||||
"utotp2fActivation":"Activation",
|
||||
"utotp2fActivation":"激活",
|
||||
"utotp2fAuthnLevel":"认证等级",
|
||||
"value":"Value",
|
||||
"values":"Values",
|
||||
|
@ -838,10 +838,10 @@
|
|||
"waitOrF5":"Wait for redirection or press F5",
|
||||
"whatToTrace":"REMOTE_USER",
|
||||
"whiteList":"White list",
|
||||
"wsdlServer":"WSDL server",
|
||||
"wsdlServer":"WSDL 服务器",
|
||||
"XMLcontent":"XML content",
|
||||
"yubikey2f":"Yubikey",
|
||||
"yubikey2fActivation":"Activation",
|
||||
"yubikey2fActivation":"激活",
|
||||
"yubikey2fAuthnLevel":"认证等级",
|
||||
"yubikey2fClientID":"API client ID",
|
||||
"yubikey2fNonce":"Nonce",
|
||||
|
@ -855,7 +855,7 @@
|
|||
"saml":"SAML",
|
||||
"samlAttribute":"SAML attribute",
|
||||
"samlDiscoveryProtocol":"Discovery Protocol",
|
||||
"samlDiscoveryProtocolActivation":"Activation",
|
||||
"samlDiscoveryProtocolActivation":"激活",
|
||||
"samlDiscoveryProtocolIsPassive":"Is Passive",
|
||||
"samlDiscoveryProtocolPolicy":"Policy",
|
||||
"samlDiscoveryProtocolURL":"EndPoint URL",
|
||||
|
@ -979,7 +979,7 @@
|
|||
"samlAuthnContextMapTLSClient":"TLS client",
|
||||
"samlAuthnContextMapKerberos":"Kerberos",
|
||||
"samlCommonDomainCookie":"Common Domain Cookie",
|
||||
"samlCommonDomainCookieActivation":"Activation",
|
||||
"samlCommonDomainCookieActivation":"激活",
|
||||
"samlCommonDomainCookieDomain":"Common domain",
|
||||
"samlCommonDomainCookieReader":"Reader URL",
|
||||
"samlCommonDomainCookieWriter":"Writer URL",
|
||||
|
|
|
@ -0,0 +1,262 @@
|
|||
{
|
||||
"PE0":"Käyttäjä todennettu",
|
||||
"PE1":"Kirjautumisesi on vanhentunut, sinun tulee kirjautua uudelleen",
|
||||
"PE2":"Käyttäjänimi ja salasana kenttä pitää olla täytetty",
|
||||
"PE3":"Virheellinen hakemisto käyttäjän tunnus tai salasana",
|
||||
"PE4":"Käyttäjää ei löytynyt hakemistosta",
|
||||
"PE5":"Virheelliset kirjautumistiedot",
|
||||
"PE6":"Virhe yhdistäessä LDAP palvelimelle",
|
||||
"PE7":"Virhe yhdistäessä LDAP palvelimelle",
|
||||
"PE8":"Apache::Session moduulissa tapahtui virhe",
|
||||
"PE9":"Kirjautuminen vaaditaan",
|
||||
"PE10":"Virheellinen varmenne",
|
||||
"PE11":"Lasso:Login tai Lasso:Logout alustus epäonnistui",
|
||||
"PE12":"Liberty-Alliance artefact resolution failed",
|
||||
"PE13":"Liberty-Alliance defederation failed",
|
||||
"PE14":"Liberty-Alliance query returned by IDP in assertion is empty",
|
||||
"PE15":"One of Liberty-Alliance soap calls failed",
|
||||
"PE16":"One of Liberty-Alliance single logout failed",
|
||||
"PE17":"No SAML artefact found, or auto-accepting SSO failed",
|
||||
"PE18":"Initializing, building or requesting SSO failed",
|
||||
"PE19":"Virhe tallentaessa Liberty-Alliance istunnon tunnistetta",
|
||||
"PE20":"A Liberty-Alliance Soap End Point process failed",
|
||||
"PE21":"Tunnuksesi on lukittu",
|
||||
"PE22":"Salasanasi on vanhentunut",
|
||||
"PE23":"Varmenne vaaditaan",
|
||||
"PE24":"Virhe",
|
||||
"PE25":"Salasana on nyt nollattu ja se pitää vaihtaa",
|
||||
"PE26":"Salasanaa ei ehkä voitu muuttaa",
|
||||
"PE27":"Vanha salasana täytyy syöttää uuden salasanan syöttämisen yhteydessä",
|
||||
"PE28":"Salasana ei ole riittävän vahva",
|
||||
"PE29":"Salasana on liian lyhyt",
|
||||
"PE30":"Salasana on liian nuori",
|
||||
"PE31":"Password used too recently",
|
||||
"PE32":" authentications remaining, change your password!",
|
||||
"PE33":"%d päivää, %d tuntia, %d minuuttia ja %sekunttia jäljellä salasanan vanhentumiseen, vaihda salasana!",
|
||||
"PE34":"Salasanat eivät vastaa toisiaan",
|
||||
"PE35":"Salasanan vaihto onnistui",
|
||||
"PE36":"Sinulla on uusi viesti",
|
||||
"PE37":"Virhellinen URL-osoite",
|
||||
"PE38":"Schemaa ei ole saatavilla",
|
||||
"PE39":"Vanha salasana on virheellinen",
|
||||
"PE40":"Käyttäjänimi on virheellinen",
|
||||
"PE41":"Istunnon avaaminen ei ole sallittu",
|
||||
"PE42":"Confirmation required",
|
||||
"PE43":"Sähköpostiosoite on vaadittu",
|
||||
"PE44":"Vahvistusavain on virheellinen tai vanhentunut",
|
||||
"PE45":"Virhe lähettäessä sähköpostia",
|
||||
"PE46":"Sähköposti on lähetetty",
|
||||
"PE47":"Olet nyt kirjautunut ulos",
|
||||
"PE48":"Tuntematon SAML virhe",
|
||||
"PE49":"Virhe ladatessa SAML palvelua",
|
||||
"PE50":"Problem when loading an identity provider",
|
||||
"PE51":"SAML Single Sign On:issa tapahtui virhe",
|
||||
"PE52":"SAML entity is not known",
|
||||
"PE53":"SAML message destination is not correct",
|
||||
"PE54":"SAML message conditions are not respected",
|
||||
"PE55":"Identity provider initiated single sign on is not authorized",
|
||||
"PE56":"An error occured during SAML single logout",
|
||||
"PE57":"Error in SAML message signature management",
|
||||
"PE58":"An error occured during SAML artifact use",
|
||||
"PE59":"Communication error with SAML sessions",
|
||||
"PE60":"Problem when loading a service provider",
|
||||
"PE61":"An error occured during SAML attributes exchange",
|
||||
"PE62":"This is an OpenID endpoint page",
|
||||
"PE63":"You try to use an OpenID identity which is not yours",
|
||||
"PE64":"A required attribute is not available",
|
||||
"PE65":"Federation forbidden by security policy",
|
||||
"PE66":"Vahvistussähköposti on jo lähetetty",
|
||||
"PE67":"Salasana-kenttä on täytettävä",
|
||||
"PE68":"Access not granted on CAS service",
|
||||
"PE69":"Syötä sähköpostiosoitteesi",
|
||||
"PE70":"Ei vastaavaa käyttäjää",
|
||||
"PE71":"Anna uusi salasana",
|
||||
"PE72":"Vahvistus sähköposti on lähetetty",
|
||||
"PE73":"Radius connection has failed",
|
||||
"PE74":"Vanha salasana on vaadittu",
|
||||
"PE75":"You came from an unaccredited IP address",
|
||||
"PE76":"You failed at typing the captcha",
|
||||
"PE77":"You have to type the captcha",
|
||||
"PE78":"Please enter your information",
|
||||
"PE79":"An information is missing",
|
||||
"PE80":"Osoite on jo käytössä",
|
||||
"PE81":"Invalid authentication attempt",
|
||||
"PE82":"Exceeded authentication timeout",
|
||||
"PE83":"U2F verification failed. Retry or contact your administrator",
|
||||
"PE84":"You're not authorized to access to this host",
|
||||
"PE85":"The remote site ask for a newer session (and UpgradeSession plugin isn't loaded). Logout and retry",
|
||||
"PE86":"Your account is locked. You must wait 30s before authenticate again",
|
||||
"PE87":"You must authenticate again to access to Portal",
|
||||
"PE88":"Your account must have an e-mail address in order to use double factor authentication",
|
||||
"PE89":"Access not granted on SAML service",
|
||||
"PE90":"Access not granted on OIDC service",
|
||||
"PE91":"Access not granted on OID service",
|
||||
"PE92":"Access not granted on GET service",
|
||||
"PE93":"Access not granted on IMPERSONATION service",
|
||||
"2fRegRequired":"This service requires a double factor authentication. Register a device now, then go back to the portal.",
|
||||
"accept":"Hyväksy",
|
||||
"accessDenied":"Sinulla ei ole käyttöoikeutta tähän sovellukseen",
|
||||
"accountCreated":"Käyttäjätili on luotu, väliaikainen salasana on lähetetty sähköpostiisi.",
|
||||
"accountCreationSuccess":"Tilisi on luotu.",
|
||||
"action":"Action",
|
||||
"allowed":"Access ALLOWED",
|
||||
"anotherInformation":"Another information:",
|
||||
"areYouSure":"Oletko varma?",
|
||||
"askToRenew":"This application needs a more recent authentication. Do you want to reauthenticate?",
|
||||
"askToUpgrade":"This application needs an higher authentication level. Do you want to reauthenticate?",
|
||||
"attributes":"ATTRIBUTES",
|
||||
"authPortal":"Todennus portaali",
|
||||
"authRemaining":"%s authentications remaining, change your password!",
|
||||
"autoAccept":"Automatically accept in 30 seconds",
|
||||
"back2CasUrl":"The application you just logged out of has provided a link it would like you to follow",
|
||||
"back2Portal":"Palaa takaisin portaaliin",
|
||||
"badCode":"Bad code",
|
||||
"badName":"Bad name",
|
||||
"cancel":"Peruuta",
|
||||
"captcha":"Captcha",
|
||||
"changeKey":"Generate new key",
|
||||
"changePwd":"Vaihda salasanasi",
|
||||
"checkLastLogins":"Tarkista viimeiset kirjautumiseni",
|
||||
"checkUser":"Check user SSO profile",
|
||||
"choose2f":"Choose your second factor",
|
||||
"chooseApp":"Choose an application your are allowed to access to",
|
||||
"clickHere":"Please click here",
|
||||
"clickOnYubikey":"Click on your Yubikey",
|
||||
"closeSSO":"Sulje SSO istuntosi",
|
||||
"code":"Koodi",
|
||||
"confirmation":"Vahvistus",
|
||||
"confirmLinkSent":"Vahvistuslinkki on lähetetty, tämä linkki on voimassa",
|
||||
"confirmPwd":"Vahvista salasana",
|
||||
"connect":"Kirjaudu",
|
||||
"connectedAs":"Kirjautuneena ",
|
||||
"continue":"Jatka",
|
||||
"createAccount":"Rekisteröidy",
|
||||
"currentPwd":"Nykyinen salasana",
|
||||
"date":"Päivämäärä",
|
||||
"enterCred":"Syötä käyttäjätietosi",
|
||||
"enterExt2fCode":"A code has been sent to you. Please enter it",
|
||||
"enterOpenIDLogin":"Please enter your OpenID login",
|
||||
"enterTotpCode":"Enter TOTP code",
|
||||
"enterYubikey":"Please use your Yubikey",
|
||||
"errorMsg":"Virhe viesti",
|
||||
"fillTheForm":"Fill the form",
|
||||
"firstName":"Etunimi",
|
||||
"forbidden":"Access FORBIDDEN",
|
||||
"forgotPwd":"Unohditko salasanasi?",
|
||||
"generatePwd":"Luo salasana automaattisesti",
|
||||
"gotNewMessages":"Sinulla on uusia viestejä",
|
||||
"goToPortal":"Siirry portaaliin",
|
||||
"gplSoft":"free software covered by the GPL license",
|
||||
"groups_sso":"SSO GROUPS",
|
||||
"headers":"HEADERS",
|
||||
"id":"Id",
|
||||
"imSure":"Olen varma",
|
||||
"info":"Information",
|
||||
"ipAddr":"IP-osoite",
|
||||
"key":"Key",
|
||||
"lastFailedLogins":"Viimeiset virheelliset kirjautumiset",
|
||||
"lastLogins":"Viimeisimmät kirjautumiset",
|
||||
"lastName":"Sukunimi",
|
||||
"linkValidUntil":"Tämä viesti sisältää linkin salasanan nollaamiseen, linkki on voimassa",
|
||||
"loginHistory":"Kirjautumishistoria",
|
||||
"login":"Kirjaudu",
|
||||
"logout":"Kirjaudu ulos",
|
||||
"logoutConfirm":"Haluatko kirjautua ulos?",
|
||||
"logoutFromOtherApp":"Kirjaudu toiseen sovellukseen...",
|
||||
"logoutFromSP":"Logout from service providers ...",
|
||||
"macros":"MACROS",
|
||||
"mail":"Sähköposti",
|
||||
"mailSent2":"Viesti on lähetetty sähköpostiisi.",
|
||||
"maintenanceMode":"This application is in maintenance, please try to connect later",
|
||||
"maxNumberof2FDevicesReached":"Maximum number of 2F devices reached!!!",
|
||||
"missingCode":"Code is missing",
|
||||
"name":"Name",
|
||||
"newMessages":"New message(s)",
|
||||
"newPassword":"Uusi salasana",
|
||||
"newPwdSentTo":"A confirmation has been sent to your mail address.",
|
||||
"noHistory":"This is your first connection, welcome!",
|
||||
"notAuthorized":"You're not authorized to do this",
|
||||
"notFound":"Not found: you try to access to an unavailable page",
|
||||
"noTOTPFound":"No TOTP found",
|
||||
"noU2FKeyFound":"No U2F key found",
|
||||
"oidcConsent":"The application %s would like to know:",
|
||||
"oidcConsents":"OIDC consents",
|
||||
"oidcConsentsFull":"OpenID-Connect consents",
|
||||
"openidAp":"Do you agree to provide the following parameters?",
|
||||
"openIdExample":"for example:http://myopenid.org/toto",
|
||||
"openidExchange":"Do you want to authenticate yourself on %s ?",
|
||||
"openidPA":"Data usage policy is available at",
|
||||
"openidRpns":"Parameter %s requested for federation isn't available",
|
||||
"openSessionSpace":"This space allow you to open a SSO session. This will help you to securely access to all applications authorized by your profil.",
|
||||
"openSSOSession":"Open your SSO session",
|
||||
"otherSessions":"Other active sessions",
|
||||
"password":"Salasana",
|
||||
"ppGrace":"authentications remaining, change your password!",
|
||||
"proxyError":"Bad gateway: unable to join remote server",
|
||||
"pwdChange":"Password change",
|
||||
"pwd":"Salasana",
|
||||
"pwdResetAlreadyIssued":"A password reset request was already issued on ",
|
||||
"pwdWillExpire":"%d päivää, %d tuntia, %d minuuttia ja %sekunttia jäljellä salasanan vanhentumiseen, vaihda salasana!",
|
||||
"redirectedFrom":"Olet uudelleenohjattu",
|
||||
"redirectedIn":"You'll be redirected in 30 seconds",
|
||||
"redirectionInProgres":"Redirection in progress...",
|
||||
"redirectionToIdp":"Redirection to your Identity Provider",
|
||||
"refreshrights":"Refresh my rights",
|
||||
"refuse":"Refuse",
|
||||
"register":"Rekisteröidy",
|
||||
"registerRequestAlreadyIssued":"A register request for this account was already issued on ",
|
||||
"rememberChoice":"Muista valintani",
|
||||
"removeOtherSessions":"Remove other sessions",
|
||||
"resendConfirmMail":"Uudelleen lähetä vahvistus sähköposti?",
|
||||
"resentConfirm":"Do you want the confirmation mail to be resent?",
|
||||
"resetPwd":"Palauta salasanani?",
|
||||
"rightsReloadNeedsLogout":"Rights reloads need to logout and login again",
|
||||
"scope":"Scope",
|
||||
"search":"Search",
|
||||
"selectIdP":"Select your Identity Provider",
|
||||
"service":"Service",
|
||||
"sendPwd":"Send me a link",
|
||||
"serverError":"Error occurs on the server",
|
||||
"serviceProvidedBy":"Service provided by",
|
||||
"sessionsDeleted":"The following sessions have been closed",
|
||||
"sfaManager":"2ndFA Manager",
|
||||
"spoofId":"Spoofed Id",
|
||||
"SSOSessionInactive":"SSO session inactive",
|
||||
"stayConnected":"Stay connected on this device",
|
||||
"submit":"Lähetä",
|
||||
"totpExistingKey":"A TOTP secret already exists",
|
||||
"touchU2fDevice":"Please touch the flashing U2F device now.",
|
||||
"touchU2fDeviceOrEnterTotp":"Please touch the flashing U2F device or enter TOTP code.",
|
||||
"type":"Type",
|
||||
"u2fFailed":"U2F verification failed. Retry or contact your administrator",
|
||||
"u2fPermission":"You may be prompted to allow the site permission to access your security keys. After granting permission, the device will start to blink.",
|
||||
"u2fWelcome":"U2F device management",
|
||||
"unableToGetKey":"Unable to access to your key. Retry or contact your administrator",
|
||||
"unknownAction":"Unknown action",
|
||||
"unregister":"Unregister",
|
||||
"updateCdc":"Update Common Domain Cookie",
|
||||
"upgradeSession":"Upgrade session",
|
||||
"user":"Käyttäjä",
|
||||
"useYubikey":"Käytä Yubikeytä",
|
||||
"value":"Value",
|
||||
"verify":"Vahvista",
|
||||
"VHnotFound":"Virtual Host not found",
|
||||
"wait":"Odota",
|
||||
"waitingmessage":"Authentication in progress, please wait",
|
||||
"warning":"Varoitus",
|
||||
"welcomeOnPortal":"Welcome on your secured authentication portal.",
|
||||
"yesResendMail":"Kyllä, uudelleen lähetä sähköposti",
|
||||
"yourAddress":"Osoitteesi",
|
||||
"yourApps":"Sovelluksesi",
|
||||
"yourEmail":"Sähköpostiosoitteesi",
|
||||
"yourIdentity":"Your identity",
|
||||
"yourIdentityIs":"Your identity is",
|
||||
"yourKeyIsRegistered":"Your key is registered",
|
||||
"yourKeyIsAlreadyRegistered":"Your key is ALREADY registered !!!",
|
||||
"yourKeyIsUnregistered":"Your key has been unregistered",
|
||||
"yourKeyIsVerified":"Your key is verified",
|
||||
"yourNewTotpKey":"Your new TOTP key, please test it and enter the code",
|
||||
"yourPhone":"Puhelinnumerosi",
|
||||
"yourProfile":"Profiilisi",
|
||||
"yourTotpKey":"Your TOTP key"
|
||||
}
|
|
@ -0,0 +1,18 @@
|
|||
{
|
||||
"accountCreated":"Tunnus on luotu, väliaikainen salasana on lähetetty sähköpostiisi.",
|
||||
"autoMail":"Tämä sähköpostiviesti lähetetään automaattisesti",
|
||||
"click2Register":"Klikkaa tästä vahvistaaksesi käyttäjätunnuksesi rekisteröinnin",
|
||||
"click2Reset":"Klikkaa tästä nollataksesi salasanasi",
|
||||
"hello":"Hei",
|
||||
"mail2fSubject":"[LemonLDAP::NG] Your login code",
|
||||
"mailConfirmSubject":"[LemonLDAP::NG] Salasanan nollauksen vahvistus",
|
||||
"mailSubject":"[LemonLDAP::NG] Uusi salasanasi",
|
||||
"newPwdIs":"Uusi salasanasi on",
|
||||
"pwdChanged":"Salasanasi on vaihdettu.",
|
||||
"pwdIs":"Sinun salasanasi on",
|
||||
"registerConfirmSubject":"[LemonLDAP::NG] Tunnuksen rekisteröinnin vahvistus",
|
||||
"registerDoneSubject":"[LemonLDAP::NG] Uusi käyttäjätunnuksesi",
|
||||
"requestIssuedFromIP":"The request was issued from IP",
|
||||
"yourLoginCodeIs":"Your login code is",
|
||||
"yourLoginIs":"Your login is"
|
||||
}
|
|
@ -0,0 +1,182 @@
|
|||
use lib 'inc';
|
||||
use Test::More; # skip_all => 'CAS is in rebuild';
|
||||
use strict;
|
||||
use IO::String;
|
||||
use LWP::UserAgent;
|
||||
use LWP::Protocol::PSGI;
|
||||
use MIME::Base64;
|
||||
|
||||
BEGIN {
|
||||
require 't/test-lib.pm';
|
||||
}
|
||||
|
||||
my $debug = 'error';
|
||||
my ( $issuer, $sp, $res );
|
||||
my %handlerOR = ( issuer => [], sp => [] );
|
||||
|
||||
# Redefine LWP methods for tests
|
||||
LWP::Protocol::PSGI->register(
|
||||
sub {
|
||||
my $req = Plack::Request->new(@_);
|
||||
ok( $req->uri =~ m#http://auth.((?:id|s)p).com([^\?]*)(?:\?(.*))?$#,
|
||||
'SOAP request' );
|
||||
my $host = $1;
|
||||
my $url = $2;
|
||||
my $query = $3;
|
||||
my $res;
|
||||
my $client = ( $host eq 'idp' ? $issuer : $sp );
|
||||
if ( $req->method eq 'POST' ) {
|
||||
my $s = $req->content;
|
||||
ok(
|
||||
$res = $client->_post(
|
||||
$url, IO::String->new($s),
|
||||
length => length($s),
|
||||
query => $query,
|
||||
type => 'application/xml',
|
||||
),
|
||||
"Execute POST request to $url"
|
||||
);
|
||||
}
|
||||
else {
|
||||
ok(
|
||||
$res = $client->_get(
|
||||
$url,
|
||||
type => 'application/xml',
|
||||
query => $query,
|
||||
),
|
||||
"Execute request to $url"
|
||||
);
|
||||
}
|
||||
expectOK($res);
|
||||
ok( getHeader( $res, 'Content-Type' ) =~ m#xml#, 'Content is XML' )
|
||||
or explain( $res->[1], 'Content-Type => application/xml' );
|
||||
count(3);
|
||||
return $res;
|
||||
}
|
||||
);
|
||||
|
||||
ok( $issuer = issuer(), 'Issuer portal' );
|
||||
$handlerOR{issuer} = \@Lemonldap::NG::Handler::Main::_onReload;
|
||||
count(1);
|
||||
switch ('sp');
|
||||
&Lemonldap::NG::Handler::Main::cfgNum( 0, 0 );
|
||||
|
||||
ok( $sp = sp(), 'SP portal' );
|
||||
count(1);
|
||||
$handlerOR{sp} = \@Lemonldap::NG::Handler::Main::_onReload;
|
||||
|
||||
# Simple SP access
|
||||
ok(
|
||||
$res = $sp->_get(
|
||||
'/', accept => 'text/html',
|
||||
),
|
||||
'Unauth SP request'
|
||||
);
|
||||
count(1);
|
||||
|
||||
# No cancel button found
|
||||
ok(
|
||||
$res->[2]->[0] !~
|
||||
qr%<a href="http://auth.sp.com\?cancel=1" class="btn btn-primary" role="button">%,
|
||||
'Cancel button NOT found'
|
||||
) or print STDERR Dumper( $res->[2]->[0] );
|
||||
count(1);
|
||||
|
||||
# Query IdP
|
||||
switch ('issuer');
|
||||
ok(
|
||||
$res = $issuer->_get(
|
||||
'/cas/login',
|
||||
query => 'service=http://auth.sp.com/',
|
||||
accept => 'text/html'
|
||||
),
|
||||
'Query CAS server'
|
||||
);
|
||||
count(1);
|
||||
expectOK($res);
|
||||
my $pdata = 'lemonldappdata=' . expectCookie( $res, 'lemonldappdata' );
|
||||
|
||||
clean_sessions();
|
||||
done_testing( count() );
|
||||
|
||||
sub switch {
|
||||
my $type = shift;
|
||||
@Lemonldap::NG::Handler::Main::_onReload = @{
|
||||
$handlerOR{$type};
|
||||
};
|
||||
}
|
||||
|
||||
sub issuer {
|
||||
return LLNG::Manager::Test->new( {
|
||||
ini => {
|
||||
logLevel => $debug,
|
||||
templatesDir => 'site/htdocs/static',
|
||||
domain => 'idp.com',
|
||||
portal => 'http://auth.idp.com',
|
||||
authentication => 'Demo',
|
||||
userDB => 'Same',
|
||||
issuerDBCASActivation => 1,
|
||||
issuerDBCASRule => '$uid eq "french"',
|
||||
casAttr => 'uid',
|
||||
casAccessControlPolicy => 'error',
|
||||
multiValuesSeparator => ';',
|
||||
casAppMetaDataExportedVars => {
|
||||
sp => {
|
||||
cn => 'cn',
|
||||
mail => 'mail',
|
||||
uid => 'uid',
|
||||
}
|
||||
},
|
||||
casAppMetaDataOptions => {
|
||||
sp => {
|
||||
casAppMetaDataOptionsService => 'http://auth.sp.com',
|
||||
},
|
||||
sp2 => {
|
||||
casAppMetaDataOptionsService => 'http://auth.sp2.com',
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
sub sp {
|
||||
return LLNG::Manager::Test->new( {
|
||||
ini => {
|
||||
logLevel => $debug,
|
||||
domain => 'sp.com',
|
||||
portal => 'http://auth.sp.com',
|
||||
authentication => 'CAS',
|
||||
userDB => 'CAS',
|
||||
restSessionServer => 1,
|
||||
issuerDBCASActivation => 0,
|
||||
multiValuesSeparator => ';',
|
||||
exportedVars => {
|
||||
cn => 'cn',
|
||||
},
|
||||
casSrvMetaDataExportedVars => {
|
||||
idp => {
|
||||
cn => 'cn',
|
||||
mail => 'mail',
|
||||
uid => 'uid',
|
||||
},
|
||||
idp2 => {
|
||||
cn => 'cn',
|
||||
mail => 'mail',
|
||||
uid => 'uid',
|
||||
}
|
||||
},
|
||||
casSrvMetaDataOptions => {
|
||||
idp => {
|
||||
casSrvMetaDataOptionsUrl => 'http://auth.idp.com/cas',
|
||||
casSrvMetaDataOptionsGateway => 0,
|
||||
},
|
||||
idp2 => {
|
||||
casSrvMetaDataOptionsUrl => 'http://auth.idp.com/cas',
|
||||
casSrvMetaDataOptionsGateway => 0,
|
||||
}
|
||||
},
|
||||
},
|
||||
}
|
||||
);
|
||||
}
|
Loading…
Reference in New Issue