passbolt-styleguide 3.8.4 → 3.9.0-alpha2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (318) hide show
  1. package/build/css/help.min.css +3 -3
  2. package/build/css/public.min.css +3 -3
  3. package/build/css/themes/default/api_authentication.min.css +3 -3
  4. package/build/css/themes/default/api_cloud.min.css +3 -3
  5. package/build/css/themes/default/api_main.min.css +3 -3
  6. package/build/css/themes/default/api_reports.min.css +3 -3
  7. package/build/css/themes/default/api_webinstaller.min.css +3 -3
  8. package/build/css/themes/default/ext_app.min.css +3 -3
  9. package/build/css/themes/default/ext_authentication.min.css +3 -3
  10. package/build/css/themes/default/ext_external.min.css +2 -2
  11. package/build/css/themes/default/ext_in_form_cta.min.css +3 -3
  12. package/build/css/themes/default/ext_in_form_menu.min.css +3 -3
  13. package/build/css/themes/default/ext_quickaccess.min.css +3 -3
  14. package/build/css/themes/midgar/api_authentication.min.css +3 -3
  15. package/build/css/themes/midgar/api_main.min.css +3 -3
  16. package/build/css/themes/midgar/api_reports.min.css +3 -3
  17. package/build/css/themes/midgar/ext_app.min.css +3 -3
  18. package/build/css/themes/midgar/ext_authentication.min.css +3 -3
  19. package/build/css/themes/midgar/ext_in_form_cta.min.css +3 -3
  20. package/build/css/themes/midgar/ext_in_form_menu.min.css +3 -3
  21. package/build/css/themes/midgar/ext_quickaccess.min.css +3 -3
  22. package/build/css/themes/solarized_dark/api_authentication.min.css +1 -1
  23. package/build/css/themes/solarized_dark/api_main.min.css +1 -1
  24. package/build/css/themes/solarized_dark/api_reports.min.css +1 -1
  25. package/build/css/themes/solarized_dark/ext_app.min.css +1 -1
  26. package/build/css/themes/solarized_dark/ext_authentication.min.css +1 -1
  27. package/build/css/themes/solarized_dark/ext_in_form_cta.min.css +1 -1
  28. package/build/css/themes/solarized_dark/ext_in_form_menu.min.css +1 -1
  29. package/build/css/themes/solarized_dark/ext_quickaccess.min.css +1 -1
  30. package/build/css/themes/solarized_light/api_authentication.min.css +1 -1
  31. package/build/css/themes/solarized_light/api_main.min.css +1 -1
  32. package/build/css/themes/solarized_light/api_reports.min.css +1 -1
  33. package/build/css/themes/solarized_light/ext_app.min.css +1 -1
  34. package/build/css/themes/solarized_light/ext_authentication.min.css +1 -1
  35. package/build/css/themes/solarized_light/ext_in_form_cta.min.css +1 -1
  36. package/build/css/themes/solarized_light/ext_in_form_menu.min.css +1 -1
  37. package/build/css/themes/solarized_light/ext_quickaccess.min.css +1 -1
  38. package/build/js/dist/api-account-recovery.js +1 -1
  39. package/build/js/dist/api-app.js +1 -1
  40. package/build/js/dist/api-app.js.LICENSE.txt +75 -5
  41. package/build/js/dist/api-feedback.js +2 -0
  42. package/build/js/dist/api-feedback.js.LICENSE.txt +45 -0
  43. package/build/js/dist/api-recover.js +1 -1
  44. package/build/js/dist/api-setup.js +1 -1
  45. package/build/js/dist/api-triage.js +1 -1
  46. package/build/js/dist/api-vendors.js +1 -1
  47. package/build/js/dist/api-vendors.js.LICENSE.txt +19 -9
  48. package/build/js/dist/src/locales/de-DE/common.json +995 -0
  49. package/build/js/dist/src/locales/en-UK/common.json +1061 -0
  50. package/build/js/dist/src/locales/es-ES/common.json +995 -0
  51. package/build/js/dist/src/locales/fr-FR/common.json +995 -0
  52. package/build/js/dist/src/locales/ja-JP/common.json +980 -0
  53. package/build/js/dist/src/locales/lt-LT/common.json +1025 -0
  54. package/build/js/dist/src/locales/nl-NL/common.json +995 -0
  55. package/build/js/dist/src/locales/pl-PL/common.json +1025 -0
  56. package/build/js/dist/src/locales/sv-SE/common.json +995 -0
  57. package/package.json +18 -1
  58. package/src/img/controls/attention.svg +1 -0
  59. package/src/locales/en-UK/common.json +80 -16
  60. package/src/react-extension/ApiApp.js +17 -5
  61. package/src/react-extension/ApiFeedback.entry.js +24 -0
  62. package/src/react-extension/ExtApp.js +12 -5
  63. package/src/react-extension/ExtAuthenticationLogin.js +17 -15
  64. package/src/react-extension/ExtAuthenticationLogin.test.stories.js +59 -0
  65. package/src/react-extension/ExtBootstrapApp.js +1 -0
  66. package/src/react-extension/components/Administration/AdministrationWorkspace.js +24 -0
  67. package/src/react-extension/components/Administration/AdministrationWorkspace.test.data.js +3 -3
  68. package/src/react-extension/components/Administration/AdministrationWorkspace.test.js +13 -1
  69. package/src/react-extension/components/Administration/AdministrationWorkspace.test.page.js +7 -0
  70. package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.js +101 -0
  71. package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.test.data.js +23 -0
  72. package/src/react-extension/components/Administration/ConfirmDeleteSsoSettingsDialog/ConfirmDeleteSsoSettingsDialog.test.stories.js +27 -0
  73. package/src/react-extension/components/Administration/ConfirmSaveAccountRecoverySettings/ConfirmSaveAccountRecoverySettings.js +1 -1
  74. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.js +78 -2
  75. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.data.js +3 -1
  76. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.js +60 -0
  77. package/src/react-extension/components/Administration/DisplayAdministrationMenu/DisplayAdministrationMenu.test.page.js +23 -4
  78. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationInternationalisationActions/DisplayAdministrationInternationalisationActions.js +125 -0
  79. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationMfaActions/DisplayAdministrationMfaActions.js +131 -0
  80. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSelfRegistrationActions/DisplayAdministrationSelfRegistrationActions.js +103 -0
  81. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSsoActions/DisplayAdministrationSsoActions.js +91 -0
  82. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationSubscriptionActions/DisplayAdministrationSubscriptionActions.js +85 -0
  83. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationUserDirectoryActions/DisplayAdministrationUserDirectoryActions.js +228 -0
  84. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.js +4 -0
  85. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceBreadcrumb/DisplayAdministrationWorkspaceBreadcrumb.test.js +9 -0
  86. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.js +3 -3
  87. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.data.js +14 -0
  88. package/src/react-extension/components/Administration/DisplayEmailNotificationsAdministration/DisplayEmailNotificationsAdministration.test.page.js +0 -17
  89. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.js +18 -115
  90. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.data.js +11 -13
  91. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.js +38 -43
  92. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.page.js +47 -10
  93. package/src/react-extension/components/Administration/DisplayInternationalizationAdministration/DisplayInternationalizationAdministration.test.stories.js +10 -43
  94. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.js +82 -367
  95. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.data.js +128 -42
  96. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.js +75 -121
  97. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.page.js +46 -16
  98. package/src/react-extension/components/Administration/DisplayMfaAdministration/DisplayMfaAdministration.test.stories.js +18 -14
  99. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.js +103 -0
  100. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.js +53 -0
  101. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.page.js +81 -0
  102. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmDeletionSelfRegistrationSettings/ConfirmDeletionSelfRegistrationSettings.test.stories.js +34 -0
  103. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.js +125 -0
  104. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.data.js +63 -0
  105. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.js +54 -0
  106. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.page.js +88 -0
  107. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/ConfirmSaveSelfRegistrationSettings/ConfirmSaveSelfRegistrationSettings.test.stories.js +35 -0
  108. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.js +381 -0
  109. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.data.js +69 -0
  110. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.js +332 -0
  111. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.page.js +247 -0
  112. package/src/react-extension/components/Administration/DisplaySelfRegistrationAdministration/DisplaySelfRegistrationAdministration.test.stories.js +72 -0
  113. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.js +19 -19
  114. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.data.js +1717 -1729
  115. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.js +11 -3
  116. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.page.js +4 -1
  117. package/src/react-extension/components/Administration/DisplaySimulateSynchronizeUserDirectoryAdministration/DisplaySimulateSynchronizeUserDirectoryAdministration.test.stories.js +11 -1784
  118. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.js +41 -140
  119. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.data.js +15 -3
  120. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.js +22 -49
  121. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.page.js +19 -11
  122. package/src/react-extension/components/Administration/DisplaySubscriptionKey/DisplaySubscriptionKey.test.stories.js +9 -3
  123. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.js +5 -6
  124. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.data.js +1717 -1728
  125. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.js +11 -3
  126. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.page.js +4 -1
  127. package/src/react-extension/components/Administration/DisplaySynchronizeUserDirectoryAdministration/DisplaySynchronizeUserDirectoryAdministration.test.stories.js +11 -1784
  128. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.js +362 -835
  129. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.data.js +427 -418
  130. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.js +134 -175
  131. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.page.js +108 -11
  132. package/src/react-extension/components/Administration/DisplayUserDirectoryAdministration/DisplayUserDirectoryAdministration.test.stories.js +17 -25
  133. package/src/react-extension/components/Administration/EditSubscriptionKey/EditSubscriptionKey.js +4 -2
  134. package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.js +3 -3
  135. package/src/react-extension/components/Administration/ManageAccountRecoveryAdministrationSettings/ManageAccountRecoveryAdministrationSettings.test.js +1 -1
  136. package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.js +32 -7
  137. package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.data.js +0 -3
  138. package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.js +145 -1
  139. package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.page.js +52 -1
  140. package/src/react-extension/components/Administration/ManageSmtpAdministrationSettings/ManageSmtpAdministrationSettings.test.stories.js +15 -0
  141. package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.js +340 -0
  142. package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.data.js +56 -0
  143. package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.js +223 -0
  144. package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.page.js +235 -0
  145. package/src/react-extension/components/Administration/ManageSsoSettings/ManageSsoSettings.test.stories.js +55 -0
  146. package/src/react-extension/components/Administration/ManageSsoSettings/SsoProviders.data.js +34 -0
  147. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.js +12 -3
  148. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/GenerateOrganizationKey.test.js +27 -0
  149. package/src/react-extension/components/Administration/SelectAccountRecoveryOrganizationKey/SelectAccountRecoveryOrganizationKey.test.page.js +8 -0
  150. package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.js +197 -0
  151. package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.data.js +37 -0
  152. package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.js +187 -0
  153. package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.page.js +120 -0
  154. package/src/react-extension/components/Administration/TestSsoSettingsDialog/TestSsoSettingsDialog.test.stories.js +31 -0
  155. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.js +9 -5
  156. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.data.js +4 -0
  157. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.js +11 -42
  158. package/src/react-extension/components/Authentication/CheckPassphrase/CheckPassphrase.test.page.js +1 -0
  159. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.js +9 -5
  160. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.data.js +4 -0
  161. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.js +16 -2
  162. package/src/react-extension/components/Authentication/CreateGpgKey/CreateGpgKey.test.page.js +17 -1
  163. package/src/react-extension/components/AuthenticationLogin/Login/Login.js +159 -61
  164. package/src/react-extension/components/AuthenticationLogin/Login/Login.test.data.js +14 -11
  165. package/src/react-extension/components/AuthenticationLogin/Login/Login.test.js +79 -0
  166. package/src/react-extension/components/AuthenticationLogin/Login/Login.test.page.js +16 -0
  167. package/src/react-extension/components/AuthenticationLogin/OrchestrateLogin/OrchestrateLoginBoxMain.js +2 -0
  168. package/src/react-extension/components/AuthenticationSetup/SetupAuthentication/SetupAuthentication.js +4 -0
  169. package/src/react-extension/components/Common/Error/ApiError/ApiError.js +119 -0
  170. package/src/react-extension/components/Common/Error/ApiError/ApiError.test.js +43 -0
  171. package/src/react-extension/components/Common/Error/ApiError/ApiError.test.page.js +108 -0
  172. package/src/react-extension/components/Common/Error/ApiError/ApiError.test.stories.js +39 -0
  173. package/src/react-extension/components/Common/Inputs/Autocomplete/Autocomplete.test.js +12 -0
  174. package/src/react-extension/components/Common/Inputs/Autocomplete/AutocompleteItem.js +2 -2
  175. package/src/react-extension/components/Common/Legacy/HandleLegacyAppjs.js +1 -1
  176. package/src/react-extension/components/Common/Navigation/Header/Logo.js +13 -1
  177. package/src/react-extension/components/Resource/CreateResource/CreateResource.js +103 -30
  178. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.js +44 -10
  179. package/src/react-extension/components/Resource/CreateResource/CreateResource.test.page.js +35 -7
  180. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesList.js +3 -3
  181. package/src/react-extension/components/Resource/DisplayResourcesList/DisplayResourcesListContextualMenu.js +6 -5
  182. package/src/react-extension/components/Resource/DisplayResourcesWorkspace/DisplayResourcesWorkspaceMenu.js +5 -4
  183. package/src/react-extension/components/Resource/EditResource/EditResource.js +95 -23
  184. package/src/react-extension/components/Resource/EditResource/EditResource.test.js +45 -13
  185. package/src/react-extension/components/Resource/EditResource/EditResource.test.page.js +35 -2
  186. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetails.js +2 -1
  187. package/src/react-extension/components/ResourceDetails/DisplayResourceDetails/DisplayResourceDetailsInformation.js +3 -2
  188. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.js +23 -2
  189. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.js +8 -0
  190. package/src/react-extension/components/ResourceFolder/CreateResourceFolder/CreateResourceFolder.test.page.js +26 -2
  191. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.js +22 -1
  192. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.js +8 -0
  193. package/src/react-extension/components/ResourceFolder/RenameResourceFolder/RenameResourceFolder.test.page.js +25 -2
  194. package/src/react-extension/components/ResourceFolderDetails/DisplayResourceFolderDetails/DisplayResourceFolderDetails.js +2 -1
  195. package/src/react-extension/components/ResourcePassword/GenerateResourcePassword/GenerateResourcePassword.js +2 -1
  196. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.js +14 -1
  197. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.js +8 -0
  198. package/src/react-extension/components/ResourceTag/EditResourceTag/EditResourceTag.test.page.js +12 -0
  199. package/src/react-extension/components/User/CreateUser/CreateUser.js +42 -3
  200. package/src/react-extension/components/User/CreateUser/CreateUser.test.js +16 -0
  201. package/src/react-extension/components/User/CreateUser/CreateUser.test.page.js +26 -0
  202. package/src/react-extension/components/User/DisplayUserWorkspaceActions/DisplayUserWorkspaceActions.js +2 -1
  203. package/src/react-extension/components/User/DisplayUsersContextualMenu/DisplayUsersContextualMenu.js +5 -5
  204. package/src/react-extension/components/User/EditUser/EditUser.js +29 -2
  205. package/src/react-extension/components/User/EditUser/EditUser.test.js +12 -0
  206. package/src/react-extension/components/User/EditUser/EditUser.test.page.js +26 -0
  207. package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.js +2 -1
  208. package/src/react-extension/components/UserDetails/DisplayUserDetails/DisplayUserDetails.test.data.js +1332 -1331
  209. package/src/react-extension/components/UserDetails/DisplayUserDetailsPublicKey/DisplayUserDetailsPublicKey.js +2 -1
  210. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.js +19 -1
  211. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.js +9 -0
  212. package/src/react-extension/components/UserGroup/CreateUserGroup/CreateUserGroup.test.page.js +12 -0
  213. package/src/react-extension/components/UserGroup/DisplayUserGroupDetails/DisplayUserGroupDetails.js +2 -1
  214. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.js +16 -1
  215. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.js +8 -0
  216. package/src/react-extension/components/UserGroup/EditUserGroup/EditUserGroup.test.page.js +26 -1
  217. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/ConfirmPassphrase.js +1 -1
  218. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.js +6 -4
  219. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.data.js +4 -1
  220. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.js +21 -11
  221. package/src/react-extension/components/UserSetting/ChangeUserPassphrase/EnterNewPassphrase.test.page.js +10 -1
  222. package/src/react-extension/contexts/AdminSmtpSettingsContext.js +2 -0
  223. package/src/react-extension/contexts/AdminSmtpSettingsContext.test.data.js +13 -0
  224. package/src/react-extension/contexts/AdminSmtpSettingsContext.test.js +3 -1
  225. package/src/react-extension/contexts/AdminSsoContext.js +558 -0
  226. package/src/react-extension/contexts/AdminSsoContext.test.data.js +51 -0
  227. package/src/react-extension/contexts/Administration/AdministrationInternationalizationContext/AdministrationInternationalizationContext.js +194 -0
  228. package/src/react-extension/contexts/Administration/AdministrationInternationalizationContext/AdministrationInternationalizationContext.test.js +111 -0
  229. package/src/react-extension/contexts/Administration/AdministrationMfa/AdministrationMfaContext.js +265 -0
  230. package/src/react-extension/contexts/Administration/AdministrationMfa/AdministrationMfaContext.test.js +178 -0
  231. package/src/react-extension/contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext.js +453 -0
  232. package/src/react-extension/contexts/Administration/AdministrationSelfRegistration/AdministrationSelfRegistrationContext.test.js +218 -0
  233. package/src/react-extension/contexts/Administration/AdministrationSubscription/AdministrationSubscription.js +168 -0
  234. package/src/react-extension/contexts/Administration/AdministrationSubscription/AdministrationSubscription.test.js +73 -0
  235. package/src/react-extension/contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext.js +353 -0
  236. package/src/react-extension/contexts/Administration/AdministrationUserDirectory/AdministrationUserDirectoryContext.test.js +220 -0
  237. package/src/react-extension/contexts/AdministrationWorkspaceContext.js +17 -178
  238. package/src/react-extension/contexts/AdministrationWorkspaceContext.test.js +0 -26
  239. package/src/react-extension/contexts/ApiAppContext.test.data.js +4 -2
  240. package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.js +54 -4
  241. package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.data.js +10 -1
  242. package/src/react-extension/contexts/Authentication/AuthenticationLoginContext.test.js +92 -14
  243. package/src/react-extension/contexts/Authentication/AuthenticationSetupContext.js +1 -0
  244. package/src/react-extension/contexts/NavigationContext.js +34 -0
  245. package/src/react-extension/contexts/SsoContext.js +151 -0
  246. package/src/react-extension/contexts/SsoContext.test.data.js +36 -0
  247. package/src/react-extension/contexts/SsoContext.test.js +104 -0
  248. package/src/react-extension/lib/Domain/DomainUtil.js +70 -0
  249. package/src/react-extension/lib/Domain/DomainUtil.test.js +129 -0
  250. package/src/react-extension/lib/Domain/Domains.js +6113 -0
  251. package/src/react-extension/lib/Error/InputValidator.js +24 -0
  252. package/src/react-extension/lib/Map/DynamicRef.js +49 -0
  253. package/src/react-extension/lib/Map/DynamicRef.test.js +56 -0
  254. package/src/react-extension/lib/Map/MapObject.js +48 -0
  255. package/src/react-extension/lib/Map/MapObject.test.js +43 -0
  256. package/src/react-quickaccess/ExtQuickAccess.js +7 -4
  257. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.js +3 -1
  258. package/src/react-quickaccess/components/GeneratePasswordPage/GeneratePasswordPage.test.data.js +4 -0
  259. package/src/react-quickaccess/components/LoginPage/LoginPage.js +115 -4
  260. package/src/react-quickaccess/components/LoginPage/LoginPage.test.data.js +10 -0
  261. package/src/react-quickaccess/components/LoginPage/LoginPage.test.stories.js +30 -3
  262. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.js +33 -1
  263. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.data.js +25 -0
  264. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.js +60 -0
  265. package/src/react-quickaccess/components/ResourceAutoSave/SaveResource.test.page.js +60 -0
  266. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.js +33 -1
  267. package/src/react-quickaccess/components/ResourceCreatePage/ResourceCreatePage.test.js +36 -7
  268. package/src/react-quickaccess/components/ResourceViewPage/ResourceViewPage.js +3 -2
  269. package/src/react-quickaccess/contexts/SsoContext.js +150 -0
  270. package/src/react-web-integration/lib/InForm/InFormFieldSelector.js +5 -0
  271. package/src/shared/constants/inputs.const.js +30 -0
  272. package/src/shared/lib/Browser/clipBoard.js +45 -0
  273. package/src/shared/lib/Browser/clipBoard.test.js +59 -0
  274. package/src/shared/models/Mfa/Duo.js +36 -0
  275. package/src/shared/models/Mfa/Duo.test.js +59 -0
  276. package/src/shared/models/Mfa/MfaDTO.js +51 -0
  277. package/src/shared/models/Mfa/MfaDTO.test.js +48 -0
  278. package/src/shared/models/Mfa/MfaEnumeration.js +17 -0
  279. package/src/shared/models/Mfa/MfaModel.js +48 -0
  280. package/src/shared/models/Mfa/MfaModel.test.js +37 -0
  281. package/src/shared/models/Mfa/Yubikey.js +35 -0
  282. package/src/shared/models/Mfa/Yubikey.test.js +47 -0
  283. package/src/shared/models/selfRegistration/SelfRegistrationDomainsViewModel.js +55 -0
  284. package/src/shared/models/selfRegistration/SelfRegistrationDomainsViewModel.test.js +37 -0
  285. package/src/shared/models/selfRegistration/SelfRegistrationDto.js +42 -0
  286. package/src/shared/models/selfRegistration/SelfRegistrationDto.test.js +48 -0
  287. package/src/shared/models/selfRegistration/SelfRegistrationEnumeration.js +17 -0
  288. package/src/shared/models/subscription/SubscriptionDto.js +34 -0
  289. package/src/shared/models/subscription/SubscriptionDto.test.js +31 -0
  290. package/src/shared/models/subscription/SubscriptionModel.js +33 -0
  291. package/src/shared/models/subscription/SubscriptionModel.test.js +48 -0
  292. package/src/shared/models/user/UserModel.js +37 -0
  293. package/src/shared/models/userDirectory/UserDirectoryDTO.js +57 -0
  294. package/src/shared/models/userDirectory/UserDirectoryDTO.test.js +40 -0
  295. package/src/shared/models/userDirectory/UserDirectoryEnum.js +22 -0
  296. package/src/shared/models/userDirectory/UserDirectoryModel.js +64 -0
  297. package/src/shared/models/userDirectory/UserDirectoryModel.test.js +37 -0
  298. package/src/shared/services/actions/subscription/SubscriptionActionService.js +69 -0
  299. package/src/shared/services/actions/subscription/SubscriptionActionService.test.js +73 -0
  300. package/src/shared/services/api/Internationalisation/InternationalisationService.js +46 -0
  301. package/src/shared/services/api/Mfa/MfaService.js +54 -0
  302. package/src/shared/services/{accountRecovery → api/accountRecovery}/ApiAppAccountRecoveryUserService.js +2 -2
  303. package/src/shared/services/{accountRecovery → api/accountRecovery}/ExtAppAccountRecoveryUserService.js +0 -0
  304. package/src/shared/services/api/secrets/pownedService.js +64 -0
  305. package/src/shared/services/api/secrets/pownedService.test.js +63 -0
  306. package/src/shared/services/api/selfRegistration/selfRegistrationService.js +64 -0
  307. package/src/shared/services/api/user/UserService.js +45 -0
  308. package/src/shared/services/api/userDirectory/UserDirectoryService.js +108 -0
  309. package/src/shared/services/forms/Mfa/MfaFormService.js +195 -0
  310. package/src/shared/services/forms/Mfa/MfaFormService.test.js +341 -0
  311. package/src/shared/services/forms/selfRegistration/SelfRegistrationFormService.js +92 -0
  312. package/src/shared/services/forms/selfRegistration/SelfRegistrationFormService.test.js +101 -0
  313. package/src/shared/services/forms/userDirectory/UserDirectoryFormService.js +118 -0
  314. package/src/shared/services/forms/userDirectory/UserDirectoryFormService.test.js +128 -0
  315. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.js +0 -205
  316. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.data.js +0 -37
  317. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.js +0 -197
  318. package/src/react-extension/components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions.test.page.js +0 -133
@@ -15,10 +15,6 @@ import PropTypes from "prop-types";
15
15
  import {withAppContext} from "./AppContext";
16
16
  import {withRouter} from "react-router-dom";
17
17
  import {withLoading} from "./LoadingContext";
18
- import {ApiClient} from "../../shared/lib/apiClient/apiClient";
19
- import DisplayAdministrationWorkspaceActions
20
- from "../components/Administration/DisplayAdministrationWorkspaceActions/DisplayAdministrationWorkspaceActions";
21
-
22
18
  /**
23
19
  * Context related to resources ( filter, current selections, etc.)
24
20
  */
@@ -26,36 +22,18 @@ export const AdministrationWorkspaceContext = React.createContext({
26
22
  selectedAdministration: null, // The current menu administration selected
27
23
  can: {
28
24
  save: false, // If the button save settings is enable
29
- test: false, // If the button test settings is enable
30
- synchronize: false // If the button synchronize settings is enable
31
25
  },
32
26
  must: {
33
27
  save: false, // Must save settings
34
- test: false, // Must test settings
35
- synchronize: false, // Must synchronize settings
36
28
  editSubscriptionKey: false, // Must edit subscription key
37
29
  refreshSubscriptionKey: false // Must refresh the subscription key
38
30
  },
39
- administrationWorkspaceAction: DisplayAdministrationWorkspaceActions, // Class of the component to display the actions of the users
31
+ administrationWorkspaceAction: null, // Class of the component to display the actions of the users
40
32
  setDisplayAdministrationWorkspaceAction: () => {}, // Whenever the component to display workspace action is requested
41
33
  resetDisplayAdministrationWorkspaceAction: () => {}, // Whenever the reset of the display workspace action is requested
42
- onGetMfaRequested: () => {}, // Whenever the user access to the Mfa page
43
- onSaveMfaRequested: () => {}, // Whenever the user wants save Mfa settings
44
- onGetUsersDirectoryRequested: () => {}, // Whenever the user access to the users directory page
45
- onUpdateUsersDirectoryRequested: () => {}, // Whenever the user update the users directory settings
46
- onDeleteUsersDirectoryRequested: () => {}, // Whenever the user delete the users directory settings
47
- onTestUsersDirectoryRequested: () => {}, // Whenever the user test the users directory settings
48
- onGetSimulateSynchronizeUsersDirectoryRequested: () => {}, // Whenever the user simulate synchronize the users directory settings
49
- onGetSynchronizeUsersDirectoryRequested: () => {}, // Whenever the user synchronize the users directory settings
50
- onGetUsersRequested: () => {}, // Whenever we need get the users
51
34
  onUpdateSubscriptionKeyRequested: () => {}, // Whenever the user update the subscription key
52
- onSaveLocaleRequested: () => {}, // Whenever the user access save the locale settings
53
35
  onSaveEnabled: () => {}, // Whenever a user change settings
54
36
  onMustSaveSettings: () => {}, // Whenever a user wants save settings
55
- onTestEnabled: () => {}, // Whenever a user change settings
56
- onMustTestSettings: () => {}, // Whenever a user wants save settings
57
- onSynchronizeEnabled: () => {}, // Whenever a user have settings to be synchronized
58
- onMustSynchronizeSettings: () => {}, // Whenever a user wants synchronized settings
59
37
  onMustEditSubscriptionKey: () => {}, // Whenever a user wants edit the susbcription key
60
38
  onMustRefreshSubscriptionKey: () => {}, // Whenever the susbcription key needs to be refreshed
61
39
  onResetActionsSettings: () => {}, // Reset states after a user do an action for the settings
@@ -82,36 +60,18 @@ class AdministrationWorkspaceContextProvider extends React.Component {
82
60
  selectedAdministration: AdministrationWorkspaceMenuTypes.NONE, // The current menu administration selected
83
61
  can: {
84
62
  save: false, // If the button save settings is enable
85
- test: false, // If the button test settings is enable
86
- synchronize: false // If the button synchronize settings is enable
87
63
  },
88
64
  must: {
89
65
  save: false, // Must save settings
90
- test: false, // Must test settings
91
- synchronize: false, // Must synchronize settings
92
66
  editSubscriptionKey: false, // Must edit subscription key
93
67
  refreshSubscriptionKey: false // Must refresh the susbcription key
94
68
  },
95
- administrationWorkspaceAction: DisplayAdministrationWorkspaceActions, // Class of the component to display the actions of the users
69
+ administrationWorkspaceAction: () => <></>, // Class of the component to display the actions of the users
96
70
  setDisplayAdministrationWorkspaceAction: this.setDisplayAdministrationWorkspaceAction.bind(this), // Whenever the component to display workspace action is requested
97
71
  resetDisplayAdministrationWorkspaceAction: this.resetDisplayAdministrationWorkspaceAction.bind(this), // Whenever the reset of the display workspace action is requested
98
- onGetMfaRequested: this.onGetMfaRequested.bind(this), // Whenever the user access to the Mfa page
99
- onSaveMfaRequested: this.onSaveMfaRequested.bind(this), // Whenever the user wants save the Mfa page
100
- onGetUsersDirectoryRequested: this.onGetUsersDirectoryRequested.bind(this), // Whenever the user access to the users directory page
101
- onUpdateUsersDirectoryRequested: this.onUpdateUsersDirectoryRequested.bind(this), // Whenever the user update the users directory settings
102
- onDeleteUsersDirectoryRequested: this.onDeleteUsersDirectoryRequested.bind(this), // Whenever the user delete the users directory settings
103
- onTestUsersDirectoryRequested: this.onTestUsersDirectoryRequested.bind(this), // Whenever the user test the users directory settings
104
- onGetSimulateSynchronizeUsersDirectoryRequested: this.onGetSimulateSynchronizeUsersDirectoryRequested.bind(this), // Whenever the user simulate synchronize the users directory settings
105
- onGetSynchronizeUsersDirectoryRequested: this.onGetSynchronizeUsersDirectoryRequested.bind(this), // Whenever the user synchronize the users directory settings
106
- onGetUsersRequested: this.onGetUsersRequested.bind(this), // Whenever we need get the users
107
72
  onUpdateSubscriptionKeyRequested: this.onUpdateSubscriptionKeyRequested.bind(this), // Whenever the user update the subscription key
108
- onSaveLocaleRequested: this.onSaveLocaleRequested.bind(this), // Whenever the user save the locale settings
109
73
  onSaveEnabled: this.handleSaveEnabled.bind(this), // Whenever a user change settings
110
74
  onMustSaveSettings: this.handleMustSaveSettings.bind(this), // Whenever a user wants save settings
111
- onTestEnabled: this.handleTestEnabled.bind(this), // Whenever a user have settings to be tested
112
- onMustTestSettings: this.handleMustTestSettings.bind(this), // Whenever a user wants test settings
113
- onSynchronizeEnabled: this.handleSynchronizeEnabled.bind(this), // Whenever a user have settings to be synchronized
114
- onMustSynchronizeSettings: this.handleMustSynchronizeSettings.bind(this), // Whenever a user wants synchronized settings
115
75
  onMustEditSubscriptionKey: this.handleMustEditSubscriptionKey.bind(this), // Whenever a user wants edit the susbcription key
116
76
  onMustRefreshSubscriptionKey: this.handleMustRefreshSubscriptionKey.bind(this), // Whenever the susbcription key needs to be refreshed
117
77
  onResetActionsSettings: this.handleResetActionsSettings.bind(this), // Reset states after a user do an action for the settings
@@ -147,34 +107,6 @@ class AdministrationWorkspaceContextProvider extends React.Component {
147
107
  await this.setState({must: {...this.state.must, save: true}});
148
108
  }
149
109
 
150
- /**
151
- * Handle test enabled
152
- */
153
- async handleTestEnabled(boolean) {
154
- await this.setState({can: {...this.state.can, test: boolean}});
155
- }
156
-
157
- /**
158
- * Handle must test settings
159
- */
160
- async handleMustTestSettings() {
161
- await this.setState({must: {...this.state.must, test: true}});
162
- }
163
-
164
- /**
165
- * Handle synchronize enabled
166
- */
167
- async handleSynchronizeEnabled(boolean) {
168
- await this.setState({can: {...this.state.can, synchronize: boolean}});
169
- }
170
-
171
- /**
172
- * Handle must synchronize settings
173
- */
174
- async handleMustSynchronizeSettings() {
175
- await this.setState({must: {...this.state.must, synchronize: true}});
176
- }
177
-
178
110
  /**
179
111
  * Handle must edit subscription key
180
112
  */
@@ -225,6 +157,8 @@ class AdministrationWorkspaceContextProvider extends React.Component {
225
157
  const isInternationalizationLocation = this.props.location.pathname.includes('internationalization');
226
158
  const isAccountRecoveryLocation = this.props.location.pathname.includes('account-recovery');
227
159
  const isSmtpSettingsLocation = this.props.location.pathname.includes('smtp-settings');
160
+ const isSelfRegistrationLocation = this.props.location.pathname.includes('self-registration');
161
+ const isSso = this.props.location.pathname.includes('sso');
228
162
  const can = {
229
163
  save: false,
230
164
  test: false,
@@ -242,17 +176,21 @@ class AdministrationWorkspaceContextProvider extends React.Component {
242
176
  if (isMfaLocation) {
243
177
  selectedAdministration = AdministrationWorkspaceMenuTypes.MFA;
244
178
  } else if (isUserDirectoryLocation) {
245
- selectedAdministration = AdministrationWorkspaceMenuTypes.USER_DIRECTORY;
179
+ selectedAdministration = AdministrationWorkspaceMenuTypes.USER_DIRECTORY;
246
180
  } else if (isEmailNotificationLocation) {
247
- selectedAdministration = AdministrationWorkspaceMenuTypes.EMAIL_NOTIFICATION;
181
+ selectedAdministration = AdministrationWorkspaceMenuTypes.EMAIL_NOTIFICATION;
248
182
  } else if (isSubscriptionLocation) {
249
- selectedAdministration = AdministrationWorkspaceMenuTypes.SUBSCRIPTION;
183
+ selectedAdministration = AdministrationWorkspaceMenuTypes.SUBSCRIPTION;
250
184
  } else if (isInternationalizationLocation) {
251
- selectedAdministration = AdministrationWorkspaceMenuTypes.INTERNATIONALIZATION;
185
+ selectedAdministration = AdministrationWorkspaceMenuTypes.INTERNATIONALIZATION;
252
186
  } else if (isAccountRecoveryLocation) {
253
- selectedAdministration = AdministrationWorkspaceMenuTypes.ACCOUNT_RECOVERY;
187
+ selectedAdministration = AdministrationWorkspaceMenuTypes.ACCOUNT_RECOVERY;
254
188
  } else if (isSmtpSettingsLocation) {
255
- selectedAdministration = AdministrationWorkspaceMenuTypes.SMTP_SETTINGS;
189
+ selectedAdministration = AdministrationWorkspaceMenuTypes.SMTP_SETTINGS;
190
+ } else if (isSelfRegistrationLocation) {
191
+ selectedAdministration = AdministrationWorkspaceMenuTypes.SELF_REGISTRATION;
192
+ } else if (isSso) {
193
+ selectedAdministration = AdministrationWorkspaceMenuTypes.SSO;
256
194
  }
257
195
  await this.setState({selectedAdministration, can, must});
258
196
  }
@@ -269,97 +207,7 @@ class AdministrationWorkspaceContextProvider extends React.Component {
269
207
  * Reset the display of the administration workspace action
270
208
  */
271
209
  resetDisplayAdministrationWorkspaceAction() {
272
- this.setState({administrationWorkspaceAction: DisplayAdministrationWorkspaceActions});
273
- }
274
-
275
- /**
276
- * Whenever the mfa is requested.
277
- * @return {Promise<object>}
278
- */
279
- async onGetMfaRequested() {
280
- const apiClientOptions = this.props.context.getApiClientOptions().setResourceName("mfa/settings");
281
- const apiClient = new ApiClient(apiClientOptions);
282
- return apiClient.findAll();
283
- }
284
-
285
- /**
286
- * Whenever the save mfa is requested.
287
- * @return {Promise<object>}
288
- */
289
- async onSaveMfaRequested(mfa) {
290
- const apiClientOptions = this.props.context.getApiClientOptions().setResourceName("mfa/settings");
291
- const apiClient = new ApiClient(apiClientOptions);
292
- await apiClient.create(mfa);
293
- }
294
-
295
- /**
296
- * Whenever the users directory is requested.
297
- * @return {Promise<object>}
298
- */
299
- async onGetUsersDirectoryRequested() {
300
- const apiClientOptions = this.props.context.getApiClientOptions().setResourceName("directorysync/settings");
301
- const apiClient = new ApiClient(apiClientOptions);
302
- return apiClient.findAll();
303
- }
304
-
305
- /**
306
- * Whenever the update users directory is requested.
307
- * @return {Promise<object>}
308
- */
309
- async onUpdateUsersDirectoryRequested(usersDirectory) {
310
- const apiClientOptions = this.props.context.getApiClientOptions().setResourceName("directorysync");
311
- const apiClient = new ApiClient(apiClientOptions);
312
- return apiClient.update('settings', usersDirectory);
313
- }
314
-
315
- /**
316
- * Whenever the delete users directory is requested.
317
- * @return {Promise<object>}
318
- */
319
- async onDeleteUsersDirectoryRequested() {
320
- const apiClientOptions = this.props.context.getApiClientOptions().setResourceName("directorysync");
321
- const apiClient = new ApiClient(apiClientOptions);
322
- return apiClient.delete('settings');
323
- }
324
-
325
- /**
326
- * Whenever the test users directory is requested.
327
- * @return {Promise<object>}
328
- */
329
- async onTestUsersDirectoryRequested(usersDirectory) {
330
- const apiClientOptions = this.props.context.getApiClientOptions().setResourceName("directorysync/settings/test");
331
- const apiClient = new ApiClient(apiClientOptions);
332
- return apiClient.create(usersDirectory);
333
- }
334
-
335
- /**
336
- * Whenever the simulate synchronize users directory is requested.
337
- * @return {Promise<object>}
338
- */
339
- async onGetSimulateSynchronizeUsersDirectoryRequested() {
340
- const apiClientOptions = this.props.context.getApiClientOptions().setResourceName("directorysync");
341
- const apiClient = new ApiClient(apiClientOptions);
342
- return apiClient.get("synchronize/dry-run");
343
- }
344
-
345
- /**
346
- * Whenever the simulate synchronize users directory is requested.
347
- * @return {Promise<object>}
348
- */
349
- async onGetSynchronizeUsersDirectoryRequested() {
350
- const apiClientOptions = this.props.context.getApiClientOptions().setResourceName("directorysync/synchronize");
351
- const apiClient = new ApiClient(apiClientOptions);
352
- return apiClient.create({});
353
- }
354
-
355
- /**
356
- * Whenever the users is requested.
357
- * @return {Promise<object>}
358
- */
359
- async onGetUsersRequested() {
360
- const apiClientOptions = this.props.context.getApiClientOptions().setResourceName("users");
361
- const apiClient = new ApiClient(apiClientOptions);
362
- return apiClient.findAll();
210
+ this.setState({administrationWorkspaceAction: () => <></>});
363
211
  }
364
212
 
365
213
  /**
@@ -371,17 +219,6 @@ class AdministrationWorkspaceContextProvider extends React.Component {
371
219
  return this.props.context.port.request("passbolt.subscription.update", keyDto);
372
220
  }
373
221
 
374
- /**
375
- * Whenever the locale is requested.
376
- * @param {string} value the locale
377
- * @return {Promise<object>}
378
- */
379
- async onSaveLocaleRequested(value) {
380
- const apiClientOptions = this.props.context.getApiClientOptions().setResourceName("locale/settings");
381
- const apiClient = new ApiClient(apiClientOptions);
382
- return apiClient.create({value});
383
- }
384
-
385
222
  /**
386
223
  * Render the component
387
224
  * @returns {JSX}
@@ -438,4 +275,6 @@ export const AdministrationWorkspaceMenuTypes = {
438
275
  INTERNATIONALIZATION: 'INTERNATIONALIZATION', // Internationalization administration menu selected
439
276
  ACCOUNT_RECOVERY: 'ACCOUNT-RECOVERY', // Account Recovery administration menu selected
440
277
  SMTP_SETTINGS: 'SMTP-SETTINGS', // Smtp settings administration menu selected
278
+ SELF_REGISTRATION: 'SELF-REGISTRATION', // Self registration settings administration menu selected
279
+ SSO: "SSO", // SSO administration menu selected
441
280
  };
@@ -94,16 +94,6 @@ describe("Administration Workspace Context", () => {
94
94
  await page.onSaveEnabled();
95
95
  expect(page.isSaveEnabled).toBeTruthy();
96
96
  });
97
-
98
- it("As AD I should have the test enabled", async() => {
99
- await page.onTestEnabled();
100
- expect(page.isTestEnabled).toBeTruthy();
101
- });
102
-
103
- it("As AD I should have the synchronize enabled", async() => {
104
- await page.onSynchronizeEnabled();
105
- expect(page.isSynchronizeEnabled).toBeTruthy();
106
- });
107
97
  });
108
98
 
109
99
  describe("As AD I should have the appropriate action enable at any time", () => {
@@ -112,16 +102,6 @@ describe("Administration Workspace Context", () => {
112
102
  expect(page.mustSaveSettings).toBeTruthy();
113
103
  });
114
104
 
115
- it("As AD I should enabled must test settings", async() => {
116
- await page.onMustTestSettings();
117
- expect(page.mustTestSettings).toBeTruthy();
118
- });
119
-
120
- it("As AD I should enabled must synchronize settings", async() => {
121
- await page.onMustSynchronizeSettings();
122
- expect(page.mustSynchronizeSettings).toBeTruthy();
123
- });
124
-
125
105
  it("As AD I should enabled must edit subscription key", async() => {
126
106
  await page.onMustEditSubscriptionKey();
127
107
  expect(page.mustEditSubscriptionKey).toBeTruthy();
@@ -134,19 +114,13 @@ describe("Administration Workspace Context", () => {
134
114
 
135
115
  it("As AD I should enabled reset all action settings", async() => {
136
116
  await page.onMustSaveSettings();
137
- await page.onMustTestSettings();
138
- await page.onMustSynchronizeSettings();
139
117
  await page.onMustEditSubscriptionKey();
140
118
  await page.onMustRefreshSubscriptionKey();
141
119
  expect(page.mustSaveSettings).toBeTruthy();
142
- expect(page.mustTestSettings).toBeTruthy();
143
- expect(page.mustSynchronizeSettings).toBeTruthy();
144
120
  expect(page.mustEditSubscriptionKey).toBeTruthy();
145
121
  expect(page.mustRefreshSubscriptionKey).toBeTruthy();
146
122
  await page.onResetActionsSettings();
147
123
  expect(page.mustSaveSettings).toBeFalsy();
148
- expect(page.mustTestSettings).toBeFalsy();
149
- expect(page.mustSynchronizeSettings).toBeFalsy();
150
124
  expect(page.mustEditSubscriptionKey).toBeFalsy();
151
125
  expect(page.mustRefreshSubscriptionKey).toBeFalsy();
152
126
  });
@@ -20,19 +20,21 @@ import {ApiClientOptions} from "../../shared/lib/apiClient/apiClientOptions";
20
20
  * @param {Object} appContext (Optional)Properties to override
21
21
  * @returns {Object}
22
22
  */
23
- export function defaultAppContext(appContext = {}) {
23
+ export function defaultAppContext(appContext = {}, userId = uuidv4()) {
24
24
  const siteSettings = new SiteSettings(siteSettingsFixture);
25
25
  const defaultAppContext = {
26
26
  locale: 'en-UK',
27
+ onRefreshLocaleRequested: jest.fn(),
27
28
  siteSettings,
28
29
  trustedDomain: "http://localhost:6006",
29
30
  loggedInUser: {
30
- id: uuidv4(),
31
+ id: userId,
31
32
  username: "user@passbolt.com",
32
33
  role: {
33
34
  name: 'admin'
34
35
  }
35
36
  },
37
+ setContext: jest.fn(),
36
38
  baseUrl: "http://localhost:6006",
37
39
  getApiClientOptions: () => new ApiClientOptions()
38
40
  .setBaseUrl("http://localhost:6006")
@@ -14,6 +14,8 @@
14
14
  import React from "react";
15
15
  import PropTypes from "prop-types";
16
16
  import {withAppContext} from "../AppContext";
17
+ import {withSso} from "../SsoContext";
18
+ import SsoProviders from "../../components/Administration/ManageSsoSettings/SsoProviders.data";
17
19
 
18
20
  // The authentication login workflow states.
19
21
  export const AuthenticationLoginWorkflowStates = {
@@ -44,6 +46,8 @@ export const AuthenticationLoginContext = React.createContext({
44
46
  }, // Whenever a user passphrase check is required.
45
47
  signIn: () => {
46
48
  }, // Whenever a user sign-in is required.
49
+ handleSsoSignIn: () => {
50
+ }, // Whenever a user sign-in via SSO is required.
47
51
  handleSwitchAccount: () => {
48
52
  }, // Whenever a switch account is required.
49
53
  acceptNewServerKey: () => {
@@ -54,6 +58,10 @@ export const AuthenticationLoginContext = React.createContext({
54
58
  }, // Whenever the user wants to request help because it lost its credentials.
55
59
  goToValidatePassphrase: () => {
56
60
  }, // Whenever the users wants to go to the validate passphrase.
61
+ handleSsoLoginError: () => {
62
+ }, // Handles the SSO login error
63
+ getSsoProvider: () => {
64
+ }, // Returns the current SSO provider if any
57
65
  });
58
66
 
59
67
  /**
@@ -83,19 +91,23 @@ export class AuthenticationLoginContextProvider extends React.Component {
83
91
  // Public workflow mutators.
84
92
  checkPassphrase: this.checkPassphrase.bind(this), // Whenever a user passphrase check is required.
85
93
  signIn: this.signIn.bind(this), // Whenever a user sign-in is required.
94
+ handleSsoSignIn: this.handleSsoSignIn.bind(this), // Whenever a user sign-in via SSO is required.
86
95
  handleSwitchAccount: this.handleSwitchAccount.bind(this), // Whenever a switch account is required.
87
96
  acceptNewServerKey: this.acceptNewServerKey.bind(this), // Whenever a new server gpg key is accepted.
88
97
  needHelpCredentialsLost: this.needHelpCredentialsLost.bind(this), // Whenever a user lost its passphrase.
89
98
  requestHelpCredentialsLost: this.requestHelpCredentialsLost.bind(this), // Whenever the user wants to request help because it lost its credentials.
90
99
  goToValidatePassphrase: this.goToValidatePassphrase.bind(this), // Whenever the users wants to go to the validate passphrase.
100
+ handleSsoLoginError: this.handleSsoLoginError.bind(this), // Handles the SSO login error
101
+ getSsoProvider: this.getSsoProvider.bind(this), // Returns the current SSO provider if any
91
102
  };
92
103
  }
93
104
 
94
105
  /**
95
106
  * Whenever the component is initialized
96
107
  */
97
- componentDidMount() {
98
- this.initialize();
108
+ async componentDidMount() {
109
+ await this.initialize();
110
+ await this.props.ssoContext.loadSsoConfiguration();
99
111
  }
100
112
 
101
113
  /**
@@ -170,6 +182,23 @@ export class AuthenticationLoginContextProvider extends React.Component {
170
182
  }
171
183
  }
172
184
 
185
+ /**
186
+ * Whenever the user wants to sign in using SSO.
187
+ * @returns {Promise<void>}
188
+ */
189
+ async handleSsoSignIn() {
190
+ try {
191
+ await this.props.ssoContext.runSignInProcess();
192
+ this.setState({state: AuthenticationLoginWorkflowStates.SIGNING_IN});
193
+ } catch (e) {
194
+ if (e.name === "UserClosedSsoPopUpError") {
195
+ throw e; // the error needs to be sent to Login.js in order to display the right form
196
+ } else {
197
+ this.handleSsoLoginError(e);
198
+ }
199
+ }
200
+ }
201
+
173
202
  /**
174
203
  * Whenever the user wants to switch account.
175
204
  */
@@ -178,6 +207,14 @@ export class AuthenticationLoginContextProvider extends React.Component {
178
207
  window.open(url, '_parent', 'noopener,noreferrer');
179
208
  }
180
209
 
210
+ /**
211
+ * Handles the SSO login error
212
+ * @param {error} e
213
+ */
214
+ handleSsoLoginError(e) {
215
+ this.setState({state: AuthenticationLoginWorkflowStates.UNEXPECTED_ERROR, error: e});
216
+ }
217
+
181
218
  /**
182
219
  * Whenever the user accepts the new server key.
183
220
  * @returns {Promise<void>}
@@ -225,6 +262,18 @@ export class AuthenticationLoginContextProvider extends React.Component {
225
262
  await this.setState({state: AuthenticationLoginWorkflowStates.SIGN_IN});
226
263
  }
227
264
 
265
+ /**
266
+ * Returns the current SSO provider if any, null otherwise
267
+ * @returns {object}
268
+ */
269
+ getSsoProvider() {
270
+ const ssoProvider = this.props.ssoContext.getProvider();
271
+ if (!ssoProvider) {
272
+ return null;
273
+ }
274
+ return SsoProviders.find(provider => provider.id === ssoProvider);
275
+ }
276
+
228
277
  /**
229
278
  * Render the component
230
279
  * @returns {JSX}
@@ -240,9 +289,10 @@ export class AuthenticationLoginContextProvider extends React.Component {
240
289
 
241
290
  AuthenticationLoginContextProvider.propTypes = {
242
291
  context: PropTypes.any, // The application context
243
- children: PropTypes.any // The children components
292
+ children: PropTypes.any, // The children components
293
+ ssoContext: PropTypes.object, // The SSO user context
244
294
  };
245
- export default withAppContext(AuthenticationLoginContextProvider);
295
+ export default withAppContext(withSso(AuthenticationLoginContextProvider));
246
296
 
247
297
  /**
248
298
  * Authentication login context consumer HOC
@@ -59,9 +59,18 @@ export function defaultAuthenticationLoginAppContextWithAccountRecoveryDisabled(
59
59
  * @returns {object}
60
60
  */
61
61
  export function defaultProps(props) {
62
+ const ssoContext = Object.assign({
63
+ loadSsoConfiguration: () => {},
64
+ runSignInProcess: () => {}
65
+ }, props?.ssoContext);
66
+
62
67
  const defaultProps = {
63
- context: defaultAuthenticationLoginAppContext()
68
+ context: defaultAuthenticationLoginAppContext(),
69
+ ssoContext: ssoContext
64
70
  };
71
+
72
+ delete props?.ssoContext;
73
+
65
74
  return Object.assign(defaultProps, props || {});
66
75
  }
67
76