From f2f1855f05330ef21dff9540538053a1dd8a34f3 Mon Sep 17 00:00:00 2001 From: Pahansith Gunathilake Date: Tue, 19 Jul 2022 15:49:11 +0530 Subject: [PATCH] Add login UI re theme --- .../core/resources/extensions/basicauth.jsp | 438 ++++++++++++++++++ .../extensions/cookie-policy-content.jsp | 56 +-- .../src/core/resources/extensions/header.jsp | 10 +- .../extensions/privacy-policy-content.jsp | 82 ++-- .../resources/extensions/product-title.jsp | 4 +- .../endpoint/i18n/Resources.properties | 196 ++++++++ .../endpoint/i18n/Resources_fr_FR.properties | 189 ++++++++ 7 files changed, 899 insertions(+), 76 deletions(-) create mode 100644 iot-core/src/core/resources/extensions/basicauth.jsp create mode 100644 iot-core/src/core/resources/org/wso2/carbon/identity/application/authentication/endpoint/i18n/Resources.properties create mode 100644 iot-core/src/core/resources/org/wso2/carbon/identity/application/authentication/endpoint/i18n/Resources_fr_FR.properties diff --git a/iot-core/src/core/resources/extensions/basicauth.jsp b/iot-core/src/core/resources/extensions/basicauth.jsp new file mode 100644 index 0000000..afd6a8f --- /dev/null +++ b/iot-core/src/core/resources/extensions/basicauth.jsp @@ -0,0 +1,438 @@ +<%-- + ~ Copyright (c) 2014, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. + ~ + ~ WSO2 Inc. licenses this file to you under the Apache License, + ~ Version 2.0 (the "License"); you may not use this file except + ~ in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, + ~ software distributed under the License is distributed on an + ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + ~ KIND, either express or implied. See the License for the + ~ specific language governing permissions and limitations + ~ under the License. + --%> + +<%@ page import="org.apache.cxf.jaxrs.client.JAXRSClientFactory" %> +<%@ page import="org.apache.cxf.jaxrs.provider.json.JSONProvider" %> +<%@ page import="org.apache.cxf.jaxrs.client.WebClient" %> +<%@ page import="org.apache.http.HttpStatus" %> +<%@ page import="org.owasp.encoder.Encode" %> +<%@ page import="org.wso2.carbon.identity.application.authentication.endpoint.util.client.SelfUserRegistrationResource" %> +<%@ page import="org.wso2.carbon.identity.application.authentication.endpoint.util.AuthenticationEndpointUtil" %> +<%@ page import="org.wso2.carbon.identity.application.authentication.endpoint.util.bean.ResendCodeRequestDTO" %> +<%@ page import="org.wso2.carbon.identity.application.authentication.endpoint.util.bean.UserDTO" %> +<%@ page import="java.net.URLEncoder" %> +<%@ page import="java.net.URLDecoder" %> +<%@ page import="javax.ws.rs.core.Response" %> +<%@ page import="static org.wso2.carbon.identity.core.util.IdentityUtil.isSelfSignUpEPAvailable" %> +<%@ page import="static org.wso2.carbon.identity.core.util.IdentityUtil.isRecoveryEPAvailable" %> +<%@ page import="static org.wso2.carbon.identity.core.util.IdentityUtil.getServerURL" %> +<%@ page import="org.apache.commons.codec.binary.Base64" %> +<%@ page import="org.apache.commons.text.StringEscapeUtils" %> +<%@ page import="java.nio.charset.Charset" %> +<%@ page import="org.wso2.carbon.base.ServerConfiguration" %> +<%@ page import="org.wso2.carbon.identity.application.authentication.endpoint.util.EndpointConfigManager" %> +<%@ page import="org.wso2.carbon.identity.core.URLBuilderException" %> +<%@ page import="org.wso2.carbon.identity.core.ServiceURLBuilder" %> + + + + +<%! + private static final String JAVAX_SERVLET_FORWARD_REQUEST_URI = "javax.servlet.forward.request_uri"; + private static final String JAVAX_SERVLET_FORWARD_QUERY_STRING = "javax.servlet.forward.query_string"; + private static final String UTF_8 = "UTF-8"; + private static final String TENANT_DOMAIN = "tenant-domain"; + private static final String ACCOUNT_RECOVERY_ENDPOINT = "/accountrecoveryendpoint"; + private static final String ACCOUNT_RECOVERY_ENDPOINT_RECOVER = "/recoveraccountrouter.do"; + private static final String ACCOUNT_RECOVERY_ENDPOINT_REGISTER = "/register.do"; +%> +<% + String resendUsername = request.getParameter("resend_username"); + if (StringUtils.isNotBlank(resendUsername)) { + ResendCodeRequestDTO selfRegistrationRequest = new ResendCodeRequestDTO(); + UserDTO userDTO = AuthenticationEndpointUtil.getUser(resendUsername); + selfRegistrationRequest.setUser(userDTO); + String path = config.getServletContext().getInitParameter(Constants.ACCOUNT_RECOVERY_REST_ENDPOINT_URL); + String proxyContextPath = ServerConfiguration.getInstance().getFirstProperty(IdentityCoreConstants + .PROXY_CONTEXT_PATH); + if (proxyContextPath == null) { + proxyContextPath = ""; + } + String url; + if (StringUtils.isNotBlank(EndpointConfigManager.getServerOrigin())) { + url = EndpointConfigManager.getServerOrigin() + proxyContextPath + path; + } else { + url = IdentityUtil.getServerURL(path, true, false); + } + url = url.replace(TENANT_DOMAIN, userDTO.getTenantDomain()); + List providers = new ArrayList(); + JSONProvider jsonProvider = new JSONProvider(); + jsonProvider.setDropRootElement(true); + jsonProvider.setIgnoreNamespaces(true); + jsonProvider.setValidateOutput(true); + jsonProvider.setSupportUnwrapped(true); + providers.add(jsonProvider); + String toEncode = EndpointConfigManager.getAppName() + ":" + String + .valueOf(EndpointConfigManager.getAppPassword()); + byte[] encoding = Base64.encodeBase64(toEncode.getBytes()); + String authHeader = new String(encoding, Charset.defaultCharset()); + String header = "Client " + authHeader; + SelfUserRegistrationResource selfUserRegistrationResource = JAXRSClientFactory + .create(url, SelfUserRegistrationResource.class, providers); + WebClient.client(selfUserRegistrationResource).header("Authorization", header); + Response selfRegistrationResponse = selfUserRegistrationResource.regenerateCode(selfRegistrationRequest); + if (selfRegistrationResponse != null && selfRegistrationResponse.getStatus() == HttpStatus.SC_CREATED) { +%> +
+ <%=AuthenticationEndpointUtil.i18n(resourceBundle,Constants.ACCOUNT_RESEND_SUCCESS_RESOURCE)%> +
+<% +} else { +%> +
+ <%=AuthenticationEndpointUtil.i18n(resourceBundle,Constants.ACCOUNT_RESEND_FAIL_RESOURCE)%> +
+<% + } + } +%> + +
+ <% + if (loginFormActionURL.equals(samlssoURL) || loginFormActionURL.equals(oauth2AuthorizeURL)) { + %> + + <% + } + %> + + <% if (Boolean.parseBoolean(loginFailed)) { %> +
+ <%= AuthenticationEndpointUtil.i18n(resourceBundle, errorMessage) %> +
+ <% } else if ((Boolean.TRUE.toString()).equals(request.getParameter("authz_failure"))){%> +
+ <%=AuthenticationEndpointUtil.i18n(resourceBundle, "unauthorized.to.login")%> +
+ <% } else { %> + + <% } %> + <% if(Boolean.parseBoolean(request.getParameter("passwordReset"))) { + %> +
+ <%=AuthenticationEndpointUtil.i18n(resourceBundle, "Updated.the.password.successfully")%> +
+ <% } %> + + <% if (!isIdentifierFirstLogin(inputType)) { %> +
+
+ " + data-testid="login-page-username-input" + required> + + +
+
+ <% } else { %> + + <% } %> +
+
+ " + data-testid="login-page-password-input" + > + +
+
+ <% + if (reCaptchaEnabled) { + %> +
+
" + data-testid="login-page-g-recaptcha" + > +
+
+ <% + } + %> + + <% + String recoveryEPAvailable = application.getInitParameter("EnableRecoveryEndpoint"); + String enableSelfSignUpEndpoint = application.getInitParameter("EnableSelfSignUpEndpoint"); + Boolean isRecoveryEPAvailable = false; + Boolean isSelfSignUpEPAvailable = false; + String identityMgtEndpointContext = ""; + String urlEncodedURL = ""; + String urlParameters = ""; + if (StringUtils.isNotBlank(recoveryEPAvailable)) { + isRecoveryEPAvailable = Boolean.valueOf(recoveryEPAvailable); + } else { + isRecoveryEPAvailable = isRecoveryEPAvailable(); + } + if (StringUtils.isNotBlank(enableSelfSignUpEndpoint)) { + isSelfSignUpEPAvailable = Boolean.valueOf(enableSelfSignUpEndpoint); + } else { + isSelfSignUpEPAvailable = isSelfSignUpEPAvailable(); + } + if (isRecoveryEPAvailable || isSelfSignUpEPAvailable) { + String scheme = request.getScheme(); + String serverName = request.getServerName(); + int serverPort = request.getServerPort(); + String uri = (String) request.getAttribute(JAVAX_SERVLET_FORWARD_REQUEST_URI); + String prmstr = URLDecoder.decode(((String) request.getAttribute(JAVAX_SERVLET_FORWARD_QUERY_STRING)), UTF_8); + String urlWithoutEncoding = scheme + "://" +serverName + ":" + serverPort + uri + "?" + prmstr; + urlEncodedURL = URLEncoder.encode(urlWithoutEncoding, UTF_8); + urlParameters = (String) request.getAttribute(JAVAX_SERVLET_FORWARD_QUERY_STRING); + + identityMgtEndpointContext = application.getInitParameter("IdentityManagementEndpointContextURL"); + if (StringUtils.isBlank(identityMgtEndpointContext)) { + try { + identityMgtEndpointContext = ServiceURLBuilder.create().addPath(ACCOUNT_RECOVERY_ENDPOINT).build() + .getAbsolutePublicURL(); + } catch (URLBuilderException e) { + request.setAttribute(STATUS, AuthenticationEndpointUtil.i18n(resourceBundle, CONFIGURATION_ERROR)); + request.setAttribute(STATUS_MSG, AuthenticationEndpointUtil + .i18n(resourceBundle, ERROR_WHILE_BUILDING_THE_ACCOUNT_RECOVERY_ENDPOINT_URL)); + request.getRequestDispatcher("error.do").forward(request, response); + return; + } + } + } + %> + +
+ <% if (isRecoveryEPAvailable) { %> +
+ <%=AuthenticationEndpointUtil.i18n(resourceBundle, "forgot.username.password")%> + + <%=AuthenticationEndpointUtil.i18n(resourceBundle, "forgot.password")%> + + ? +
+ <% } %> + + <% if (isIdentifierFirstLogin(inputType)) { %> + + <% } %> +
+ + + +
+
+ + +
+
+ + + + + <% + boolean showCookiePolicy = (Boolean)request.getAttribute("showCookiePolicy"); + if (showCookiePolicy) { + %> +
+ <% + String cookiePolicyText = (String)request.getAttribute("cookiePolicyText"); + if (!StringUtils.isEmpty(cookiePolicyText)) { + %> + <%=cookiePolicyText%> + <% } else { %> + <%=AuthenticationEndpointUtil.i18n(resourceBundle, "privacy.policy.cookies.short.description")%> + <% } %> + + <%=AuthenticationEndpointUtil.i18n(resourceBundle, "privacy.policy.cookies")%> + + <%=AuthenticationEndpointUtil.i18n(resourceBundle, "privacy.policy.for.more.details")%> +
+ <% } %> + + <% + boolean showPrivacyPolicy = (Boolean)request.getAttribute("showPrivacyPolicy"); + if (showPrivacyPolicy) { + %> +
+ <% + String privacyPolicyText = (String)request.getAttribute("privacyPolicyText"); + if (!StringUtils.isEmpty(privacyPolicyText)) { + %> + <%=privacyPolicyText%> + <% } else { %> + <%=AuthenticationEndpointUtil.i18n(resourceBundle, "privacy.policy.privacy.short.description")%> + <% } %> + + <%=AuthenticationEndpointUtil.i18n(resourceBundle, "privacy.policy.general")%> + +
+ +
+ <% + String cookiePolicyText = (String)request.getAttribute("cookiePolicyText"); + if (!StringUtils.isEmpty(cookiePolicyText)) { + %> + <%=cookiePolicyText%> + <% } else { %> + <%=AuthenticationEndpointUtil.i18n(resourceBundle, "privacy.policy.asgardio.description.pt1")%> + <% } %> + + <%=AuthenticationEndpointUtil.i18n(resourceBundle, "privacy.policy.asgardio.description.pt2")%> +
+ <%=AuthenticationEndpointUtil.i18n(resourceBundle, "privacy.policy.asgardio.description.pt3")%> + + <%=AuthenticationEndpointUtil.i18n(resourceBundle, "privacy.policy.asgardio.description.pt4")%> + + <%=AuthenticationEndpointUtil.i18n(resourceBundle, "privacy.policy.asgardio.description.pt5")%> +
+ <% } %> + + +
+
+ <% + String sp = request.getParameter("sp"); + if ( (sp != null && !sp.endsWith("apim_publisher")) && isSelfSignUpEPAvailable && !isIdentifierFirstLogin(inputType)) { %> + + <% } %> +
+
+ +
+
+ + <% if (Boolean.parseBoolean(loginFailed) && errorCode.equals(IdentityCoreConstants.USER_ACCOUNT_NOT_CONFIRMED_ERROR_CODE) && request.getParameter("resend_username") == null) { %> + + + <% } %> + <%! + private String getRecoverAccountUrl(String identityMgtEndpointContext, String urlEncodedURL, + boolean isUsernameRecovery, String urlParameters) { + + return identityMgtEndpointContext + ACCOUNT_RECOVERY_ENDPOINT_RECOVER + "?" + urlParameters + + "&isUsernameRecovery=" + isUsernameRecovery + "&callback=" + Encode + .forHtmlAttribute(urlEncodedURL); + } + + private String getRegistrationUrl(String identityMgtEndpointContext, String urlEncodedURL, + String urlParameters) { + + return identityMgtEndpointContext + ACCOUNT_RECOVERY_ENDPOINT_REGISTER + "?" + + urlParameters + "&callback=" + Encode.forHtmlAttribute(urlEncodedURL); + } + + %> +
diff --git a/iot-core/src/core/resources/extensions/cookie-policy-content.jsp b/iot-core/src/core/resources/extensions/cookie-policy-content.jsp index a4f3d05..8b01401 100644 --- a/iot-core/src/core/resources/extensions/cookie-policy-content.jsp +++ b/iot-core/src/core/resources/extensions/cookie-policy-content.jsp @@ -27,71 +27,71 @@

- Entgra IoT Server - Cookie Policy + Entgra UEM Server - Cookie Policy

<%-- Customizable content. Due to this nature, i18n is not implemented for this section --%>
-

About Entgra IoT Server

-

Entgra IoT Server is a complete solution that enables device manufacturers and enterprises to connect and manage their devices, build apps, manage events, secure devices and data, and visualize sensor data in a scalable manner. +

About Entgra UEM Server

+

Entgra UEM Server is a complete solution that enables device manufacturers and enterprises to connect and manage their devices, build apps, manage events, secure devices and data, and visualize sensor data in a scalable manner.

It also offers a complete and secure enterprise mobility management (EMM/MDM) solution that aims to address mobile computing challenges faced by enterprises today. Supporting iOS, Android, and Windows devices, it helps organizations deal with both corporate owned, personally enabled (COPE) and employee-owned devices with the bring your own device (BYOD) concept.

-

Entgra IoT Server comes with advanced analytics, enabling users to analyze speed, proximity, and geo-fencing information of devices including details of those in motion and stationary state.

+

Entgra UEM Server comes with advanced analytics, enabling users to analyze speed, proximity, and geo-fencing information of devices including details of those in motion and stationary state.

-

IoT Server uses cookies to provide you with the best user experience, and to securely identify you. You might not be able to access some of the services if you disable cookies.

+

UEM Server uses cookies to provide you with the best user experience, and to securely identify you. You might not be able to access some of the services if you disable cookies.

A browser cookie is a small piece of data that is stored on your device to help websites and mobile apps remember things about you. Other technologies, including Web storage and identifiers associated with your device, may be used for similar purposes. In this policy, we use the term “cookies” to discuss all of these technologies.

-

How does IoT Sever process cookies ?

-

IoT Server uses cookies to store and retrieve information on your browser. This information is used to provide a better user experience. Some cookies have the primary purpose of allowing logging in to the system, maintaining sessions, and keeping track of activities you do within the login session.

-

Some cookies used in IoT Server are used to identify you personally. However, the cookie lifetime will end when you log-out ending your session or when your session expires.

+

How does UEM Sever process cookies ?

+

UEM Server uses cookies to store and retrieve information on your browser. This information is used to provide a better user experience. Some cookies have the primary purpose of allowing logging in to the system, maintaining sessions, and keeping track of activities you do within the login session.

+

Some cookies used in UEM Server are used to identify you personally. However, the cookie lifetime will end when you log-out ending your session or when your session expires.

Some cookies are simply used to give you a more personalised web experience, and these cannot be used to identify you or your activities personally.

-

This Cookie Policy is part of the IoT Server Privacy Policy.

+

This Cookie Policy is part of the UEM Server Privacy Policy.

-

What does IoT use cookies for ?

-

Cookies are used for two purposes in IoT server

+

What does UEM use cookies for ?

+

Cookies are used for two purposes in UEM server

  1. Security.
  2. Providing a better user experience.
-

IoT Server uses cookies for the following purposes

+

UEM Server uses cookies for the following purposes

Preferences

-

IoT Server uses cookies to remember your settings and preferences and to auto-fill the fields to make your interactions with the site easier.

+

UEM Server uses cookies to remember your settings and preferences and to auto-fill the fields to make your interactions with the site easier.

  • These cannot be used to identify you personally.

Security

-

IoT Server uses selected cookies to identify and prevent security risks.

-

For example, IoT Server may use cookies to store your session information to prevent others from changing your password without your username and password.

-

IoT Server uses session cookie to maintain your active session.

-

IoT Server may use a temporary cookie when performing multi-factor authentication and federated authentication.

-

IoT Server may use permanent cookies to detect the devices you have logged in previously. This is to to calculate the risk level associated with your current login attempt. Using these cookies protects you and your account from possible attacks.

+

UEM Server uses selected cookies to identify and prevent security risks.

+

For example, UEM Server may use cookies to store your session information to prevent others from changing your password without your username and password.

+

UEM Server uses session cookie to maintain your active session.

+

UEM Server may use a temporary cookie when performing multi-factor authentication and federated authentication.

+

UEM Server may use permanent cookies to detect the devices you have logged in previously. This is to to calculate the risk level associated with your current login attempt. Using these cookies protects you and your account from possible attacks.

Performance

-

IoT Server may use cookies to allow “Remember Me” functionalities.

+

UEM Server may use cookies to allow “Remember Me” functionalities.

Analytics

-

IoT Server as a product does not use cookies for analytical purposes.

+

UEM Server as a product does not use cookies for analytical purposes.

Third party cookies

-

Using IoT Server may cause some third-party cookie being set to your browser. IoT Server has no control over the operation of these cookies. The third-party cookies which maybe set include,

+

Using UEM Server may cause some third-party cookie being set to your browser. UEM Server has no control over the operation of these cookies. The third-party cookies which maybe set include,

    -
  • Any of the social login sites, when IoT Server is configured to use “Social” or “Federated” login, and you opt to do login with your “Social Account”
  • +
  • Any of the social login sites, when UEM Server is configured to use “Social” or “Federated” login, and you opt to do login with your “Social Account”
  • Any third party federated login
-

We strongly advise you to refer the respective cookie policies of such sites carefully as IoT Server has no knowledge or use on these cookies.

+

We strongly advise you to refer the respective cookie policies of such sites carefully as UEM Server has no knowledge or use on these cookies.

-

What type of cookies does IoT Server use ?

-

IoT Server uses persistent cookies and session cookies. A persistent cookie helps IoT Server to recognize you as an existing user, so you can easily return to WSO2 or interact with IoT Server without signing in again. After you sign in, a persistent cookie stays in your browser and will be read by IoT Server when you return.

+

What type of cookies does UEM Server use ?

+

UEM Server uses persistent cookies and session cookies. A persistent cookie helps UEM Server to recognize you as an existing user, so you can easily return to WSO2 or interact with UEM Server without signing in again. After you sign in, a persistent cookie stays in your browser and will be read by UEM Server when you return.

A session cookie is erased when the user closes the Web browser. It is stored in temporarily and is not retained after the browser is closed. Session cookies do not collect information from the user’s computer.

How do I control my cookies ?

-

Most browsers allow you to control cookies through settings. However, if you limit the ability of websites to set cookies, you may worsen your overall user experience, since it will no longer be personalized to you. It may also stop you from saving customized settings like login information. Disabling cookies might make you unable to use Authentication and Authorization functionalities offered by IoT Server.

-

If you have any questions or concerns regarding the use of cookies, please contact the Data Protection Officer of the organization running this IoT Server instance.

+

Most browsers allow you to control cookies through settings. However, if you limit the ability of websites to set cookies, you may worsen your overall user experience, since it will no longer be personalized to you. It may also stop you from saving customized settings like login information. Disabling cookies might make you unable to use Authentication and Authorization functionalities offered by UEM Server.

+

If you have any questions or concerns regarding the use of cookies, please contact the Data Protection Officer of the organization running this UEM Server instance.

What are the cookies used ?

@@ -144,7 +144,7 @@

Disclaimer

-

This cookie policy is only for illustrative purposes of the IoT Server product. The content in this policy is technically correct at the time of product shipment. The organization which runs this IoT Server instance has the full authority and responsibility of the effective Cookie Policy.

+

This cookie policy is only for illustrative purposes of the UEM Server product. The content in this policy is technically correct at the time of product shipment. The organization which runs this UEM Server instance has the full authority and responsibility of the effective Cookie Policy.

<%-- /Customizable content --%>
diff --git a/iot-core/src/core/resources/extensions/header.jsp b/iot-core/src/core/resources/extensions/header.jsp index 4726054..52b8ff6 100644 --- a/iot-core/src/core/resources/extensions/header.jsp +++ b/iot-core/src/core/resources/extensions/header.jsp @@ -47,9 +47,9 @@ } } - String headerTitle = "IOT Server"; - String pageTitle = "Entgra IOT Server"; - String footerText = "Entgra IOT Server"; + String headerTitle = "UEM Server"; + String pageTitle = "Entgra UEM Server"; // + String footerText = "Entgra UEM Server"; String faviconSrc = "libs/theme/assets/images/favicon.ico"; String logoSrc = null; String logoHeight = "50"; @@ -79,11 +79,11 @@ Object obj = parser.parse(fr); JSONObject jsonObject = (JSONObject) obj; - pageTitle = (String)jsonObject.get("title") != null ? (String)jsonObject.get("title") : "Entgra IOT Server"; + pageTitle = (String)jsonObject.get("title") != null ? (String)jsonObject.get("title") : "Entgra UEM Server"; JSONObject headerThemeObj = (JSONObject)jsonObject.get("header"); if (headerThemeObj != null) { - headerTitle = (String)(headerThemeObj.get("title")) != null ? (String)(headerThemeObj.get("title")) : "IOT Server"; + headerTitle = (String)(headerThemeObj.get("title")) != null ? (String)(headerThemeObj.get("title")) : "UEM Server"; } JSONObject footerThemeObj = (JSONObject)jsonObject.get("footer"); diff --git a/iot-core/src/core/resources/extensions/privacy-policy-content.jsp b/iot-core/src/core/resources/extensions/privacy-policy-content.jsp index 762228c..76b6b09 100644 --- a/iot-core/src/core/resources/extensions/privacy-policy-content.jsp +++ b/iot-core/src/core/resources/extensions/privacy-policy-content.jsp @@ -27,14 +27,14 @@

- Entgra IOT Server - Privacy Policy + Entgra UEM Server - Privacy Policy

<%-- Customizable content. Due to this nature, i18n is not implemented for this section --%>
-

About Entgra IOT Server

-

Entgra IoT Server is a complete solution that enables device +

About Entgra UEM Server

+

Entgra UEM Server is a complete solution that enables device manufacturers and enterprises to connect and manage their devices, build apps, manage events, secure devices and data, and visualize sensor data in a scalable manner.

@@ -44,27 +44,27 @@ devices, it helps organizations deal with both Corporate Owned, Personally Enabled (COPE) and employee-owned devices with the Bring Your Own Device (BYOD) concept.

-

Entgra IoT Server comes with advanced analytics, enabling users to +

Entgra UEM Server comes with advanced analytics, enabling users to analyze speed, proximity, and geo-fencing information of devices including details of those in motion and stationary state.

Privacy Policy

-

This policy describes how Entgra IoT Server 4.0.0 captures your +

This policy describes how Entgra UEM Server 4.0.0 captures your personal information, the purposes of collection, and information about the retention of your personal information.

Please note that this policy is for reference only, and is applicable for the software as a product. Entgra and its developers have no - access to the information held within Entgra IoT Server 4.0.0.Please + access to the information held within Entgra UEM Server 4.0.0.Please see the Disclaimer section for more information. Entities, organisations or individuals controlling the use and administration of - Entgra IoT Server 4.0.0 should create their own privacy policies + Entgra UEM Server 4.0.0 should create their own privacy policies setting out the manner in which data is controlled or processed by the respective entity, organisation or individual.

What are the personal information ?

-

Entgra IoT Server 4.0.0 considers anything related to you and by which +

Entgra UEM Server 4.0.0 considers anything related to you and by which you may be identified as your personal information.

- Signing in to Entgra IoT Server + Signing in to Entgra UEM Server
  1. Your user name (except in cases where the user name created by your @@ -73,7 +73,7 @@
  2. IP address used to log in
  3. Email address
- Enrolling a device with Entgra IoT Server + Enrolling a device with Entgra UEM Server
  • Your device ID (e.g., phone or tablet), mobile number, IMEI number, @@ -86,7 +86,7 @@ connected hotspot details, and memory usage
-

However, Entgra IoT Server 4.0.0 also collects the following +

However, Entgra UEM Server 4.0.0 also collects the following information that is not considered personal information, but is used only for statistical purposes. The reason for this is that this information can not be used to track you.

@@ -105,26 +105,26 @@

Collection of your information

-

Entgra IoT Server collects your information only to serve your +

Entgra UEM Server collects your information only to serve your access requirements.

For example,

  • - Entgra IoT Server uses your IP address to detect any + Entgra UEM Server uses your IP address to detect any suspicious login attempts to your account.
  • - Entgra IoT Server uses attributes like your first name, last + Entgra UEM Server uses attributes like your first name, last name, etc., to provide a rich and personalized user experience.
  • - Entgra IoT Server uses your security questions and answers + Entgra UEM Server uses your security questions and answers only to allow account recovery.

Tracking Technologies

-

Entgra IoT Server collects your information by:

+

Entgra UEM Server collects your information by:

  • Collecting information from the user profile page where you enter @@ -143,20 +143,20 @@

    Use of your personal information

    -

    Entgra IoT Server 4.0.0 will only use your personal information for +

    Entgra UEM Server 4.0.0 will only use your personal information for the purposes for which it was collected (or for a use identified as consistent with that purpose).

    -

    Entgra IoT Server 4.0.0 uses your personal information only for the +

    Entgra UEM Server 4.0.0 uses your personal information only for the following purposes.

    • - To provide you with a personalized user experience. Entgra IoT + To provide you with a personalized user experience. Entgra UEM Server 4.0.0 uses your name and uploaded profile pictures for this purpose.
    • To protect your account from unauthorized access or potential - hacking attempts. Entgra IoT Server 4.0.0 uses HTTP or TCP/IP + hacking attempts. Entgra UEM Server 4.0.0 uses HTTP or TCP/IP Headers for this purpose.
    • @@ -169,12 +169,12 @@
    • Derive statistical data for analytical purposes on system - performance improvements. Entgra IoT Server 4.0.0 will not keep any + performance improvements. Entgra UEM Server 4.0.0 will not keep any personal information after statistical calculations. Therefore, the statistical report has no means of identifying an individual person.
    • - Entgra IoT Server 4.0.0 may use: + Entgra UEM Server 4.0.0 may use:
      1. IP Address to derive geographic information
      2. @@ -186,9 +186,9 @@

    Disclosure of your personal information

    -

    Entgra IoT Server 4.0.0 only discloses personal information to the +

    Entgra UEM Server 4.0.0 only discloses personal information to the relevant applications (also known as “Service Providers”) that are - registered with Entgra IoT Server 4.0.0. These applications are + registered with Entgra UEM Server 4.0.0. These applications are registered by the identity administrator of your entity or organization. Personal information is disclosed only for the purposes for which it was collected (or for a use identified as consistent with @@ -197,26 +197,26 @@

    Please note that the organisation, entity or individual running Entgra - IoT Server 4.0.0 may be compelled to disclose your personal + UEM Server 4.0.0 may be compelled to disclose your personal information with or without your consent when it is required by law following due and lawful process.

    Storage of personal information

    Where your personal information is stored

    -

    Entgra IoT Server 4.0.0 stores your personal information in secured - databases. Entgra IoT Server 4.0.0 exercises proper industry accepted +

    Entgra UEM Server 4.0.0 stores your personal information in secured + databases. Entgra UEM Server 4.0.0 exercises proper industry accepted security measures to protect the database where your personal - information is held.Entgra IoT Server 4.0.0 as a product does not + information is held.Entgra UEM Server 4.0.0 as a product does not transfer or share your data with any third parties or locations.

    -

    Entgra IoT Server 4.0.0 may use encryption to keep your personal data +

    Entgra UEM Server 4.0.0 may use encryption to keep your personal data with an added level of security.

    How long your personal information is retaineds ?

    -

    Entgra IoT Server 4.0.0 retains your personal data as long as you are +

    Entgra UEM Server 4.0.0 retains your personal data as long as you are an active user of our system. You can update your personal data at any time using the given self-care user portals.

    -

    Entgra IoT Server 4.0.0 may keep hashed secrets to provide you with an +

    Entgra UEM Server 4.0.0 may keep hashed secrets to provide you with an added level of security. This includes:

    • Current password
    • @@ -229,13 +229,13 @@ under, or the super-administrator if you do not use the tenant feature.

      Additionally, you can request to anonymize all traces of your - activities that Entgra IoT Server 4.0.0 may have retained in logs, + activities that Entgra UEM Server 4.0.0 may have retained in logs, databases or analytical storage.

      More Information

      Changes to this policy

      -

      Upgraded versions of Entgra IoT Server 4.0.0 may contain changes to +

      Upgraded versions of Entgra UEM Server 4.0.0 may contain changes to this policy. Revisions to this policy will be packaged within such upgrades and would only apply to users who choose to use upgraded versions.

      @@ -243,7 +243,7 @@

      Your choices

      - If you are already have an user account within Entgra IoT Server 4.0.0 + If you are already have an user account within Entgra UEM Server 4.0.0 ; you have the right to deactivate your account if you find that this privacy policy is unacceptable to you.

      @@ -261,25 +261,25 @@

      Entgra, its employees, partners, and affiliates do not have access to and do not require, store, process or control any of the data, - including personal data contained in Entgra IoT Server 4.0.0. All + including personal data contained in Entgra UEM Server 4.0.0. All data, including personal data is controlled and processed by the - entity or individual running Entgra IoT Server 4.0.0. Entgra, its + entity or individual running Entgra UEM Server 4.0.0. Entgra, its employees partners and affiliates are not a data processor or a data controller within the meaning of any data privacy regulations. Entgra does not provide any warranties or undertake any responsibility or liability in connection with the lawfulness or the manner and purposes - for which Entgra IoT Server 4.0.0 is used by such entities or persons. + for which Entgra UEM Server 4.0.0 is used by such entities or persons.

      This privacy policy is for the informational purposes of the entity or - persons running Entgra IoT Server 4.0.0 and sets out the processes and - functionality contained within Entgra IoT Server 4.0.0 regarding + persons running Entgra UEM Server 4.0.0 and sets out the processes and + functionality contained within Entgra UEM Server 4.0.0 regarding personal data protection. It is the responsibility of entities and - persons running Entgra IoT Server 4.0.0 to create and administer its + persons running Entgra UEM Server 4.0.0 to create and administer its own rules and processes governing users’ personal data, Please note that the creation of such rules and processes may change the use, storage and disclosure policies contained herein. Therefore users - should consult the entity or persons running Entgra IoT Server 4.0.0 + should consult the entity or persons running Entgra UEM Server 4.0.0 for its own privacy policy for details governing users’ personal data.

diff --git a/iot-core/src/core/resources/extensions/product-title.jsp b/iot-core/src/core/resources/extensions/product-title.jsp index 5a14a40..3fa1a4b 100644 --- a/iot-core/src/core/resources/extensions/product-title.jsp +++ b/iot-core/src/core/resources/extensions/product-title.jsp @@ -20,12 +20,12 @@ <%@ page import="org.apache.commons.lang.StringUtils"%> -<% if ("IOT Server".equals(request.getAttribute("headerTitle"))) { %> +<% if ("UEM Server".equals(request.getAttribute("headerTitle"))) { %>
-

IOT Server

+

UEM Server

<% } else { diff --git a/iot-core/src/core/resources/org/wso2/carbon/identity/application/authentication/endpoint/i18n/Resources.properties b/iot-core/src/core/resources/org/wso2/carbon/identity/application/authentication/endpoint/i18n/Resources.properties new file mode 100644 index 0000000..e7ed4df --- /dev/null +++ b/iot-core/src/core/resources/org/wso2/carbon/identity/application/authentication/endpoint/i18n/Resources.properties @@ -0,0 +1,196 @@ +# +# Copyright (c) 2021, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. +# +# WSO2 Inc. licenses this file to you under the Apache License, +# Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +login=Sign In +welcome=Welcome +username=Username +password=Password +confirm.password=Confirm Password +email=Email +login.fail.message=Login failed! Please recheck the username and password and try again. +emailusername.fail.message=Invalid username! Username should be an E-Mail address. +username.fail.message=Could not find any account with this user name! Please recheck the username and try again. +password.fail.message=Login failed! Please recheck the password and try again. +recaptcha.fail.message=reCaptcha validation is required for user. +account.confirmation.pending=Account is unverified. An account activation link has been sent to your registered email address, please check your inbox. +password.reset.pending=Password reset is required. A password reset link has been sent to your registered email address, please check your inbox. +account.resend.email.success=Email sent successfully. +account.resend.email.fail=Email sent fail. +user.tenant.domain.mismatch.message=Application you are trying to access does not allow users from your organization. +remember.me=Remember me on this computer +remember.my.consent=Remember my consent +signin.to.authenticate1=Please sign in to authenticate to +signin.to.authenticate2=as +profile=Profile : +cancel=Cancel +approve=Approve +continue=Continue +next=Next +allow=Allow +deny=Deny +approve.always=Approve Always +approve.once=Approve Once +request.access.scope=requests access to +request.access.profile=would need to +saml.sso=SAML 2.0 based Single Sign-On +tenantListLabel=Tenant +select.tenant.dropdown.display.name=Select Tenant +super.tenant.display.name=Super Tenant +super.tenant=carbon.super +domain.unknown=domain.unknown +not.me=Not +privacy.policy.asgardio.description.pt1=Entgra supports WSO2 +privacy.policy.asgardio.description.pt2=Asgardeo login. +privacy.policy.asgardio.description.pt3=If you are on a cloud deployment, contact Entgra to enable. Please follow the +privacy.policy.asgardio.description.pt4=documentation +privacy.policy.asgardio.description.pt5=for more details. +forgot.username.password=Forgot +forgot.username.password.or=or +forgot.password=Password +forgot.username=Username +login.as.different.user=Login as a different user +no.account=Don't have an account? +have.account=Already have an account? +register.now=Register Now +register=Register +no.confirmation.mail=Not received confirmation email? +resend.mail=Resend +openid=Open ID +openid.user.claims=OpenID User Claims +username.or.password.invalid=Username or Password is Invalid +create.an.account=Create an account +unauthorized.to.login=You are not authorized to login +domain.cannot.be.identified=Domain cannot be identified! Please retry. +wso2.identity.server=WSO2 Identity Server +identity.server=Identity Server +domain=Domain +submit=Submit +inc=Inc +all.rights.reserved=All rights reserved +verification=Verification +touch.your.u2f.device=Touch your FIDO device to Proceed +authentication.error=Authentication Error! +something.went.wrong.during.authentication=Something went wrong during the authentication process. Please try signing in again. +misconfiguration.error=Misconfiguration Error! +something.went.wrong.contact.admin=Something went wrong during the authentication process. Please contact identity admin. +attention=Attention +no.template.found=Page not found. +provide.mandatory.details=Provide Mandatory Details +requested.claims.recommendation= application,that you are trying to login to needs following information filled in the user profile. You can fill those below and proceed with the authentication. But it is advised to fill these information in your Identity Provider profile in order to avoid this step every time you login +logged.out=You have successfully logged out. +authorize=Authorize +invalid.request=Invalid Request +oauth.processing.error.msg=OAuth Processing Error Message +openid.connect.logout=OpenID connect logout +do.you.want.to.logout=Do you want to logout? +yes=Yes +no=No +openid2.profile=OpenID2.0 Profile +claim.uri=Claim URI +claim.value=Claim Value +internal.error.occurred=Internal Error Occurred +information=Information +user.details.submitted=User details successfully submitted +close=Close +other.login.options=Other login options +sign.in.with=Sign In With +domain.name=Domain Name +go=Go +please.select.recaptcha=Please select recaptcha +error.when.processing.authentication.request=Error when processing authentication request! +please.try.login.again=Please try login again! +you.are.redirected.back.to=You are now redirected back to, +if.the.redirection.fails.please.click=If the redirection fails, please click the +post=POST +enter.required.fields.to.complete.registration=Enter required fields to complete registration +first.name=First Name +last.name=Last Name +password.mismatch=Passwords did not match. Please try again +user.exists=User already exist +unknown.error=Unknown error occurred +authentication.failed.please.retry=Authentication Failed! Please Retry +user.consents=User Consents +mandatory.claims.recommendation=Mandatory claims are marked with an asterisk +mandatory.claims.warning.msg.1=You need to provide consent for +mandatory.claims.warning.msg.2=all the mandatory claims +mandatory.claims.warning.msg.3=in order to proceed +privacy.policy.cookies=Cookie Policy +privacy.policy.cookies.short.description=We use browser cookies to track your session to give better experience. You can refer our +privacy.policy.general=Privacy Policy +privacy.policy.privacy.short.description.approving.head=Make sure you trust +privacy.policy.privacy.short.description.approving=You may be sharing sensitive info with this site or app. Learn about how +privacy.policy.privacy.short.description.approving2=will handle your data by reviewing its +privacy.policy.privacy.short.description=By signing in, you agree to our +privacy.policy.for.more.details=for more details. +under.construction=This page is under construction +by.selecting.following.attributes=By selecting following attributes you agree to share them with the +select.all=Select All +requested.scopes=Granting permission to +requested.attributes=Know some of your details +please.select.approve.always=Please select either "Approve Once" or "Approve Always" to provide consent to requested scopes to continue +ok=Ok +mandatory.claims=Mandatory claims +configuration.error=Configuration Error! +authentication.mechanism.not.configured=Authentication mechanism not properly configured. +Error.while.building.the.account.recovery.endpoint.url=Error while building the account recovery endpoint url. +add.challenge.answers=Add Answers for Challenge Questions +answer.following.questions=Answer the following challenge questions +challenge.question.set=Challenge Question Set +select.challenge.question=Select one challenge question +answers.challenge.question=Answers for challenge questions +type.your.challenge.answer=Type your answers for the challenge questions +update=Update +enter.valid.answers.for.challenge.questions = Please enter valid answers for the challenge questions +already.logged.in = You are logged in. +log.in.as = Log in as {0} +not.you = Not You? +business.name=WSO2 +business.homepage=http://wso2.com/ +sign.in.different.account=Sign in with a different account +create.account=Create Account +login.success.app=Login successful for application: +close.browser=.Please close the browser and return to your device. +successful=Successful +device.flow.sign.in=Device Flow Sign In +no.sessions.selected=No Sessions Selected +mandatory.sessions.warning.msg.1=You need to select +mandatory.sessions.warning.msg.2=at lest 1 session +mandatory.sessions.warning.msg.3=in order to proceed +multiple.active.sessions.found=Multiple Active Session(s) Found +terminate.selected.active.sessions.and.proceed=Terminate Selected Active Sessions & Proceed +deny.login=Deny Login +refresh.sessions=Refresh Sessions +terminate.unwanted.sessions.message.1=You need to either terminate unwanted active session(s) & proceed, or deny the login +terminate.unwanted.sessions.message.2=Please select your option +you.currently.have.x.active.sessions.1=You currently have +you.currently.have.x.active.sessions.2=active session(s) +you.currently.have.x.active.sessions.3=You are not allowed to have more than +browser=Browser +platform=Platform +last.accessed=Last Accessed +Updated.the.password.successfully=Updated the password successfully +suspicious.authentication.attempts=Suspicious authentication attempts found +suspicious.authentication.attempts.description=Suspicious login attempts found during the authentication process. Please try signing in again. +resend.confirmation.page.title=Resend Confirmation Email +resend.confirmation.page.message=Please complete the captcha below. +80018=Authentication error! Provided username already exists. +80019=Error while checking the user details. +80020=Internal Error Occurred. Error while getting the user store details. +80021=Invalid user store domain is specified. +80022=Internal Error Occurred. Error while getting the user store manager. +80023=Invalid user store is specified. \ No newline at end of file diff --git a/iot-core/src/core/resources/org/wso2/carbon/identity/application/authentication/endpoint/i18n/Resources_fr_FR.properties b/iot-core/src/core/resources/org/wso2/carbon/identity/application/authentication/endpoint/i18n/Resources_fr_FR.properties new file mode 100644 index 0000000..28a4dd0 --- /dev/null +++ b/iot-core/src/core/resources/org/wso2/carbon/identity/application/authentication/endpoint/i18n/Resources_fr_FR.properties @@ -0,0 +1,189 @@ +# +# Copyright (c) 2021, WSO2 Inc. (http://www.wso2.org) All Rights Reserved. +# +# WSO2 Inc. licenses this file to you under the Apache License, +# Version 2.0 (the "License"); you may not use this file except +# in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +# + +login=Se connecter +welcome=Bienvenue +username=Nom d'utilisateur +password=Mot de passe +confirm.password=Confirmer le mot de passe +email=Courriel +login.fail.message=Connexion échouée ! Veuillez revérifier le nom d'utilisateur et le mot de passe et réessayer. +emailusername.fail.message=Nom d'utilisateur invalide ! Le nom d'utilisateur doit être une adresse e-mail. +username.fail.message=Impossible de trouver un compte avec ce nom d'utilisateur ! Veuillez revérifier le nom d'utilisateur et réessayer. +password.fail.message=Connexion échouée ! Veuillez revérifier le mot de passe et réessayer. +recaptcha.fail.message=La validation par reCaptcha est requise pour l'utilisateur. +account.confirmation.pending=Le compte n'est pas vérifié. Un lien d'activation de compte a été envoyé à votre adresse électronique enregistrée, veuillez vérifier votre boîte de réception. +password.reset.pending=La réinitialisation du mot de passe est requise. Un lien de réinitialisation du mot de passe a été envoyé à votre adresse électronique +account.resend.email.success=L'e-mail a été envoyé avec succès. +account.resend.email.fail=L'envoi de l'email a échoué. +user.tenant.domain.mismatch.message=L'application à laquelle vous essayez d'accéder n'autorise pas les utilisateurs de votre organisation. +remember.my.consent=Souviens-toi de mon consentement +remember.me=Se souvenir de moi sur cet ordinateur +signin.to.authenticate1=Veuillez vous connecter pour vous authentifier +signin.to.authenticate2=en tant que +profile=Profil : +cancel=Annuler +approve=Approuver +continue=Continuer +next=Suivant +allow=Autoriser +deny=Refuser +approve.always=Toujours approuver +approve.once=Approuver qu'une fois +request.access.scope=demande d'accès à +request.access.profile=aurait besoin de +saml.sso=Authentification unique basée sur SAML 2.0 +tenantListLabel=Locataire +select.tenant.dropdown.display.name=Sélectionner un locataire +super.tenant.display.name=Hôte +super.tenant=carbon.super +domain.unknown=domain.unknown +not.me=Pas +forgot.username.password=Oublié votre +forgot.username.password.or=ou +forgot.password=Mot de passe +forgot.username=Nom d'utilisateur +login.as.different.user=Se connecter en tant qu' un autre utilisateur +no.account=Vous n'avez pas de compte ? +have.account=Vous avez déjà un compte ? +register.now=S'inscrire maintenant +register=Inscription +no.confirmation.mail=Vous n'avez pas reçu d'e-mail de confirmation ? +resend.mail=Re-envoyer +openid=Open ID +openid.user.claims=Attributs utilisateur OpenID +username.or.password.invalid=Le nom d'utilisateur ou le mot de passe est invalide +create.an.account=Créer un compte +unauthorized.to.login=Vous n'êtes pas autorisé à vous connecter +domain.cannot.be.identified=Le domaine ne peut pas être identifié ! Veuillez réessayer. +wso2.identity.server=WSO2 Identity Server +identity.server=Identity Server +domain=Domaine +submit=Soumettre +inc=Inc +all.rights.reserved=Tous droits réservés +verification=Vérification +touch.your.u2f.device=Touchez votre appareil FIDO pour continuer +authentication.error=Erreur d'authentification ! +something.went.wrong.during.authentication=Quelque chose s'est mal passé pendant le processus d'authentification. Veuillez essayer de vous connecter à nouveau. +misconfiguration.error=Erreur de configuration ! +something.went.wrong.contact.admin=Quelque chose s'est mal passé pendant le processus d'authentification. Veuillez contacter l'administrateur de l'identité. +attention=Attention +no.template.found=Page non trouvée. +provide.mandatory.details=Fournir les détails obligatoires +requested.claims.recommendation= L'application, à laquelle vous essayez de vous connecter, a besoin des informations figurant dans votre profil d'utilisateur. Vous pouvez les remplir ci-dessous et procéder à l'authentification. Mais il est conseillé de remplir ces informations dans le profil de votre fournisseur d'identité afin d'éviter cette étape à chaque fois que vous vous connectez +logged.out=You have successfully logged out. +authorize=Autoriser +invalid.request=Requête invalide +oauth.processing.error.msg=Message d'erreur de traitement OAuth +openid.connect.logout=Déconnexion OpenID connect +do.you.want.to.logout=Voulez-vous vous déconnecter ? +yes=Oui +no=Non +openid2.profile=Profil OpenID +claim.uri=URI du claim +claim.value=Valeur du claim +internal.error.occurred=Une erreur interne s'est produite +information=Information +user.details.submitted= Informations de l'utilisateur soumises avec succès +close=Fermer +other.login.options=Autres options de connexion +sign.in.with=Se connecter avec +domain.name=Nom de domaine +go=Aller +please.select.recaptcha=Veuillez sélectionner recaptcha +error.when.processing.authentication.request=Erreur lors du traitement de la demande d'authentification ! +please.try.login.again=Veuillez réessayer de vous connecter ! +you.are.redirected.back.to=Vous êtes maintenant redirigé vers, +if.the.redirection.fails.please.click=Si la redirection échoue, veuillez cliquer sur le +post=POST +enter.required.fields.to.complete.registration=Renseigner les champs obligatoires pour compléter l'enregistrement +first.name=Prénom +last.name=Nom de famille +password.mismatch=Les mots de passe ne correspondent pas. Veuillez réessayer. +user.exists=L'utilisateur existe déjà +unknown.error=Une erreur inconnue s'est produite +authentication.failed.please.retry=Échec de l'authentification ! Veuillez réessayer +user.consents= Consentement de l'utilisateur +mandatory.claims.recommendation= Les attributs obligatoires sont marqués d'un astérisque +mandatory.claims.warning.msg.1=Vous devez fournir un consentement pour +mandatory.claims.warning.msg.2=tous les attributs obligatoires +mandatory.claims.warning.msg.3=afin de poursuivre +privacy.policy.cookies=Politique en matière de cookies +privacy.policy.cookies.short.description=Nous utilisons des cookies pour suivre votre session afin de vous offrir une meilleure expérience. Vous pouvez consulter notre +privacy.policy.general=Politique de confidentialité +privacy.policy.privacy.short.description.approving.head=Assurez-vous que vous avez confiance en +privacy.policy.privacy.short.description.approving=Il se peut que vous partagiez des informations sensibles avec ce site ou cette application. Découvrez comment +privacy.policy.privacy.short.description.approving2=traitera vos données en examinant sa +privacy.policy.privacy.short.description=En vous connectant, vous acceptez notre +privacy.policy.for.more.details=pour plus de détails. +under.construction=Cette page est en cours de construction +by.selecting.following.attributes=En sélectionnant les attributs suivants, vous acceptez de les partager avec +select.all=Sélectionner tout +requested.scopes=Accorder la permission de +requested.attributes= Connaître certaines de vos données personnelles +please.select.approve.always=Veuillez sélectionner "Approuver une fois" ou "Approuver toujours" pour donner votre consentement pour transmettre les informations demandés +ok=Ok +mandatory.claims= Attributs obligatoires +configuration.error=Erreur de configuration ! +authentication.mechanism.not.configured=Mécanisme d'authentification mal configuré. +Error.while.building.the.account.recovery.endpoint.url=Erreur lors de la construction de l'url de récupération du compte. +add.challenge.answers=Ajouter des réponses aux questions de sécurité +answer.following.questions=Répondre aux questions suivantes +challenge.question.set=Ensemble de questions de sécurité +select.challenge.question=Choisissez une question de sécurité +answers.challenge.question=Réponses aux questions de sécurité +type.your.challenge.answer=Tapez vos réponses pour les questions de sécurité +update=Mise à jour +enter.valid.answers.for.challenge.questions = Veuillez entrer des réponses valables pour les questions de sécurité +already.logged.in = Vous êtes connecté. +log.in.as = Connectez-vous en tant que {0} +not.you = Pas vous ? +business.name=WSO2 +business.homepage=http://wso2.com/ +sign.in.different.account=Se connecter avec un compte différent +create.account=Créer un compte +login.success.app=Connexion réussie pour l'application : +close.browser=.Veuillez fermer le navigateur et retourner à votre appareil. +successful=Succès +device.flow.sign.in=Connexion via un dispositif tiers +no.sessions.selected=Aucune session sélectionnée +mandatory.sessions.warning.msg.1=Vous devez sélectionner +mandatory.sessions.warning.msg.2=au moins 1 session +mandatory.sessions.warning.msg.3=pour pouvoir procéder +multiple.active.sessions.found=Plusieurs session(s) active(s) trouvée(s) +terminate.selected.active.sessions.and.proceed=Terminer les sessions actives sélectionnées et poursuivre +deny.login=Connexion refusée +refresh.sessions=Rafraîchir les sessions +terminate.unwanted.sessions.message.1=Vous devez soit mettre fin aux sessions actives non souhaitées et continuer, soit refuser la connexion +terminate.unwanted.sessions.message.2=Veuillez sélectionner votre option +you.currently.have.x.active.sessions.1=Vous avez actuellement +you.currently.have.x.active.sessions.2=session(s) active(s) +you.currently.have.x.active.sessions.3=Vous n'êtes pas autorisé à avoir plus de +browser=Navigateur +platform=Plate-forme +last.accessed=Dernier accès +Updated.the.password.successfully=Mot de passe mis à jour avec succès +resend.confirmation.page.title=Renvoyer un courriel de confirmation +resend.confirmation.page.message=Veuillez compléter le captcha ci-dessous. +80018=Erreur d'authentification ! Le nom d'utilisateur fourni existe déjà. +80019=Erreur lors de la vérification des détails de l'utilisateur. +80020=Une erreur interne s'est produite. Erreur lors de l'obtention des détails du magasin de l'utilisateur. +80021=Un domaine de magasin d'utilisateurs non valide est spécifié. +80022=Une erreur interne s'est produite. Erreur lors de l'obtention du gestionnaire de magasin d'utilisateurs. +80023=Un magasin d'utilisateurs non valide est spécifié. \ No newline at end of file