@cerema/cadriciel 1.4.26 → 1.4.29-a

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 (1360) hide show
  1. package/cli/global/init.js +155 -229
  2. package/cli.js +222 -72
  3. package/lib/cadriciel.js +1 -4
  4. package/package.json +3 -1
  5. package/aqtion/.cadriciel/.settings +0 -25
  6. package/aqtion/.cadriciel/bin/.settings +0 -0
  7. package/aqtion/.cadriciel/bin/build.js +0 -106
  8. package/aqtion/.cadriciel/bin/env.js +0 -145
  9. package/aqtion/.cadriciel/bin/gen/api/api.js +0 -886
  10. package/aqtion/.cadriciel/bin/gen/component/component.js +0 -36
  11. package/aqtion/.cadriciel/bin/gen/db/db.js +0 -3
  12. package/aqtion/.cadriciel/bin/gen/db/ext/create.js +0 -124
  13. package/aqtion/.cadriciel/bin/gen/db/ext/ext.js +0 -91
  14. package/aqtion/.cadriciel/bin/gen/db/ext/import.js +0 -636
  15. package/aqtion/.cadriciel/bin/gen/db/ext/models.js +0 -843
  16. package/aqtion/.cadriciel/bin/gen/db/ext/query.js +0 -127
  17. package/aqtion/.cadriciel/bin/gen/db/ext/reverse.js +0 -201
  18. package/aqtion/.cadriciel/bin/gen/db/ext/reverse_lib.js +0 -253
  19. package/aqtion/.cadriciel/bin/gen/db/ext/snapshot.js +0 -112
  20. package/aqtion/.cadriciel/bin/gen/db/ext/sql.js +0 -380
  21. package/aqtion/.cadriciel/bin/gen/page/page.js +0 -163
  22. package/aqtion/.cadriciel/bin/gen/project/project.js +0 -220
  23. package/aqtion/.cadriciel/bin/gen/service/service.js +0 -18
  24. package/aqtion/.cadriciel/bin/gen.js +0 -19
  25. package/aqtion/.cadriciel/bin/lib/cadriciel.js +0 -91
  26. package/aqtion/.cadriciel/bin/lib/convert.js +0 -94
  27. package/aqtion/.cadriciel/bin/lib/docker.js +0 -63
  28. package/aqtion/.cadriciel/bin/lib/global.js +0 -140
  29. package/aqtion/.cadriciel/bin/lib/templates.js +0 -48
  30. package/aqtion/.cadriciel/bin/lib/utils.js +0 -268
  31. package/aqtion/.cadriciel/bin/link.js +0 -139
  32. package/aqtion/.cadriciel/bin/logs.js +0 -42
  33. package/aqtion/.cadriciel/bin/project/_update.js +0 -268
  34. package/aqtion/.cadriciel/bin/project/ext/logo.js +0 -109
  35. package/aqtion/.cadriciel/bin/project/ext/version.js +0 -267
  36. package/aqtion/.cadriciel/bin/project/update.js +0 -3
  37. package/aqtion/.cadriciel/bin/project.js +0 -12
  38. package/aqtion/.cadriciel/bin/reset.js +0 -73
  39. package/aqtion/.cadriciel/bin/rm/api/api.js +0 -244
  40. package/aqtion/.cadriciel/bin/rm/component/component.js +0 -16
  41. package/aqtion/.cadriciel/bin/rm/db/db.js +0 -3
  42. package/aqtion/.cadriciel/bin/rm/db/ext/ext.js +0 -60
  43. package/aqtion/.cadriciel/bin/rm/db/ext/models.js +0 -357
  44. package/aqtion/.cadriciel/bin/rm/page/page.js +0 -62
  45. package/aqtion/.cadriciel/bin/rm/service/service.js +0 -17
  46. package/aqtion/.cadriciel/bin/rm.js +0 -18
  47. package/aqtion/.cadriciel/bin/run/backend.js +0 -122
  48. package/aqtion/.cadriciel/bin/run/frontend.js +0 -52
  49. package/aqtion/.cadriciel/bin/run/stop-backend.js +0 -39
  50. package/aqtion/.cadriciel/bin/run/stop-frontend.js +0 -55
  51. package/aqtion/.cadriciel/bin/start/docker.js +0 -448
  52. package/aqtion/.cadriciel/bin/start/update.js +0 -120
  53. package/aqtion/.cadriciel/bin/start/workspace.js +0 -398
  54. package/aqtion/.cadriciel/bin/start.js +0 -29
  55. package/aqtion/.cadriciel/bin/stop/docker.js +0 -28
  56. package/aqtion/.cadriciel/bin/stop/workspace.js +0 -54
  57. package/aqtion/.cadriciel/bin/stop.js +0 -26
  58. package/aqtion/.cadriciel/bin/templates/angular-prod/main.module.ts +0 -43
  59. package/aqtion/.cadriciel/bin/templates/angular-prod/shared.module.ts +0 -10
  60. package/aqtion/.cadriciel/bin/templates/components/{{name}}.component.html +0 -1
  61. package/aqtion/.cadriciel/bin/templates/components/{{name}}.component.scss +0 -0
  62. package/aqtion/.cadriciel/bin/templates/components/{{name}}.component.ts +0 -15
  63. package/aqtion/.cadriciel/bin/templates/environment.tpl.ts +0 -12
  64. package/aqtion/.cadriciel/bin/templates/idea/compiler.xml +0 -28
  65. package/aqtion/.cadriciel/bin/templates/idea/dataSources.local.xml +0 -20
  66. package/aqtion/.cadriciel/bin/templates/idea/dataSources.xml +0 -12
  67. package/aqtion/.cadriciel/bin/templates/idea/encodings.xml +0 -12
  68. package/aqtion/.cadriciel/bin/templates/idea/jarRepositories.xml +0 -20
  69. package/aqtion/.cadriciel/bin/templates/idea/jpa-buddy-datasource.xml +0 -8
  70. package/aqtion/.cadriciel/bin/templates/idea/jpa-buddy.xml +0 -7
  71. package/aqtion/.cadriciel/bin/templates/idea/misc.xml +0 -16
  72. package/aqtion/.cadriciel/bin/templates/idea/modules.xml +0 -8
  73. package/aqtion/.cadriciel/bin/templates/idea/vcs.xml +0 -6
  74. package/aqtion/.cadriciel/bin/templates/idea/workspace-docker.xml +0 -114
  75. package/aqtion/.cadriciel/bin/templates/idea/workspace.xml +0 -122
  76. package/aqtion/.cadriciel/bin/templates/java/config.java +0 -59
  77. package/aqtion/.cadriciel/bin/templates/jpb/jpb-settings.xml +0 -12
  78. package/aqtion/.cadriciel/bin/templates/routing.module.ts +0 -30
  79. package/aqtion/.cadriciel/bin/templates/start/backend.sh +0 -15
  80. package/aqtion/.cadriciel/bin/templates/start/frontend.sh +0 -3
  81. package/aqtion/.cadriciel/bin/templates/studio-env.tpl.ts +0 -9
  82. package/aqtion/.cadriciel/bin/templates/{{name}}.component.html +0 -1
  83. package/aqtion/.cadriciel/bin/templates/{{name}}.component.scss +0 -0
  84. package/aqtion/.cadriciel/bin/templates/{{name}}.component.ts +0 -16
  85. package/aqtion/.cadriciel/bin/templates/{{name}}.service.ts +0 -20
  86. package/aqtion/.cadriciel/bin/unlink.js +0 -0
  87. package/aqtion/.cadriciel/bin/upgrade.js +0 -0
  88. package/aqtion/.cadriciel/bin/version.json +0 -4
  89. package/aqtion/.cadriciel/cli/build.js +0 -8
  90. package/aqtion/.cadriciel/cli/env.js +0 -9
  91. package/aqtion/.cadriciel/cli/gen.js +0 -34
  92. package/aqtion/.cadriciel/cli/link.js +0 -8
  93. package/aqtion/.cadriciel/cli/logs.js +0 -8
  94. package/aqtion/.cadriciel/cli/project.js +0 -14
  95. package/aqtion/.cadriciel/cli/reset.js +0 -8
  96. package/aqtion/.cadriciel/cli/restart.js +0 -8
  97. package/aqtion/.cadriciel/cli/rm.js +0 -34
  98. package/aqtion/.cadriciel/cli/start.js +0 -8
  99. package/aqtion/.cadriciel/cli/stop.js +0 -8
  100. package/aqtion/.cadriciel/cli/unlink.js +0 -8
  101. package/aqtion/.cadriciel/cli/upgrade.js +0 -8
  102. package/aqtion/.cadriciel/routes/root.json +0 -1
  103. package/aqtion/.cadriciel/shared/.gitkeep +0 -0
  104. package/aqtion/.cadriciel/watcher/pid +0 -1
  105. package/aqtion/.dockerignore +0 -5
  106. package/aqtion/.gitlab-ci.yml +0 -102
  107. package/aqtion/.jpb/jpb-settings.xml +0 -12
  108. package/aqtion/.project +0 -1
  109. package/aqtion/.vscode/launch.json +0 -23
  110. package/aqtion/.vscode/settings.json +0 -3
  111. package/aqtion/.vscode/tasks.json +0 -55
  112. package/aqtion/Dockerfile +0 -8
  113. package/aqtion/angular.json +0 -208
  114. package/aqtion/backend/.mvn/wrapper/MavenWrapperDownloader.java +0 -116
  115. package/aqtion/backend/.mvn/wrapper/maven-wrapper.properties +0 -4
  116. package/aqtion/backend/Dockerfile +0 -13
  117. package/aqtion/backend/aqtion-data/Readme.md +0 -27
  118. package/aqtion/backend/aqtion-data/pom.xml +0 -36
  119. package/aqtion/backend/aqtion-data/src/main/resources/db/dev/Readme.md +0 -5
  120. package/aqtion/backend/aqtion-data/src/main/resources/db/dev/V2022.06.02.1513__dev-data.sql +0 -7
  121. package/aqtion/backend/aqtion-data/src/main/resources/db/migration/Readme.md +0 -38
  122. package/aqtion/backend/aqtion-data/src/main/resources/db/migration/V2021.10.14.0819__Init.sql +0 -23
  123. package/aqtion/backend/aqtion-data/target/classes/db/dev/Readme.md +0 -5
  124. package/aqtion/backend/aqtion-data/target/classes/db/dev/V2022.06.02.1513__dev-data.sql +0 -7
  125. package/aqtion/backend/aqtion-data/target/classes/db/migration/Readme.md +0 -38
  126. package/aqtion/backend/aqtion-data/target/classes/db/migration/V2021.10.14.0819__Init.sql +0 -23
  127. package/aqtion/backend/aqtion-data/target/maven-archiver/pom.properties +0 -3
  128. package/aqtion/backend/aqtion-metier/pom.xml +0 -110
  129. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/CustomUserDetailsService.java +0 -12
  130. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/ProfilService.java +0 -24
  131. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/UserService.java +0 -36
  132. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/impl/CustomUserDetailsServiceImpl.java +0 -79
  133. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/impl/ProfilServiceImpl.java +0 -27
  134. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/aqtion/services/impl/UserServiceImpl.java +0 -75
  135. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/commons/security/UserSecurityServiceUtil.java +0 -30
  136. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/commons/services/GenericService.java +0 -30
  137. package/aqtion/backend/aqtion-metier/src/main/java/fr/cerema/dsi/commons/services/GenericServiceImpl.java +0 -62
  138. package/aqtion/backend/aqtion-metier/src/test/java/fr/cerema/dsi/aqtion/services/UserServiceImplTest.java +0 -60
  139. package/aqtion/backend/aqtion-metier/target/maven-archiver/pom.properties +0 -3
  140. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -9
  141. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -9
  142. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +0 -1
  143. package/aqtion/backend/aqtion-metier/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +0 -1
  144. package/aqtion/backend/aqtion-persistance/pom.xml +0 -33
  145. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/aqtion/repositories/ProfilRepository.java +0 -18
  146. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/aqtion/repositories/UserRepository.java +0 -28
  147. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/commons/repositories/AbstractDao.java +0 -118
  148. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/commons/repositories/GenericRepository.java +0 -101
  149. package/aqtion/backend/aqtion-persistance/src/main/java/fr/cerema/dsi/commons/repositories/IAbstractDao.java +0 -66
  150. package/aqtion/backend/aqtion-persistance/target/maven-archiver/pom.properties +0 -3
  151. package/aqtion/backend/aqtion-persistance/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -5
  152. package/aqtion/backend/aqtion-persistance/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -5
  153. package/aqtion/backend/aqtion-presentation/Readme.md +0 -98
  154. package/aqtion/backend/aqtion-presentation/pom.xml +0 -185
  155. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/App.java +0 -20
  156. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/AspectJConfiguration.java +0 -58
  157. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/AuthenticationTokenFilter.java +0 -134
  158. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/SecurityConfiguration.java +0 -80
  159. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/StaticResourcesWebConfiguration.java +0 -41
  160. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/config/WebConfiguration.java +0 -59
  161. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/controllers/AccountController.java +0 -64
  162. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/controllers/ApiOpenController.java +0 -71
  163. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/controllers/UserController.java +0 -65
  164. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/GenericDTO.java +0 -20
  165. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/ProfilDTO.java +0 -26
  166. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/UserDTO.java +0 -57
  167. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/dto/UserWithCurrentAuthorityDTO.java +0 -31
  168. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/aqtion/mapper/UserMapper.java +0 -33
  169. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/ApiSubError.java +0 -5
  170. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/ApiValidationSubError.java +0 -13
  171. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/beans/errors/JsonApiError.java +0 -308
  172. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/AbstractErrorHandler.java +0 -67
  173. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/ClientForwardController.java +0 -19
  174. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/CustomErrorController.java +0 -57
  175. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/controllers/RestResponseEntityExceptionHandler.java +0 -75
  176. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/security/auth/jwt/exceptions/InvalidTokenException.java +0 -30
  177. package/aqtion/backend/aqtion-presentation/src/main/java/fr/cerema/dsi/commons/security/filters/AppCorsFilter.java +0 -45
  178. package/aqtion/backend/aqtion-presentation/src/main/resources/META-INF/spring.factories +0 -2
  179. package/aqtion/backend/aqtion-presentation/src/main/resources/banner.txt +0 -3
  180. package/aqtion/backend/aqtion-presentation/src/main/resources/logback-spring-ci.xml +0 -15
  181. package/aqtion/backend/aqtion-presentation/src/main/resources/logback-spring.xml +0 -15
  182. package/aqtion/backend/aqtion-presentation/src/main/resources-filtered/application-prod.yml +0 -80
  183. package/aqtion/backend/aqtion-presentation/src/main/resources-filtered/application.yml +0 -94
  184. package/aqtion/backend/aqtion-presentation/src/test/java/fr/cerema/dsi/aqtion/service/IntegrationTest.java +0 -18
  185. package/aqtion/backend/aqtion-presentation/src/test/resources/application.yml +0 -41
  186. package/aqtion/backend/aqtion-presentation/src/test/resources/db.migration/Readme.md +0 -6
  187. package/aqtion/backend/aqtion-presentation/target/generated-sources/annotations/fr/cerema/dsi/aqtion/mapper/UserMapperImpl.java +0 -134
  188. package/aqtion/backend/aqtion-presentation/target/maven-archiver/pom.properties +0 -3
  189. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -25
  190. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -23
  191. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/createdFiles.lst +0 -1
  192. package/aqtion/backend/aqtion-presentation/target/maven-status/maven-compiler-plugin/testCompile/default-testCompile/inputFiles.lst +0 -1
  193. package/aqtion/backend/aqtion-transverse/pom.xml +0 -22
  194. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/entities/Profil.java +0 -53
  195. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/entities/User.java +0 -79
  196. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/enums/Role.java +0 -8
  197. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/JwtConfMalformedException.java +0 -9
  198. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/security/AuthenticationServiceException.java +0 -30
  199. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/security/NoRoleForUserServiceException.java +0 -29
  200. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/aqtion/exceptions/security/UserNotFoundServiceException.java +0 -29
  201. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/entities/GenericEntity.java +0 -43
  202. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/BadRequestException.java +0 -43
  203. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/EntityNotFoundException.java +0 -9
  204. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/GenericRepositoryException.java +0 -29
  205. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/GenericServiceException.java +0 -29
  206. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/UserNotFoundException.java +0 -11
  207. package/aqtion/backend/aqtion-transverse/src/main/java/fr/cerema/dsi/commons/exceptions/UtilsException.java +0 -13
  208. package/aqtion/backend/aqtion-transverse/target/maven-archiver/pom.properties +0 -3
  209. package/aqtion/backend/aqtion-transverse/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst +0 -15
  210. package/aqtion/backend/aqtion-transverse/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +0 -14
  211. package/aqtion/backend/mvnw +0 -311
  212. package/aqtion/backend/mvnw.cmd +0 -182
  213. package/aqtion/backend/pom.xml +0 -144
  214. package/aqtion/banner.png +0 -0
  215. package/aqtion/bun.lockb +0 -0
  216. package/aqtion/docker/config/keycloak/realms/export/realm.json +0 -63
  217. package/aqtion/docker/config/keycloak/themes/README.txt +0 -3
  218. package/aqtion/docker/config/keycloak/themes/base/account/account.ftl +0 -70
  219. package/aqtion/docker/config/keycloak/themes/base/account/applications.ftl +0 -76
  220. package/aqtion/docker/config/keycloak/themes/base/account/federatedIdentity.ftl +0 -42
  221. package/aqtion/docker/config/keycloak/themes/base/account/log.ftl +0 -35
  222. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_ca.properties +0 -147
  223. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_cs.properties +0 -171
  224. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_da.properties +0 -339
  225. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_de.properties +0 -353
  226. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_en.properties +0 -397
  227. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_es.properties +0 -147
  228. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_fi.properties +0 -400
  229. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_fr.properties +0 -180
  230. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_hu.properties +0 -334
  231. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_it.properties +0 -336
  232. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_ja.properties +0 -335
  233. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_lt.properties +0 -154
  234. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_lv.properties +0 -197
  235. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_nl.properties +0 -133
  236. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_no.properties +0 -152
  237. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_pl.properties +0 -248
  238. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_pt_BR.properties +0 -356
  239. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_ru.properties +0 -155
  240. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_sk.properties +0 -196
  241. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_sv.properties +0 -150
  242. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_tr.properties +0 -315
  243. package/aqtion/docker/config/keycloak/themes/base/account/messages/messages_zh_CN.properties +0 -153
  244. package/aqtion/docker/config/keycloak/themes/base/account/password.ftl +0 -59
  245. package/aqtion/docker/config/keycloak/themes/base/account/resource-detail.ftl +0 -277
  246. package/aqtion/docker/config/keycloak/themes/base/account/resources.ftl +0 -403
  247. package/aqtion/docker/config/keycloak/themes/base/account/sessions.ftl +0 -44
  248. package/aqtion/docker/config/keycloak/themes/base/account/template.ftl +0 -88
  249. package/aqtion/docker/config/keycloak/themes/base/account/theme.properties +0 -1
  250. package/aqtion/docker/config/keycloak/themes/base/account/totp.ftl +0 -141
  251. package/aqtion/docker/config/keycloak/themes/base/admin/index.ftl +0 -99
  252. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_ca.properties +0 -477
  253. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_de.properties +0 -1627
  254. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_en.properties +0 -2030
  255. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_es.properties +0 -479
  256. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_fi.properties +0 -1
  257. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_fr.properties +0 -155
  258. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_it.properties +0 -0
  259. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_ja.properties +0 -1641
  260. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_lt.properties +0 -1221
  261. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_lv.properties +0 -1
  262. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_nl.properties +0 -0
  263. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_no.properties +0 -1129
  264. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_pl.properties +0 -1
  265. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_pt_BR.properties +0 -1101
  266. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_ru.properties +0 -1279
  267. package/aqtion/docker/config/keycloak/themes/base/admin/messages/admin-messages_zh_CN.properties +0 -1230
  268. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_ca.properties +0 -8
  269. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_de.properties +0 -29
  270. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_en.properties +0 -67
  271. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_es.properties +0 -8
  272. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_fi.properties +0 -1
  273. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_fr.properties +0 -8
  274. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_it.properties +0 -0
  275. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_ja.properties +0 -30
  276. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_lt.properties +0 -25
  277. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_lv.properties +0 -1
  278. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_nl.properties +0 -27
  279. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_no.properties +0 -14
  280. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_pl.properties +0 -1
  281. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_pt_BR.properties +0 -18
  282. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_ru.properties +0 -26
  283. package/aqtion/docker/config/keycloak/themes/base/admin/messages/messages_zh_CN.properties +0 -26
  284. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/app.js +0 -3858
  285. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/authz/authz-app.js +0 -569
  286. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/authz/authz-controller.js +0 -2845
  287. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/authz/authz-services.js +0 -218
  288. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/clients.js +0 -4054
  289. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/groups.js +0 -625
  290. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/realm.js +0 -4552
  291. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/roles.js +0 -48
  292. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/controllers/users.js +0 -2042
  293. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/loaders.js +0 -587
  294. package/aqtion/docker/config/keycloak/themes/base/admin/resources/js/services.js +0 -2265
  295. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authentication-flow-bindings.html +0 -83
  296. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authentication-flows.html +0 -72
  297. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authenticator-config.html +0 -52
  298. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/broker-permissions.html +0 -40
  299. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/client-permissions.html +0 -39
  300. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/client-role-permissions.html +0 -40
  301. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/group-permissions.html +0 -39
  302. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/realm-role-permissions.html +0 -39
  303. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/mgmt/users-permissions.html +0 -35
  304. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/permission/provider/resource-server-policy-resource-detail.html +0 -131
  305. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/permission/provider/resource-server-policy-scope-detail.html +0 -137
  306. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/permission/resource-server-permission-list.html +0 -118
  307. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-aggregate-detail.html +0 -123
  308. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-client-detail.html +0 -93
  309. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-client-scope-detail.html +0 -126
  310. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-group-detail.html +0 -126
  311. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-js-detail.html +0 -68
  312. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-regex-detail.html +0 -100
  313. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-role-detail.html +0 -169
  314. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-time-detail.html +0 -119
  315. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/provider/resource-server-policy-user-detail.html +0 -93
  316. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/resource-server-policy-evaluate-result.html +0 -72
  317. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/resource-server-policy-evaluate.html +0 -267
  318. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/policy/resource-server-policy-list.html +0 -117
  319. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-detail.html +0 -77
  320. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-export-settings.html +0 -35
  321. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-list.html +0 -49
  322. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-resource-detail.html +0 -126
  323. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-resource-list.html +0 -169
  324. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-scope-detail.html +0 -50
  325. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/authz/resource-server-scope-list.html +0 -102
  326. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/brute-force.html +0 -114
  327. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/ciba-policy.html +0 -63
  328. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/claims.html +0 -62
  329. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-clustering-node.html +0 -37
  330. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-clustering.html +0 -76
  331. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-generic.html +0 -14
  332. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-jwt.html +0 -26
  333. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-secret-jwt.html +0 -55
  334. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-secret.html +0 -33
  335. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials-x509.html +0 -28
  336. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-credentials.html +0 -38
  337. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-detail.html +0 -1080
  338. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-import.html +0 -46
  339. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-initial-access-create.html +0 -63
  340. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-initial-access.html +0 -55
  341. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-installation.html +0 -36
  342. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-keys.html +0 -146
  343. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-list.html +0 -68
  344. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-mappers-add.html +0 -53
  345. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-mappers.html +0 -55
  346. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-offline-sessions.html +0 -59
  347. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-oidc-key-export.html +0 -57
  348. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-oidc-key-import.html +0 -62
  349. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-oidc-keys.html +0 -108
  350. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-json.html +0 -60
  351. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-list.html +0 -74
  352. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-policy-edit-condition.html +0 -65
  353. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-policy-edit.html +0 -140
  354. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-edit-executor.html +0 -65
  355. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-edit.html +0 -97
  356. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-json.html +0 -60
  357. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-policies-profiles-list.html +0 -80
  358. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-protocol-mapper-detail.html +0 -13
  359. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-policies.html +0 -106
  360. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-policy-detail.html +0 -68
  361. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-trusted-host-create.html +0 -55
  362. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-reg-trusted-host-detail.html +0 -64
  363. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-registration-access-token.html +0 -18
  364. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-revocation.html +0 -30
  365. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-attributes.html +0 -45
  366. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-detail.html +0 -140
  367. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-list.html +0 -64
  368. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-role-users.html +0 -52
  369. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-saml-key-export.html +0 -63
  370. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-saml-key-import.html +0 -62
  371. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-saml-keys.html +0 -66
  372. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-detail.html +0 -102
  373. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-list.html +0 -60
  374. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-mappers-add.html +0 -53
  375. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-mappers.html +0 -55
  376. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-mappings.html +0 -127
  377. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-protocol-mapper-detail.html +0 -13
  378. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scope-scope-mappings.html +0 -116
  379. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scopes-evaluate.html +0 -268
  380. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scopes-realm-default.html +0 -99
  381. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-scopes-setup.html +0 -123
  382. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-service-account-roles.html +0 -140
  383. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-sessions.html +0 -57
  384. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-storage-generic.html +0 -207
  385. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/client-storage-list.html +0 -67
  386. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-client.html +0 -72
  387. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-execution.html +0 -31
  388. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-flow-execution.html +0 -55
  389. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-flow.html +0 -43
  390. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/create-group.html +0 -25
  391. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/default-groups.html +0 -91
  392. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/defense-headers.html +0 -71
  393. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/forbidden.html +0 -7
  394. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-attributes.html +0 -41
  395. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-detail.html +0 -28
  396. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-list.html +0 -50
  397. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-members.html +0 -48
  398. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/group-role-mappings.html +0 -111
  399. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/home.html +0 -4
  400. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/identity-provider-mapper-detail.html +0 -84
  401. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/identity-provider-mappers.html +0 -49
  402. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/menu.html +0 -26
  403. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/group-selector.html +0 -50
  404. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/realm-events-admin-auth.html +0 -8
  405. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/realm-events-admin-representation.html +0 -3
  406. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/role-selector.html +0 -39
  407. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/unregistered-required-action-selector.html +0 -21
  408. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/user-credential-data.html +0 -8
  409. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/view-key.html +0 -18
  410. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/modal/view-object.html +0 -3
  411. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/notfound.html +0 -7
  412. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/otp-policy.html +0 -96
  413. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/pagenotfound.html +0 -7
  414. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/partial-export.html +0 -34
  415. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/partial-import.html +0 -130
  416. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/password-policy.html +0 -51
  417. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/protocol-mapper-detail.html +0 -64
  418. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-cache-settings.html +0 -30
  419. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-create.html +0 -45
  420. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-default-roles.html +0 -88
  421. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-detail.html +0 -90
  422. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-events-admin.html +0 -134
  423. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-events-config.html +0 -106
  424. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-events.html +0 -124
  425. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-bitbucket.html +0 -142
  426. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-facebook-ext.html +0 -7
  427. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-facebook.html +0 -1
  428. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-github-ext.html +0 -14
  429. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-github.html +0 -1
  430. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-gitlab.html +0 -142
  431. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-google-ext.html +0 -21
  432. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-google.html +0 -1
  433. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-instagram-ext.html +0 -0
  434. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-instagram.html +0 -1
  435. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-keycloak-oidc.html +0 -1
  436. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-linkedin-ext.html +0 -0
  437. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-linkedin.html +0 -1
  438. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-microsoft-ext.html +0 -0
  439. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-microsoft.html +0 -1
  440. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-oidc.html +0 -388
  441. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v3-ext.html +0 -7
  442. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v3.html +0 -164
  443. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v4-ext.html +0 -7
  444. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-openshift-v4.html +0 -164
  445. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-paypal-ext.html +0 -7
  446. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-paypal.html +0 -1
  447. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-saml.html +0 -435
  448. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-social.html +0 -157
  449. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-stackoverflow-ext.html +0 -7
  450. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-stackoverflow.html +0 -1
  451. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-twitter-ext.html +0 -0
  452. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider-twitter.html +0 -1
  453. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-identity-provider.html +0 -81
  454. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-disabled.html +0 -70
  455. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-generic.html +0 -69
  456. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-passive.html +0 -70
  457. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys-providers.html +0 -75
  458. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-keys.html +0 -73
  459. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-list.html +0 -20
  460. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-localization-detail.html +0 -50
  461. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-localization-upload.html +0 -37
  462. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-localization.html +0 -61
  463. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-login-settings.html +0 -107
  464. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-role-users.html +0 -50
  465. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-smtp.html +0 -96
  466. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-theme-settings.html +0 -97
  467. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-tokens.html +0 -401
  468. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/realm-user-profile.html +0 -372
  469. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/required-actions.html +0 -38
  470. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-attributes.html +0 -41
  471. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-detail.html +0 -135
  472. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-list.html +0 -63
  473. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/role-mappings.html +0 -119
  474. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/server-info-providers.html +0 -55
  475. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/server-info.html +0 -135
  476. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/session-realm.html +0 -34
  477. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/session-revocation.html +0 -30
  478. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-attributes.html +0 -41
  479. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-consents.html +0 -41
  480. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-credentials.html +0 -173
  481. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-detail.html +0 -186
  482. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-federated-identity-detail.html +0 -53
  483. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-federated-identity-list.html +0 -41
  484. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-federation.html +0 -69
  485. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-group-membership.html +0 -114
  486. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-list.html +0 -69
  487. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-offline-sessions.html +0 -35
  488. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-sessions.html +0 -43
  489. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-generic.html +0 -246
  490. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-kerberos.html +0 -264
  491. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-ldap-mapper-detail.html +0 -64
  492. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-ldap-mappers.html +0 -46
  493. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage-ldap.html +0 -568
  494. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/user-storage.html +0 -45
  495. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/webauthn-policy-passwordless.html +0 -177
  496. package/aqtion/docker/config/keycloak/themes/base/admin/resources/partials/webauthn-policy.html +0 -159
  497. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/authz/kc-authz-modal.html +0 -11
  498. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/authz/kc-tabs-resource-server.html +0 -14
  499. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-component-config.html +0 -67
  500. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-copy.html +0 -18
  501. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-dropdown.html +0 -12
  502. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-edit.html +0 -22
  503. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-menu.html +0 -65
  504. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-modal-message.html +0 -10
  505. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-modal.html +0 -11
  506. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-paging.html +0 -25
  507. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-provider-config.html +0 -104
  508. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-switch.html +0 -12
  509. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-authentication.html +0 -16
  510. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-client-role.html +0 -17
  511. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-client-scope.html +0 -20
  512. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-client.html +0 -65
  513. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-clients.html +0 -16
  514. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-group-list.html +0 -11
  515. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-group.html +0 -17
  516. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-identity-provider.html +0 -16
  517. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-ldap.html +0 -12
  518. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-realm.html +0 -24
  519. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-role.html +0 -16
  520. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-user-storage.html +0 -11
  521. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-user.html +0 -18
  522. package/aqtion/docker/config/keycloak/themes/base/admin/resources/templates/kc-tabs-users.html +0 -11
  523. package/aqtion/docker/config/keycloak/themes/base/admin/theme.properties +0 -1
  524. package/aqtion/docker/config/keycloak/themes/base/email/html/email-test.ftl +0 -4
  525. package/aqtion/docker/config/keycloak/themes/base/email/html/email-update-confirmation.ftl +0 -5
  526. package/aqtion/docker/config/keycloak/themes/base/email/html/email-verification-with-code.ftl +0 -4
  527. package/aqtion/docker/config/keycloak/themes/base/email/html/email-verification.ftl +0 -4
  528. package/aqtion/docker/config/keycloak/themes/base/email/html/event-login_error.ftl +0 -4
  529. package/aqtion/docker/config/keycloak/themes/base/email/html/event-remove_totp.ftl +0 -4
  530. package/aqtion/docker/config/keycloak/themes/base/email/html/event-update_password.ftl +0 -4
  531. package/aqtion/docker/config/keycloak/themes/base/email/html/event-update_totp.ftl +0 -4
  532. package/aqtion/docker/config/keycloak/themes/base/email/html/executeActions.ftl +0 -8
  533. package/aqtion/docker/config/keycloak/themes/base/email/html/identity-provider-link.ftl +0 -4
  534. package/aqtion/docker/config/keycloak/themes/base/email/html/password-reset.ftl +0 -4
  535. package/aqtion/docker/config/keycloak/themes/base/email/html/template.ftl +0 -7
  536. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_ca.properties +0 -21
  537. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_cs.properties +0 -60
  538. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_da.properties +0 -47
  539. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_de.properties +0 -43
  540. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_en.properties +0 -55
  541. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_es.properties +0 -21
  542. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_fi.properties +0 -46
  543. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_fr.properties +0 -46
  544. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_hu.properties +0 -47
  545. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_it.properties +0 -50
  546. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_ja.properties +0 -52
  547. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_lt.properties +0 -25
  548. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_nl.properties +0 -38
  549. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_no.properties +0 -24
  550. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_pl.properties +0 -56
  551. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_pt_BR.properties +0 -51
  552. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_ru.properties +0 -25
  553. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_sk.properties +0 -48
  554. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_sv.properties +0 -25
  555. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_tr.properties +0 -51
  556. package/aqtion/docker/config/keycloak/themes/base/email/messages/messages_zh_CN.properties +0 -25
  557. package/aqtion/docker/config/keycloak/themes/base/email/text/email-test.ftl +0 -2
  558. package/aqtion/docker/config/keycloak/themes/base/email/text/email-update-confirmation.ftl +0 -2
  559. package/aqtion/docker/config/keycloak/themes/base/email/text/email-verification-with-code.ftl +0 -2
  560. package/aqtion/docker/config/keycloak/themes/base/email/text/email-verification.ftl +0 -2
  561. package/aqtion/docker/config/keycloak/themes/base/email/text/event-login_error.ftl +0 -2
  562. package/aqtion/docker/config/keycloak/themes/base/email/text/event-remove_totp.ftl +0 -2
  563. package/aqtion/docker/config/keycloak/themes/base/email/text/event-update_password.ftl +0 -2
  564. package/aqtion/docker/config/keycloak/themes/base/email/text/event-update_totp.ftl +0 -2
  565. package/aqtion/docker/config/keycloak/themes/base/email/text/executeActions.ftl +0 -4
  566. package/aqtion/docker/config/keycloak/themes/base/email/text/identity-provider-link.ftl +0 -2
  567. package/aqtion/docker/config/keycloak/themes/base/email/text/password-reset.ftl +0 -2
  568. package/aqtion/docker/config/keycloak/themes/base/email/theme.properties +0 -1
  569. package/aqtion/docker/config/keycloak/themes/base/login/cli_splash.ftl +0 -7
  570. package/aqtion/docker/config/keycloak/themes/base/login/code.ftl +0 -19
  571. package/aqtion/docker/config/keycloak/themes/base/login/delete-account-confirm.ftl +0 -33
  572. package/aqtion/docker/config/keycloak/themes/base/login/error.ftl +0 -16
  573. package/aqtion/docker/config/keycloak/themes/base/login/frontchannel-logout.ftl +0 -30
  574. package/aqtion/docker/config/keycloak/themes/base/login/idp-review-user-profile.ftl +0 -23
  575. package/aqtion/docker/config/keycloak/themes/base/login/info.ftl +0 -24
  576. package/aqtion/docker/config/keycloak/themes/base/login/login-config-totp.ftl +0 -108
  577. package/aqtion/docker/config/keycloak/themes/base/login/login-idp-link-confirm.ftl +0 -13
  578. package/aqtion/docker/config/keycloak/themes/base/login/login-idp-link-email.ftl +0 -16
  579. package/aqtion/docker/config/keycloak/themes/base/login/login-oauth-grant.ftl +0 -68
  580. package/aqtion/docker/config/keycloak/themes/base/login/login-oauth2-device-verify-user-code.ftl +0 -31
  581. package/aqtion/docker/config/keycloak/themes/base/login/login-otp.ftl +0 -58
  582. package/aqtion/docker/config/keycloak/themes/base/login/login-page-expired.ftl +0 -11
  583. package/aqtion/docker/config/keycloak/themes/base/login/login-password.ftl +0 -43
  584. package/aqtion/docker/config/keycloak/themes/base/login/login-recovery-authn-code-config.ftl +0 -184
  585. package/aqtion/docker/config/keycloak/themes/base/login/login-recovery-authn-code-input.ftl +0 -32
  586. package/aqtion/docker/config/keycloak/themes/base/login/login-reset-password.ftl +0 -39
  587. package/aqtion/docker/config/keycloak/themes/base/login/login-update-password.ftl +0 -71
  588. package/aqtion/docker/config/keycloak/themes/base/login/login-update-profile.ftl +0 -99
  589. package/aqtion/docker/config/keycloak/themes/base/login/login-username.ftl +0 -87
  590. package/aqtion/docker/config/keycloak/themes/base/login/login-verify-email.ftl +0 -14
  591. package/aqtion/docker/config/keycloak/themes/base/login/login-x509-info.ftl +0 -55
  592. package/aqtion/docker/config/keycloak/themes/base/login/login.ftl +0 -105
  593. package/aqtion/docker/config/keycloak/themes/base/login/logout-confirm.ftl +0 -38
  594. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_ca.properties +0 -200
  595. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_cs.properties +0 -425
  596. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_da.properties +0 -363
  597. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_de.properties +0 -420
  598. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_en.properties +0 -501
  599. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_es.properties +0 -201
  600. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_fi.properties +0 -443
  601. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_fr.properties +0 -405
  602. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_hu.properties +0 -356
  603. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_it.properties +0 -354
  604. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_ja.properties +0 -356
  605. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_lt.properties +0 -216
  606. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_lv.properties +0 -254
  607. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_nl.properties +0 -294
  608. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_no.properties +0 -214
  609. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_pl.properties +0 -318
  610. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_pt_BR.properties +0 -381
  611. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_ru.properties +0 -217
  612. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_sk.properties +0 -265
  613. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_sv.properties +0 -214
  614. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_tr.properties +0 -296
  615. package/aqtion/docker/config/keycloak/themes/base/login/messages/messages_zh_CN.properties +0 -216
  616. package/aqtion/docker/config/keycloak/themes/base/login/register-user-profile.ftl +0 -74
  617. package/aqtion/docker/config/keycloak/themes/base/login/register.ftl +0 -141
  618. package/aqtion/docker/config/keycloak/themes/base/login/resources/js/base64url.js +0 -114
  619. package/aqtion/docker/config/keycloak/themes/base/login/saml-post-form.ftl +0 -25
  620. package/aqtion/docker/config/keycloak/themes/base/login/select-authenticator.ftl +0 -43
  621. package/aqtion/docker/config/keycloak/themes/base/login/template.ftl +0 -154
  622. package/aqtion/docker/config/keycloak/themes/base/login/terms.ftl +0 -15
  623. package/aqtion/docker/config/keycloak/themes/base/login/theme.properties +0 -1
  624. package/aqtion/docker/config/keycloak/themes/base/login/update-email.ftl +0 -42
  625. package/aqtion/docker/config/keycloak/themes/base/login/update-user-profile.ftl +0 -28
  626. package/aqtion/docker/config/keycloak/themes/base/login/user-profile-commons.ftl +0 -187
  627. package/aqtion/docker/config/keycloak/themes/base/login/webauthn-authenticate.ftl +0 -168
  628. package/aqtion/docker/config/keycloak/themes/base/login/webauthn-error.ftl +0 -36
  629. package/aqtion/docker/config/keycloak/themes/base/login/webauthn-register.ftl +0 -192
  630. package/aqtion/docker/config/keycloak/themes/cerema/account/account.ftl +0 -93
  631. package/aqtion/docker/config/keycloak/themes/cerema/account/messages/messages_fr.properties +0 -1
  632. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/css/account.css +0 -292
  633. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/favicon.ico +0 -0
  634. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/icon-sidebar-active.png +0 -0
  635. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/keycloak-logo.png +0 -0
  636. package/aqtion/docker/config/keycloak/themes/cerema/account/resources/img/logo.png +0 -0
  637. package/aqtion/docker/config/keycloak/themes/cerema/account/theme.properties +0 -11
  638. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/css/styles.css +0 -420
  639. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/favicon.ico +0 -0
  640. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/keyclok-logo.png +0 -0
  641. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/keyclok-logo.svg +0 -215
  642. package/aqtion/docker/config/keycloak/themes/cerema/admin/resources/img/select-arrow.png +0 -0
  643. package/aqtion/docker/config/keycloak/themes/cerema/admin/theme.properties +0 -3
  644. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/errors.json +0 -150
  645. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/LICENSE +0 -20
  646. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/README.md +0 -128
  647. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/angular.treeview.js +0 -97
  648. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/angular.treeview.min.js +0 -9
  649. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/css/angular.treeview.css +0 -99
  650. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/img/file.png +0 -0
  651. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/img/folder-closed.png +0 -0
  652. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/treeview/img/folder.png +0 -0
  653. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/ui-bootstrap-tpls-0.11.0.js +0 -4172
  654. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/angular/version.json +0 -22
  655. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.eot +0 -0
  656. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.svg +0 -1085
  657. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.ttf +0 -0
  658. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.woff +0 -0
  659. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/components/font-awesome/fonts/fontawesome-webfont.woff2 +0 -0
  660. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/filesaver/FileSaver.js +0 -189
  661. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/FileAPI.min.js +0 -72
  662. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-html5-shim.js +0 -25
  663. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-html5-shim.min.js +0 -2
  664. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-shim.js +0 -237
  665. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload-shim.min.js +0 -2
  666. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload.js +0 -156
  667. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/fileupload/angular-file-upload.min.js +0 -2
  668. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/css/patternfly.css +0 -14320
  669. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.eot +0 -0
  670. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.svg +0 -2014
  671. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.ttf +0 -0
  672. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Bold-webfont.woff +0 -0
  673. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
  674. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.svg +0 -2019
  675. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.ttf +0 -0
  676. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
  677. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.eot +0 -0
  678. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.svg +0 -2016
  679. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.ttf +0 -0
  680. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBold-webfont.woff +0 -0
  681. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.eot +0 -0
  682. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.svg +0 -2024
  683. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.ttf +0 -0
  684. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-ExtraBoldItalic-webfont.woff +0 -0
  685. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.eot +0 -0
  686. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.svg +0 -2019
  687. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.ttf +0 -0
  688. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Italic-webfont.woff +0 -0
  689. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.eot +0 -0
  690. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.svg +0 -2013
  691. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.ttf +0 -0
  692. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Light-webfont.woff +0 -0
  693. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.eot +0 -0
  694. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.svg +0 -2021
  695. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.ttf +0 -0
  696. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-LightItalic-webfont.woff +0 -0
  697. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.eot +0 -0
  698. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.svg +0 -2017
  699. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.ttf +0 -0
  700. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Regular-webfont.woff +0 -0
  701. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.eot +0 -0
  702. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.svg +0 -2015
  703. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.ttf +0 -0
  704. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-Semibold-webfont.woff +0 -0
  705. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
  706. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -2019
  707. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
  708. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
  709. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.eot +0 -0
  710. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.svg +0 -133
  711. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.ttf +0 -0
  712. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/fonts/PatternFlyIcons-webfont.woff +0 -0
  713. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-114-precomposed.png +0 -0
  714. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-144-precomposed.png +0 -0
  715. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-57-precomposed.png +0 -0
  716. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/apple-touch-icon-72-precomposed.png +0 -0
  717. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/bg-login.jpg +0 -0
  718. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner-lg.gif +0 -0
  719. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner-sm.gif +0 -0
  720. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner-xs.gif +0 -0
  721. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/patternfly/img/spinner.gif +0 -0
  722. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/ace.js +0 -18957
  723. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/ace.js +0 -7950
  724. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/mode-javascript.js +0 -1
  725. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/theme-github.js +0 -1
  726. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/min/worker-javascript.js +0 -1
  727. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/mode-javascript.js +0 -1140
  728. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/theme-github.js +0 -103
  729. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/ui-ace.js +0 -327
  730. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/ui-ace.min.js +0 -7
  731. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/ui-ace/worker-javascript.js +0 -12651
  732. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.eot +0 -0
  733. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.svg +0 -1108
  734. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.ttf +0 -0
  735. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial-regular-webfont.woff +0 -0
  736. package/aqtion/docker/config/keycloak/themes/cerema/common/resources/lib/zocial/zocial.css +0 -1215
  737. package/aqtion/docker/config/keycloak/themes/cerema/email/html/email-verification.ftl +0 -4
  738. package/aqtion/docker/config/keycloak/themes/cerema/email/html/template.ftl +0 -7
  739. package/aqtion/docker/config/keycloak/themes/cerema/email/messages/messages_en.properties +0 -9
  740. package/aqtion/docker/config/keycloak/themes/cerema/email/messages/messages_fr.properties +0 -9
  741. package/aqtion/docker/config/keycloak/themes/cerema/email/theme.properties +0 -1
  742. package/aqtion/docker/config/keycloak/themes/cerema/login/login-oauth-grant.ftl +0 -57
  743. package/aqtion/docker/config/keycloak/themes/cerema/login/login-reset-password.ftl +0 -32
  744. package/aqtion/docker/config/keycloak/themes/cerema/login/login.ftl +0 -87
  745. package/aqtion/docker/config/keycloak/themes/cerema/login/messages/messages_fr.properties +0 -29
  746. package/aqtion/docker/config/keycloak/themes/cerema/login/register.ftl +0 -169
  747. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/css/bamboo.css +0 -238
  748. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/css/main.css +0 -1029
  749. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/css/util.css +0 -9826
  750. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.eot +0 -0
  751. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.svg +0 -541
  752. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.ttf +0 -0
  753. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.woff +0 -0
  754. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/WebFont/Linearicons-Free.woff2 +0 -0
  755. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Linearicons-Free-v1.0.0/icon-font.min.css +0 -7
  756. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/OFL.txt +0 -95
  757. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Black.ttf +0 -0
  758. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-BlackItalic.ttf +0 -0
  759. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Bold.ttf +0 -0
  760. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-BoldItalic.ttf +0 -0
  761. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraBold.ttf +0 -0
  762. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraBoldItalic.ttf +0 -0
  763. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraLight.ttf +0 -0
  764. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ExtraLightItalic.ttf +0 -0
  765. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Italic.ttf +0 -0
  766. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Light.ttf +0 -0
  767. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-LightItalic.ttf +0 -0
  768. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Medium.ttf +0 -0
  769. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-MediumItalic.ttf +0 -0
  770. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Regular.ttf +0 -0
  771. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-SemiBold.ttf +0 -0
  772. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-SemiBoldItalic.ttf +0 -0
  773. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-Thin.ttf +0 -0
  774. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Raleway/Raleway-ThinItalic.ttf +0 -0
  775. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/SIL Open Font License.txt +0 -155
  776. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Black.otf +0 -0
  777. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Bold.otf +0 -0
  778. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-BoldItalic.otf +0 -0
  779. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-BoldUpright.otf +0 -0
  780. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Light.otf +0 -0
  781. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-LightItalic.otf +0 -0
  782. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-LightUpright.otf +0 -0
  783. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Regular.otf +0 -0
  784. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-RegularItalic.otf +0 -0
  785. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-RegularUpright.otf +0 -0
  786. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Semibold.otf +0 -0
  787. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-SemiboldItalic.otf +0 -0
  788. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-SemiboldUpright.otf +0 -0
  789. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-Thin.otf +0 -0
  790. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-ThinItalic.otf +0 -0
  791. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/Titillium/Titillium-ThinUpright.otf +0 -0
  792. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/HELP-US-OUT.txt +0 -7
  793. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/css/font-awesome.css +0 -3049
  794. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/css/font-awesome.min.css +0 -4
  795. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/FontAwesome.otf +0 -0
  796. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.eot +0 -0
  797. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.svg +0 -2672
  798. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.ttf +0 -0
  799. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff +0 -0
  800. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/fonts/fontawesome-webfont.woff2 +0 -0
  801. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/animated.less +0 -34
  802. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/bordered-pulled.less +0 -45
  803. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/core.less +0 -12
  804. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/fixed-width.less +0 -6
  805. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/font-awesome.less +0 -18
  806. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/icons.less +0 -2813
  807. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/larger.less +0 -25
  808. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/list.less +0 -24
  809. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/mixins.less +0 -60
  810. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/path.less +0 -15
  811. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/rotated-flipped.less +0 -33
  812. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/screen-reader.less +0 -10
  813. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/stacked.less +0 -30
  814. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/less/variables.less +0 -800
  815. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_animated.scss +0 -34
  816. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_bordered-pulled.scss +0 -45
  817. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_core.scss +0 -12
  818. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_fixed-width.scss +0 -6
  819. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_icons.scss +0 -2813
  820. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_larger.scss +0 -25
  821. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_list.scss +0 -24
  822. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_mixins.scss +0 -60
  823. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_path.scss +0 -15
  824. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_rotated-flipped.scss +0 -33
  825. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_screen-reader.scss +0 -10
  826. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_stacked.scss +0 -30
  827. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/_variables.scss +0 -800
  828. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/font-awesome-4.7.0/scss/font-awesome.scss +0 -18
  829. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Black.ttf +0 -0
  830. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-BlackItalic.ttf +0 -0
  831. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Bold.ttf +0 -0
  832. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-BoldItalic.ttf +0 -0
  833. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraBold.ttf +0 -0
  834. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraBoldItalic.ttf +0 -0
  835. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraLight.ttf +0 -0
  836. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ExtraLightItalic.ttf +0 -0
  837. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Italic.ttf +0 -0
  838. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Light.ttf +0 -0
  839. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-LightItalic.ttf +0 -0
  840. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Medium.ttf +0 -0
  841. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-MediumItalic.ttf +0 -0
  842. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Regular.ttf +0 -0
  843. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-SemiBold.ttf +0 -0
  844. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-SemiBoldItalic.ttf +0 -0
  845. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-Thin.ttf +0 -0
  846. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/Montserrat-ThinItalic.ttf +0 -0
  847. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/montserrat/OFL.txt +0 -93
  848. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Black.ttf +0 -0
  849. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-BlackItalic.ttf +0 -0
  850. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Bold.ttf +0 -0
  851. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-BoldItalic.ttf +0 -0
  852. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraBold.ttf +0 -0
  853. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraBoldItalic.ttf +0 -0
  854. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraLight.ttf +0 -0
  855. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ExtraLightItalic.ttf +0 -0
  856. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Italic.ttf +0 -0
  857. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Light.ttf +0 -0
  858. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-LightItalic.ttf +0 -0
  859. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Medium.ttf +0 -0
  860. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-MediumItalic.ttf +0 -0
  861. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Regular.ttf +0 -0
  862. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-SemiBold.ttf +0 -0
  863. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-SemiBoldItalic.ttf +0 -0
  864. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-Thin.ttf +0 -0
  865. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/fonts/poppins/Poppins-ThinItalic.ttf +0 -0
  866. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/agentconnect-btn-principal-hover.svg +0 -39
  867. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/agentconnect-btn-principal.svg +0 -39
  868. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/bg-01.jpg +0 -0
  869. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/bg-02.jpg +0 -0
  870. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/franceconnect-btn-hover.svg +0 -13
  871. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/franceconnect-btn.svg +0 -13
  872. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/icons/favicon.ico +0 -0
  873. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/logo.png +0 -0
  874. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/images/white_logo.png +0 -0
  875. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/js/bamboo.js +0 -950
  876. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/js/main.js +0 -73
  877. package/aqtion/docker/config/keycloak/themes/cerema/login/resources/vendor/jquery/jquery-3.2.1.min.js +0 -4
  878. package/aqtion/docker/config/keycloak/themes/cerema/login/template.ftl +0 -119
  879. package/aqtion/docker/config/keycloak/themes/cerema/login/theme.properties +0 -94
  880. package/aqtion/docker/config/keycloak/themes/cerema/welcome/index.ftl +0 -141
  881. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/admin-console.png +0 -0
  882. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/alert.png +0 -0
  883. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/bg.png +0 -0
  884. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/bug.png +0 -0
  885. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/css/welcome.css +0 -165
  886. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/favicon.ico +0 -0
  887. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/jboss_community.png +0 -0
  888. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/keycloak-project.png +0 -0
  889. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/keycloak_logo.png +0 -0
  890. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/logo.png +0 -0
  891. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/mail.png +0 -0
  892. package/aqtion/docker/config/keycloak/themes/cerema/welcome/resources/user.png +0 -0
  893. package/aqtion/docker/config/keycloak/themes/cerema/welcome/theme.properties +0 -4
  894. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/css/account.css +0 -277
  895. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/img/icon-sidebar-active.png +0 -0
  896. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/img/keycloak-logo.png +0 -0
  897. package/aqtion/docker/config/keycloak/themes/keycloak/account/resources/img/logo.png +0 -0
  898. package/aqtion/docker/config/keycloak/themes/keycloak/account/theme.properties +0 -14
  899. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/css/styles.css +0 -505
  900. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/img/keyclok-logo.png +0 -0
  901. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/img/keyclok-logo.svg +0 -194
  902. package/aqtion/docker/config/keycloak/themes/keycloak/admin/resources/img/select-arrow.png +0 -0
  903. package/aqtion/docker/config/keycloak/themes/keycloak/admin/theme.properties +0 -5
  904. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/img/favicon.ico +0 -0
  905. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/errors.json +0 -1
  906. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/LICENSE +0 -20
  907. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/angular.treeview.js +0 -95
  908. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/angular.treeview.min.js +0 -9
  909. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/css/angular.treeview.css +0 -99
  910. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/img/file.png +0 -0
  911. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/img/folder-closed.png +0 -0
  912. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/treeview/img/folder.png +0 -0
  913. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/ui-bootstrap-tpls-0.11.0.js +0 -4116
  914. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/angular/version.json +0 -1
  915. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/filesaver/FileSaver.js +0 -188
  916. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/FileAPI.min.js +0 -72
  917. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-html5-shim.js +0 -25
  918. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-html5-shim.min.js +0 -2
  919. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-shim.js +0 -215
  920. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload-shim.min.js +0 -2
  921. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload.js +0 -156
  922. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/fileupload/angular-file-upload.min.js +0 -2
  923. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/pficon/pficon.css +0 -21
  924. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/pficon/pficon.woff +0 -0
  925. package/aqtion/docker/config/keycloak/themes/keycloak/common/resources/lib/pficon/pficon.woff2 +0 -0
  926. package/aqtion/docker/config/keycloak/themes/keycloak/email/theme.properties +0 -1
  927. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/css/login.css +0 -596
  928. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-error-arrow-down.png +0 -0
  929. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-error-sign.png +0 -0
  930. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-success-arrow-down.png +0 -0
  931. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-success-sign.png +0 -0
  932. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-warning-arrow-down.png +0 -0
  933. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/feedback-warning-sign.png +0 -0
  934. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/keycloak-bg.png +0 -0
  935. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/keycloak-logo-text.png +0 -0
  936. package/aqtion/docker/config/keycloak/themes/keycloak/login/resources/img/keycloak-logo.png +0 -0
  937. package/aqtion/docker/config/keycloak/themes/keycloak/login/theme.properties +0 -161
  938. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/index.ftl +0 -132
  939. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/admin-console.png +0 -0
  940. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/alert.png +0 -0
  941. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/bg.png +0 -0
  942. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/bug.png +0 -0
  943. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/css/welcome.css +0 -140
  944. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/keycloak-project.png +0 -0
  945. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/keycloak_logo.png +0 -0
  946. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/logo.png +0 -0
  947. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/mail.png +0 -0
  948. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/resources/user.png +0 -0
  949. package/aqtion/docker/config/keycloak/themes/keycloak/welcome/theme.properties +0 -7
  950. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/index.ftl +0 -295
  951. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_ca.properties +0 -1
  952. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_cs.properties +0 -1
  953. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_da.properties +0 -1
  954. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_de.properties +0 -129
  955. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_en.properties +0 -167
  956. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_es.properties +0 -1
  957. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_fr.properties +0 -44
  958. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_hu.properties +0 -1
  959. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_it.properties +0 -1
  960. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_ja.properties +0 -1
  961. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_lt.properties +0 -1
  962. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_nl.properties +0 -1
  963. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_no.properties +0 -1
  964. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_pl.properties +0 -1
  965. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_pt_BR.properties +0 -121
  966. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_ru.properties +0 -1
  967. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_sk.properties +0 -1
  968. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_sv.properties +0 -1
  969. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_tr.properties +0 -1
  970. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/messages/messages_zh_CN.properties +0 -1
  971. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/App.js +0 -69
  972. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/App.js.map +0 -1
  973. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/ContentPages.js +0 -157
  974. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/ContentPages.js.map +0 -1
  975. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/Main.js +0 -97
  976. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/Main.js.map +0 -1
  977. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageHeaderTool.js +0 -29
  978. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageHeaderTool.js.map +0 -1
  979. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageNav.js +0 -51
  980. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageNav.js.map +0 -1
  981. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageToolbar.js +0 -60
  982. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/PageToolbar.js.map +0 -1
  983. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/AccountServiceContext.js +0 -3
  984. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/AccountServiceContext.js.map +0 -1
  985. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/account.service.js +0 -149
  986. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/account-service/account.service.js.map +0 -1
  987. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentAlert.js +0 -113
  988. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentAlert.js.map +0 -1
  989. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentPage.js +0 -63
  990. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/ContentPage.js.map +0 -1
  991. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/account-page/AccountPage.js +0 -302
  992. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/account-page/AccountPage.js.map +0 -1
  993. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/aia-page/AppInitiatedActionPage.js +0 -70
  994. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/aia-page/AppInitiatedActionPage.js.map +0 -1
  995. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/applications-page/ApplicationsPage.js +0 -186
  996. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/applications-page/ApplicationsPage.js.map +0 -1
  997. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/authenticator-page/AuthenticatorPage.js +0 -28
  998. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/authenticator-page/AuthenticatorPage.js.map +0 -1
  999. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/device-activity-page/DeviceActivityPage.js +0 -250
  1000. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/device-activity-page/DeviceActivityPage.js.map +0 -1
  1001. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/forbidden-page/ForbiddenPage.js +0 -36
  1002. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/forbidden-page/ForbiddenPage.js.map +0 -1
  1003. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/linked-accounts-page/LinkedAccountsPage.js +0 -310
  1004. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/linked-accounts-page/LinkedAccountsPage.js.map +0 -1
  1005. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/AbstractResourceTable.js +0 -40
  1006. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/AbstractResourceTable.js.map +0 -1
  1007. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/EditTheResource.js +0 -120
  1008. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/EditTheResource.js.map +0 -1
  1009. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/MyResourcesPage.js +0 -284
  1010. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/MyResourcesPage.js.map +0 -1
  1011. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionRequest.js +0 -151
  1012. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionRequest.js.map +0 -1
  1013. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionSelect.js +0 -103
  1014. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/PermissionSelect.js.map +0 -1
  1015. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ResourcesTable.js +0 -313
  1016. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ResourcesTable.js.map +0 -1
  1017. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ShareTheResource.js +0 -222
  1018. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/ShareTheResource.js.map +0 -1
  1019. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/SharedResourcesTable.js +0 -97
  1020. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/SharedResourcesTable.js.map +0 -1
  1021. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/resource-model.js +0 -16
  1022. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/my-resources-page/resource-model.js.map +0 -1
  1023. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/page-not-found/PageNotFound.js +0 -31
  1024. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/page-not-found/PageNotFound.js.map +0 -1
  1025. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/signingin-page/SigningInPage.js +0 -350
  1026. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content/signingin-page/SigningInPage.js.map +0 -1
  1027. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/content.json +0 -60
  1028. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_facebook_transparent.svg +0 -19
  1029. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_github_transparent.svg +0 -16
  1030. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_google_transparent.svg +0 -77
  1031. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_instagram_transparent.svg +0 -23
  1032. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_linkedin_transparent.svg +0 -23
  1033. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_microsoft_transparent.svg +0 -34
  1034. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_openshift_transparent.svg +0 -15
  1035. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_stack_transparent.svg +0 -26
  1036. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/img/socialmedia/socialmedia_icons_twitter_transparent.svg +0 -19
  1037. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/KeycloakContext.js +0 -3
  1038. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/KeycloakContext.js.map +0 -1
  1039. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/keycloak.service.js +0 -77
  1040. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/keycloak-service/keycloak.service.js.map +0 -1
  1041. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/AIACommand.js +0 -33
  1042. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/AIACommand.js.map +0 -1
  1043. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/ParseLink.js +0 -19
  1044. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/ParseLink.js.map +0 -1
  1045. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/RedirectUri.js +0 -39
  1046. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/RedirectUri.js.map +0 -1
  1047. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/TimeUtil.js +0 -50
  1048. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/util/TimeUtil.js.map +0 -1
  1049. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/welcome-page-scripts.js +0 -89
  1050. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ContinueCancelModal.js +0 -103
  1051. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ContinueCancelModal.js.map +0 -1
  1052. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/EmptyMessageState.js +0 -38
  1053. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/EmptyMessageState.js.map +0 -1
  1054. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/LocaleSelectors.js +0 -41
  1055. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/LocaleSelectors.js.map +0 -1
  1056. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Logout.js +0 -46
  1057. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Logout.js.map +0 -1
  1058. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Msg.js +0 -69
  1059. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/Msg.js.map +0 -1
  1060. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerDropdownItem.js +0 -38
  1061. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerDropdownItem.js.map +0 -1
  1062. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerLink.js +0 -46
  1063. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/ReferrerLink.js.map +0 -1
  1064. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/features.js +0 -2
  1065. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/resources/widgets/features.js.map +0 -1
  1066. package/aqtion/docker/config/keycloak/themes/keycloak.v2/account/theme.properties +0 -18
  1067. package/aqtion/docker/config/servers.json +0 -14
  1068. package/aqtion/docker/setup/docker-compose.yml +0 -67
  1069. package/aqtion/frontend/app/components/.gitkeep +0 -0
  1070. package/aqtion/frontend/app/interfaces/.gitkeep +0 -0
  1071. package/aqtion/frontend/app/menu.json +0 -41
  1072. package/aqtion/frontend/app/pages/pages-routing.module.ts +0 -19
  1073. package/aqtion/frontend/app/pages/profil/profil.component.html +0 -3
  1074. package/aqtion/frontend/app/pages/profil/profil.component.scss +0 -0
  1075. package/aqtion/frontend/app/pages/profil/profil.component.ts +0 -27
  1076. package/aqtion/frontend/app/pages/root/root.component.html +0 -3
  1077. package/aqtion/frontend/app/pages/root/root.component.scss +0 -22
  1078. package/aqtion/frontend/app/pages/root/root.component.ts +0 -16
  1079. package/aqtion/frontend/app/services/profils.service.ts +0 -25
  1080. package/aqtion/frontend/app-routing.module.ts +0 -61
  1081. package/aqtion/frontend/app.component.css +0 -46
  1082. package/aqtion/frontend/app.component.html +0 -1
  1083. package/aqtion/frontend/app.component.ts +0 -60
  1084. package/aqtion/frontend/app.module.ts +0 -103
  1085. package/aqtion/frontend/assets/favicon.ico +0 -0
  1086. package/aqtion/frontend/assets/i18n/fr.json +0 -33
  1087. package/aqtion/frontend/assets/images/599x157.png +0 -0
  1088. package/aqtion/frontend/assets/images/cerema.png +0 -0
  1089. package/aqtion/frontend/assets/images/dollar.svg +0 -1
  1090. package/aqtion/frontend/assets/images/logo.png +0 -0
  1091. package/aqtion/frontend/assets/images/logo_title.png +0 -0
  1092. package/aqtion/frontend/assets/images/logorobot.png +0 -0
  1093. package/aqtion/frontend/assets/images/work-in-progress.svg +0 -64
  1094. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-300.woff +0 -0
  1095. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-300.woff2 +0 -0
  1096. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-700.woff +0 -0
  1097. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-700.woff2 +0 -0
  1098. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-regular.woff +0 -0
  1099. package/aqtion/frontend/assets/layout/fonts/lato-v17-latin-ext_latin-regular.woff2 +0 -0
  1100. package/aqtion/frontend/assets/layout/images/LogoCerema.svg +0 -226
  1101. package/aqtion/frontend/assets/layout/images/LogoCerema_horizontal.svg +0 -167
  1102. package/aqtion/frontend/assets/layout/images/SpinnerCerema.svg +0 -6
  1103. package/aqtion/frontend/assets/layout/images/Swagger-logo.png +0 -0
  1104. package/aqtion/frontend/assets/layout/images/authentication.svg +0 -1
  1105. package/aqtion/frontend/assets/layout/images/mail.svg +0 -1
  1106. package/aqtion/frontend/assets/layout/images/postgresql.svg +0 -1
  1107. package/aqtion/frontend/assets/layout/images/user.png +0 -0
  1108. package/aqtion/frontend/assets/layout/styles/layout/_breadcrumb.scss +0 -18
  1109. package/aqtion/frontend/assets/layout/styles/layout/_config.scss +0 -33
  1110. package/aqtion/frontend/assets/layout/styles/layout/_content.scss +0 -20
  1111. package/aqtion/frontend/assets/layout/styles/layout/_fonts.scss +0 -29
  1112. package/aqtion/frontend/assets/layout/styles/layout/_footer.scss +0 -25
  1113. package/aqtion/frontend/assets/layout/styles/layout/_main.scss +0 -29
  1114. package/aqtion/frontend/assets/layout/styles/layout/_responsive.scss +0 -160
  1115. package/aqtion/frontend/assets/layout/styles/layout/_sidebar.scss +0 -2
  1116. package/aqtion/frontend/assets/layout/styles/layout/_topbar.scss +0 -250
  1117. package/aqtion/frontend/assets/layout/styles/layout/_typography.scss +0 -63
  1118. package/aqtion/frontend/assets/layout/styles/layout/_utils.scss +0 -19
  1119. package/aqtion/frontend/assets/layout/styles/layout/layout.scss +0 -15
  1120. package/aqtion/frontend/assets/layout/styles/layout/preloading.css +0 -73
  1121. package/aqtion/frontend/assets/layout/styles/layout/preloading.scss +0 -79
  1122. package/aqtion/frontend/assets/layout/styles/layout/sidebar/_sidebar_slim.scss +0 -132
  1123. package/aqtion/frontend/assets/layout/styles/layout/sidebar/_sidebar_vertical.scss +0 -132
  1124. package/aqtion/frontend/assets/layout/styles/layout/theme/_dark.scss +0 -10
  1125. package/aqtion/frontend/assets/layout/styles/layout/theme/_light.scss +0 -10
  1126. package/aqtion/frontend/assets/layout/styles/layout/theme/_primary.scss +0 -10
  1127. package/aqtion/frontend/assets/layout/styles/layout/theme/_themes.scss +0 -3
  1128. package/aqtion/frontend/assets/layout/styles/theme/designer/_colors.scss +0 -17
  1129. package/aqtion/frontend/assets/layout/styles/theme/designer/_common.scss +0 -68
  1130. package/aqtion/frontend/assets/layout/styles/theme/designer/_components.scss +0 -102
  1131. package/aqtion/frontend/assets/layout/styles/theme/designer/_mixins.scss +0 -203
  1132. package/aqtion/frontend/assets/layout/styles/theme/designer/components/button/_button.scss +0 -560
  1133. package/aqtion/frontend/assets/layout/styles/theme/designer/components/button/_speeddial.scss +0 -81
  1134. package/aqtion/frontend/assets/layout/styles/theme/designer/components/button/_splitbutton.scss +0 -381
  1135. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_carousel.scss +0 -37
  1136. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_datatable.scss +0 -278
  1137. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_dataview.scss +0 -55
  1138. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_filter.scss +0 -138
  1139. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_fullcalendar.scss +0 -329
  1140. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_orderlist.scss +0 -103
  1141. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_organizationchart.scss +0 -50
  1142. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_paginator.scss +0 -92
  1143. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_picklist.scss +0 -103
  1144. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_timeline.scss +0 -38
  1145. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_tree.scss +0 -144
  1146. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_treetable.scss +0 -246
  1147. package/aqtion/frontend/assets/layout/styles/theme/designer/components/data/_virtualscroller.scss +0 -28
  1148. package/aqtion/frontend/assets/layout/styles/theme/designer/components/file/_fileupload.scss +0 -58
  1149. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_breadcrumb.scss +0 -42
  1150. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_contextmenu.scss +0 -56
  1151. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_dock.scss +0 -86
  1152. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_megamenu.scss +0 -106
  1153. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_menu.scss +0 -45
  1154. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_menubar.scss +0 -183
  1155. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_panelmenu.scss +0 -140
  1156. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_slidemenu.scss +0 -59
  1157. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_steps.scss +0 -56
  1158. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_tabmenu.scss +0 -69
  1159. package/aqtion/frontend/assets/layout/styles/theme/designer/components/menu/_tieredmenu.scss +0 -60
  1160. package/aqtion/frontend/assets/layout/styles/theme/designer/components/messages/_inlinemessage.scss +0 -64
  1161. package/aqtion/frontend/assets/layout/styles/theme/designer/components/messages/_message.scss +0 -102
  1162. package/aqtion/frontend/assets/layout/styles/theme/designer/components/messages/_toast.scss +0 -95
  1163. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_avatar.scss +0 -30
  1164. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_badge.scss +0 -48
  1165. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_blockui.scss +0 -0
  1166. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_chip.scss +0 -38
  1167. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_inplace.scss +0 -17
  1168. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_progressbar.scss +0 -17
  1169. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_scrolltop.scss +0 -20
  1170. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_skeleton.scss +0 -8
  1171. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_tag.scss +0 -35
  1172. package/aqtion/frontend/assets/layout/styles/theme/designer/components/misc/_terminal.scss +0 -11
  1173. package/aqtion/frontend/assets/layout/styles/theme/designer/components/multimedia/_galleria.scss +0 -139
  1174. package/aqtion/frontend/assets/layout/styles/theme/designer/components/multimedia/_image.scss +0 -44
  1175. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_confirmpopup.scss +0 -65
  1176. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_dialog.scss +0 -64
  1177. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_overlaypanel.scss +0 -62
  1178. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_sidebar.scss +0 -23
  1179. package/aqtion/frontend/assets/layout/styles/theme/designer/components/overlay/_tooltip.scss +0 -33
  1180. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_accordion.scss +0 -119
  1181. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_card.scss +0 -30
  1182. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_divider.scss +0 -31
  1183. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_fieldset.scss +0 -47
  1184. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_panel.scss +0 -58
  1185. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_scrollpanel.scss +0 -6
  1186. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_splitter.scss +0 -19
  1187. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_tabview.scss +0 -78
  1188. package/aqtion/frontend/assets/layout/styles/theme/designer/components/panel/_toolbar.scss +0 -10
  1189. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/_extensions.scss +0 -90
  1190. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/_variables.scss +0 -867
  1191. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/blue/theme.css +0 -7341
  1192. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/blue/theme.scss +0 -12
  1193. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/cyan/theme.css +0 -7341
  1194. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/cyan/theme.scss +0 -12
  1195. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/deeppurple/theme.css +0 -7341
  1196. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/deeppurple/theme.scss +0 -12
  1197. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/green/theme.css +0 -7341
  1198. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/green/theme.scss +0 -12
  1199. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/indigo/theme.css +0 -7341
  1200. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/indigo/theme.scss +0 -12
  1201. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/lime/theme.css +0 -7341
  1202. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/lime/theme.scss +0 -12
  1203. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/orange/theme.css +0 -7341
  1204. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/orange/theme.scss +0 -12
  1205. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/pink/theme.css +0 -7341
  1206. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/pink/theme.scss +0 -12
  1207. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/purple/theme.css +0 -7341
  1208. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/purple/theme.scss +0 -12
  1209. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/yellow/theme.css +0 -7341
  1210. package/aqtion/frontend/assets/layout/styles/theme/theme-dark/yellow/theme.scss +0 -12
  1211. package/aqtion/frontend/assets/layout/styles/theme/theme-light/_extensions.scss +0 -90
  1212. package/aqtion/frontend/assets/layout/styles/theme/theme-light/_variables.scss +0 -870
  1213. package/aqtion/frontend/assets/layout/styles/theme/theme-light/blue/theme.css +0 -7540
  1214. package/aqtion/frontend/assets/layout/styles/theme/theme-light/blue/theme.scss +0 -12
  1215. package/aqtion/frontend/assets/layout/styles/theme/theme-light/cyan/theme.css +0 -7341
  1216. package/aqtion/frontend/assets/layout/styles/theme/theme-light/cyan/theme.scss +0 -12
  1217. package/aqtion/frontend/assets/layout/styles/theme/theme-light/deeppurple/theme.css +0 -7341
  1218. package/aqtion/frontend/assets/layout/styles/theme/theme-light/deeppurple/theme.scss +0 -12
  1219. package/aqtion/frontend/assets/layout/styles/theme/theme-light/green/theme.css +0 -7341
  1220. package/aqtion/frontend/assets/layout/styles/theme/theme-light/green/theme.scss +0 -12
  1221. package/aqtion/frontend/assets/layout/styles/theme/theme-light/indigo/theme.css +0 -7341
  1222. package/aqtion/frontend/assets/layout/styles/theme/theme-light/indigo/theme.scss +0 -12
  1223. package/aqtion/frontend/assets/layout/styles/theme/theme-light/lime/theme.css +0 -7341
  1224. package/aqtion/frontend/assets/layout/styles/theme/theme-light/lime/theme.scss +0 -12
  1225. package/aqtion/frontend/assets/layout/styles/theme/theme-light/orange/theme.css +0 -7341
  1226. package/aqtion/frontend/assets/layout/styles/theme/theme-light/orange/theme.scss +0 -12
  1227. package/aqtion/frontend/assets/layout/styles/theme/theme-light/pink/theme.css +0 -7341
  1228. package/aqtion/frontend/assets/layout/styles/theme/theme-light/pink/theme.scss +0 -12
  1229. package/aqtion/frontend/assets/layout/styles/theme/theme-light/purple/theme.css +0 -7341
  1230. package/aqtion/frontend/assets/layout/styles/theme/theme-light/purple/theme.scss +0 -12
  1231. package/aqtion/frontend/assets/layout/styles/theme/theme-light/yellow/theme.css +0 -7341
  1232. package/aqtion/frontend/assets/layout/styles/theme/theme-light/yellow/theme.scss +0 -12
  1233. package/aqtion/frontend/environments/environment.ci.ts +0 -13
  1234. package/aqtion/frontend/environments/environment.dev.ts +0 -12
  1235. package/aqtion/frontend/environments/environment.prod.ts +0 -13
  1236. package/aqtion/frontend/environments/environment.ts +0 -3
  1237. package/aqtion/frontend/index.dev.html +0 -33
  1238. package/aqtion/frontend/index.prod.html +0 -32
  1239. package/aqtion/frontend/layout/api/menuchangeevent.ts +0 -4
  1240. package/aqtion/frontend/layout/api/tabcloseevent.ts +0 -6
  1241. package/aqtion/frontend/layout/app.breadcrumb.component.html +0 -14
  1242. package/aqtion/frontend/layout/app.breadcrumb.component.ts +0 -48
  1243. package/aqtion/frontend/layout/app.footer.component.html +0 -20
  1244. package/aqtion/frontend/layout/app.footer.component.ts +0 -23
  1245. package/aqtion/frontend/layout/app.menu.component.html +0 -3
  1246. package/aqtion/frontend/layout/app.menu.service.ts +0 -23
  1247. package/aqtion/frontend/layout/app.menuitem.component.ts +0 -310
  1248. package/aqtion/frontend/layout/app.sidebar.component.html +0 -5
  1249. package/aqtion/frontend/layout/app.sidebar.component.ts +0 -13
  1250. package/aqtion/frontend/layout/app.topbar.component.html +0 -72
  1251. package/aqtion/frontend/layout/app.topbar.component.ts +0 -73
  1252. package/aqtion/frontend/layout/auto-unsubscribe.decorator.ts +0 -21
  1253. package/aqtion/frontend/layout/common/err-403/err-403.component.html +0 -24
  1254. package/aqtion/frontend/layout/common/err-403/err-403.component.scss +0 -340
  1255. package/aqtion/frontend/layout/common/err-403/err-403.ts +0 -19
  1256. package/aqtion/frontend/layout/common/err-404/err-404.component.html +0 -27
  1257. package/aqtion/frontend/layout/common/err-404/err-404.component.scss +0 -38
  1258. package/aqtion/frontend/layout/common/err-404/err-404.ts +0 -19
  1259. package/aqtion/frontend/layout/common/err-500/err-500.component.html +0 -10
  1260. package/aqtion/frontend/layout/common/err-500/err-500.component.scss +0 -44
  1261. package/aqtion/frontend/layout/common/err-500/err-500.ts +0 -37
  1262. package/aqtion/frontend/layout/common/work-in-progress/work-in-progress.component.html +0 -1
  1263. package/aqtion/frontend/layout/common/work-in-progress/work-in-progress.component.scss +0 -8
  1264. package/aqtion/frontend/layout/common/work-in-progress/work-in-progress.component.ts +0 -14
  1265. package/aqtion/frontend/layout/config/app.config.component.html +0 -86
  1266. package/aqtion/frontend/layout/config/app.config.component.scss +0 -0
  1267. package/aqtion/frontend/layout/config/app.config.component.ts +0 -241
  1268. package/aqtion/frontend/layout/config/config.module.ts +0 -27
  1269. package/aqtion/frontend/layout/error.handler.ts +0 -16
  1270. package/aqtion/frontend/layout/main/main.component.html +0 -15
  1271. package/aqtion/frontend/layout/main/main.component.ts +0 -186
  1272. package/aqtion/frontend/layout/main.module.ts +0 -45
  1273. package/aqtion/frontend/layout/service/app.layout.service.ts +0 -123
  1274. package/aqtion/frontend/layout/service/healthCheck.service.ts +0 -35
  1275. package/aqtion/frontend/layout/shared/components/app.menu.component.ts +0 -69
  1276. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied-routing.module.ts +0 -12
  1277. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied.component.html +0 -10
  1278. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied.component.ts +0 -7
  1279. package/aqtion/frontend/layout/shared/components/auth/accessdenied/accessdenied.module.ts +0 -17
  1280. package/aqtion/frontend/layout/shared/components/auth/auth-routing.module.ts +0 -14
  1281. package/aqtion/frontend/layout/shared/components/auth/auth.module.ts +0 -13
  1282. package/aqtion/frontend/layout/shared/components/auth/error/error-routing.module.ts +0 -12
  1283. package/aqtion/frontend/layout/shared/components/auth/error/error.component.html +0 -10
  1284. package/aqtion/frontend/layout/shared/components/auth/error/error.component.ts +0 -7
  1285. package/aqtion/frontend/layout/shared/components/auth/error/error.module.ts +0 -12
  1286. package/aqtion/frontend/layout/shared/components/auth/login/login-routing.module.ts +0 -12
  1287. package/aqtion/frontend/layout/shared/components/auth/login/login.component.html +0 -15
  1288. package/aqtion/frontend/layout/shared/components/auth/login/login.component.ts +0 -47
  1289. package/aqtion/frontend/layout/shared/components/auth/login/login.module.ts +0 -21
  1290. package/aqtion/frontend/layout/shared/components/auth/logout/logout/logout.component.html +0 -8
  1291. package/aqtion/frontend/layout/shared/components/auth/logout/logout/logout.component.scss +0 -21
  1292. package/aqtion/frontend/layout/shared/components/auth/logout/logout/logout.component.ts +0 -15
  1293. package/aqtion/frontend/layout/shared/components/auth/logout/logout.module.ts +0 -26
  1294. package/aqtion/frontend/layout/shared/components/code/code.component.ts +0 -17
  1295. package/aqtion/frontend/layout/shared/components/indic/indic.component.html +0 -8
  1296. package/aqtion/frontend/layout/shared/components/indic/indic.component.scss +0 -0
  1297. package/aqtion/frontend/layout/shared/components/indic/indic.component.ts +0 -60
  1298. package/aqtion/frontend/layout/shared/components/lookup-input/lookup-input.component.html +0 -70
  1299. package/aqtion/frontend/layout/shared/components/lookup-input/lookup-input.component.scss +0 -0
  1300. package/aqtion/frontend/layout/shared/components/lookup-input/lookup-input.component.ts +0 -121
  1301. package/aqtion/frontend/layout/shared/components/notfound/notfound-routing.module.ts +0 -12
  1302. package/aqtion/frontend/layout/shared/components/notfound/notfound.component.html +0 -42
  1303. package/aqtion/frontend/layout/shared/components/notfound/notfound.component.ts +0 -7
  1304. package/aqtion/frontend/layout/shared/components/notfound/notfound.module.ts +0 -12
  1305. package/aqtion/frontend/layout/shared/constants/dateFormat.constants.ts +0 -1
  1306. package/aqtion/frontend/layout/shared/constants/pagination.constants.ts +0 -1
  1307. package/aqtion/frontend/layout/shared/core/config/application-config.service.ts +0 -34
  1308. package/aqtion/frontend/layout/shared/core/config/db-config.service.ts +0 -20
  1309. package/aqtion/frontend/layout/shared/core/guard/can-modify.guard.ts +0 -51
  1310. package/aqtion/frontend/layout/shared/core/guard/login.guard.ts +0 -24
  1311. package/aqtion/frontend/layout/shared/core/guard/ui.guard.ts +0 -94
  1312. package/aqtion/frontend/layout/shared/core/interceptor/handle-req.interceptor.ts +0 -31
  1313. package/aqtion/frontend/layout/shared/core/interceptor/index.ts +0 -10
  1314. package/aqtion/frontend/layout/shared/core/request/pageable.model.ts +0 -5
  1315. package/aqtion/frontend/layout/shared/core/request/request-util.ts +0 -21
  1316. package/aqtion/frontend/layout/shared/core/resolver/accueil.resolver.ts +0 -19
  1317. package/aqtion/frontend/layout/shared/core/storage/MyLocalStorageService.ts +0 -22
  1318. package/aqtion/frontend/layout/shared/core/storage/MyStorageService.ts +0 -17
  1319. package/aqtion/frontend/layout/shared/dev/dev-dashboard/dev-dashboard.component.html +0 -30
  1320. package/aqtion/frontend/layout/shared/dev/dev-dashboard/dev-dashboard.component.scss +0 -82
  1321. package/aqtion/frontend/layout/shared/dev/dev-dashboard/dev-dashboard.component.ts +0 -29
  1322. package/aqtion/frontend/layout/shared/dev/dev-routing.module.ts +0 -19
  1323. package/aqtion/frontend/layout/shared/dev/dev.module.ts +0 -76
  1324. package/aqtion/frontend/layout/shared/entities/claims.model.ts +0 -9
  1325. package/aqtion/frontend/layout/shared/entities/user.model.ts +0 -9
  1326. package/aqtion/frontend/layout/shared/i18n/fr.json +0 -74
  1327. package/aqtion/frontend/layout/shared/service/dev.service.ts +0 -16
  1328. package/aqtion/frontend/layout/shared/service/policy.service.ts +0 -22
  1329. package/aqtion/frontend/layout/shared/service/user.service.ts +0 -71
  1330. package/aqtion/frontend/layout/shared/shared.module.ts +0 -11
  1331. package/aqtion/frontend/layout/shared/utils/globals.ts +0 -85
  1332. package/aqtion/frontend/layout/shared/utils/misc.ts +0 -31
  1333. package/aqtion/frontend/main-routing.module.ts +0 -47
  1334. package/aqtion/frontend/main.ts +0 -13
  1335. package/aqtion/frontend/pages.module.ts +0 -76
  1336. package/aqtion/frontend/polyfills.ts +0 -64
  1337. package/aqtion/frontend/styles.scss +0 -43
  1338. package/aqtion/frontend/themes.scss +0 -84
  1339. package/aqtion/kubernetes/Chart.yaml +0 -4
  1340. package/aqtion/kubernetes/config/values.yaml +0 -22
  1341. package/aqtion/kubernetes/templates/api.yaml +0 -74
  1342. package/aqtion/kubernetes/templates/app.yaml +0 -58
  1343. package/aqtion/kubernetes/templates/pgadmin.yaml +0 -115
  1344. package/aqtion/kubernetes/templates/postgres.yaml +0 -67
  1345. package/aqtion/launch.json +0 -21
  1346. package/aqtion/logo.png +0 -0
  1347. package/aqtion/nginx.conf +0 -20
  1348. package/aqtion/package-lock.json +0 -14134
  1349. package/aqtion/package.json +0 -84
  1350. package/aqtion/playwright.config.ts +0 -77
  1351. package/aqtion/pnpm-lock.yaml +0 -9539
  1352. package/aqtion/policies/roles.json +0 -4
  1353. package/aqtion/policies/ui.policy.json +0 -4
  1354. package/aqtion/pom.xml +0 -144
  1355. package/aqtion/run.sh +0 -5
  1356. package/aqtion/tests/example.spec.ts +0 -18
  1357. package/aqtion/tests-examples/demo-todo-app.spec.ts +0 -437
  1358. package/aqtion/tsconfig.app.json +0 -9
  1359. package/aqtion/tsconfig.json +0 -39
  1360. package/aqtion/tsconfig.spec.json +0 -9
@@ -1,4054 +0,0 @@
1
- Array.prototype.remove = function(from, to) {
2
- var rest = this.slice((to || from) + 1 || this.length);
3
- this.length = from < 0 ? this.length + from : from;
4
- return this.push.apply(this, rest);
5
- };
6
-
7
- module.controller('ClientTabCtrl', function(Dialog, $scope, Current, Notifications, $location) {
8
- $scope.removeClient = function() {
9
- Dialog.confirmDelete($scope.client.clientId, 'client', function() {
10
- $scope.client.$remove({
11
- realm : Current.realm.realm,
12
- client : $scope.client.id
13
- }, function() {
14
- $location.url("/realms/" + Current.realm.realm + "/clients");
15
- Notifications.success("The client has been deleted.");
16
- });
17
- });
18
- };
19
- });
20
-
21
- module.controller('ClientRoleListCtrl', function($scope, $route, realm, client, ClientRoleList, RoleById, Notifications, Dialog) {
22
- $scope.realm = realm;
23
- $scope.roles = [];
24
- $scope.client = client;
25
-
26
- $scope.query = {
27
- realm: realm.realm,
28
- client: $scope.client.id,
29
- search : null,
30
- max : 20,
31
- first : 0
32
- }
33
-
34
- $scope.$watch('query.search', function (newVal, oldVal) {
35
- if($scope.query.search && $scope.query.search.length >= 3) {
36
- $scope.firstPage();
37
- }
38
- }, true);
39
-
40
- $scope.firstPage = function() {
41
- $scope.query.first = 0;
42
- $scope.searchQuery();
43
- }
44
-
45
- $scope.previousPage = function() {
46
- $scope.query.first -= parseInt($scope.query.max);
47
- if ($scope.query.first < 0) {
48
- $scope.query.first = 0;
49
- }
50
- $scope.searchQuery();
51
- }
52
-
53
- $scope.nextPage = function() {
54
- $scope.query.first += parseInt($scope.query.max);
55
- $scope.searchQuery();
56
- }
57
-
58
- $scope.searchQuery = function() {
59
- $scope.searchLoaded = false;
60
-
61
- $scope.roles = ClientRoleList.query($scope.query, function() {
62
- $scope.searchLoaded = true;
63
- $scope.lastSearch = $scope.query.search;
64
- });
65
- };
66
-
67
- $scope.searchQuery();
68
-
69
- $scope.removeRole = function(role) {
70
- Dialog.confirmDelete(role.name, 'role', function() {
71
- RoleById.remove({
72
- realm: realm.realm,
73
- role: role.id
74
- }, function () {
75
- $route.reload();
76
- Notifications.success("The role has been deleted.");
77
- });
78
- });
79
- };
80
- });
81
-
82
- module.controller('ClientCredentialsCtrl', function($scope, $location, realm, client, clientAuthenticatorProviders, clientConfigProperties, Client, ClientRegistrationAccessToken, Notifications) {
83
- $scope.realm = realm;
84
- $scope.client = angular.copy(client);
85
- $scope.clientAuthenticatorProviders = clientAuthenticatorProviders;
86
-
87
- var updateCurrentPartial = function(val) {
88
- $scope.clientAuthenticatorConfigPartial;
89
- switch(val) {
90
- case 'client-secret':
91
- $scope.clientAuthenticatorConfigPartial = 'client-credentials-secret.html';
92
- break;
93
- case 'client-jwt':
94
- $scope.clientAuthenticatorConfigPartial = 'client-credentials-jwt.html';
95
- break;
96
- case 'client-secret-jwt':
97
- $scope.clientAuthenticatorConfigPartial = 'client-credentials-secret-jwt.html';
98
- break;
99
- case 'client-x509':
100
- $scope.clientAuthenticatorConfigPartial = 'client-credentials-x509.html';
101
- break;
102
- default:
103
- $scope.currentAuthenticatorConfigProperties = clientConfigProperties[val];
104
- $scope.clientAuthenticatorConfigPartial = 'client-credentials-generic.html';
105
- break;
106
- }
107
- };
108
-
109
- updateCurrentPartial(client.clientAuthenticatorType);
110
-
111
- $scope.$watch('client.clientAuthenticatorType', function() {
112
- if (!angular.equals($scope.client.clientAuthenticatorType, client.clientAuthenticatorType)) {
113
-
114
- Client.update({
115
- realm : realm.realm,
116
- client : client.id
117
- }, $scope.client, function() {
118
- $scope.changed = false;
119
- client = angular.copy($scope.client);
120
- updateCurrentPartial(client.clientAuthenticatorType)
121
- });
122
-
123
- }
124
- }, true);
125
-
126
- $scope.regenerateRegistrationAccessToken = function() {
127
- var secret = ClientRegistrationAccessToken.update({ realm : $scope.realm.realm, client : $scope.client.id },
128
- function(data) {
129
- Notifications.success('The registration access token has been updated.');
130
- $scope.client['registrationAccessToken'] = data.registrationAccessToken;
131
- },
132
- function() {
133
- Notifications.error('Failed to update the registration access token');
134
- }
135
- );
136
- };
137
- });
138
-
139
- module.controller('ClientSecretCtrl', function($scope, $location, Client, ClientSecret, Notifications, $route) {
140
-
141
- var secret = ClientSecret.get({ realm : $scope.realm.realm, client : $scope.client.id },
142
- function() {
143
- $scope.secret = secret.value;
144
- }
145
- );
146
-
147
- $scope.changePassword = function() {
148
- var secret = ClientSecret.update({ realm : $scope.realm.realm, client : $scope.client.id },
149
- function() {
150
- $route.reload();
151
- Notifications.success('The secret has been changed.');
152
- },
153
- function() {
154
- Notifications.error("The secret was not changed due to a problem.");
155
- $scope.secret = "error";
156
- }
157
- );
158
- };
159
-
160
- $scope.removeRotatedSecret = function(){
161
- ClientSecret.invalidate({realm: $scope.realm.realm, client: $scope.client.id },
162
- function(){
163
- $route.reload();
164
- Notifications.success('The rotated secret has been invalidated.');
165
- },
166
- function(){
167
- Notifications.error("The rotated secret was not invalidated due to a problem.");
168
- }
169
- );
170
- };
171
-
172
- $scope.tokenEndpointAuthSigningAlg = $scope.client.attributes['token.endpoint.auth.signing.alg'];
173
-
174
- if ($scope.client.attributes['client.secret.expiration.time']){
175
- $scope.secret_expiration_time = $scope.client.attributes['client.secret.expiration.time'] * 1000;
176
- }
177
-
178
- if ($scope.client.attributes["client.secret.rotated"]) {
179
- $scope.secretRotated = $scope.client.attributes["client.secret.rotated"];
180
- }
181
-
182
- if ($scope.client.attributes['client.secret.rotated.expiration.time']){
183
- $scope.rotated_secret_expiration_time = $scope.client.attributes['client.secret.rotated.expiration.time'] * 1000;
184
- }
185
-
186
- $scope.switchChange = function() {
187
- $scope.changed = true;
188
- }
189
-
190
- $scope.save = function() {
191
- $scope.client.attributes['token.endpoint.auth.signing.alg'] = $scope.tokenEndpointAuthSigningAlg;
192
-
193
- Client.update({
194
- realm : $scope.realm.realm,
195
- client : $scope.client.id
196
- }, $scope.client, function() {
197
- $scope.changed = false;
198
- $scope.clientCopy = angular.copy($scope.client);
199
- Notifications.success("Client authentication configuration has been saved to the client.");
200
- });
201
- };
202
-
203
- $scope.$watch(function() {
204
- return $location.path();
205
- }, function() {
206
- $scope.path = $location.path().substring(1).split("/");
207
- });
208
-
209
- $scope.cancel = function() {
210
- $location.url("/realms/" + $scope.realm.realm + "/clients/" + $scope.client.id + "/credentials");
211
- $route.reload();
212
- };
213
-
214
- });
215
-
216
- module.controller('ClientX509Ctrl', function($scope, $location, Client, Notifications) {
217
- console.log('ClientX509Ctrl invoked');
218
-
219
- $scope.clientCopy = angular.copy($scope.client);
220
- $scope.changed = false;
221
-
222
- $scope.$watch('client', function() {
223
- if (!angular.equals($scope.client, $scope.clientCopy)) {
224
- $scope.changed = true;
225
- }
226
- }, true);
227
-
228
- function updateProperties() {
229
- if ($scope.client.attributes["x509.allow.regex.pattern.comparison"]) {
230
- if ($scope.client.attributes["x509.allow.regex.pattern.comparison"] == "true") {
231
- $scope.allowRegexPatternComparison = true;
232
- } else {
233
- $scope.allowRegexPatternComparison = false;
234
- }
235
- }
236
- }
237
-
238
- updateProperties();
239
-
240
- $scope.switchChange = function() {
241
- $scope.changed = true;
242
- }
243
-
244
- $scope.save = function() {
245
- if ($scope.allowRegexPatternComparison == true) {
246
- $scope.client.attributes["x509.allow.regex.pattern.comparison"] = "true";
247
- } else {
248
- $scope.client.attributes["x509.allow.regex.pattern.comparison"] = "false";
249
- }
250
-
251
- if (!$scope.client.attributes["x509.subjectdn"]) {
252
- Notifications.error("The SubjectDN must not be empty.");
253
- } else {
254
- Client.update({
255
- realm : $scope.realm.realm,
256
- client : $scope.client.id
257
- }, $scope.client, function() {
258
- $scope.changed = false;
259
- $scope.clientCopy = angular.copy($scope.client);
260
- Notifications.success("Client authentication configuration has been saved to the client.");
261
- }, function() {
262
- Notifications.error("The SubjectDN was not changed due to a problem.");
263
- $scope.subjectdn = "error";
264
- });
265
- }
266
- };
267
-
268
- $scope.$watch(function() {
269
- return $location.path();
270
- }, function() {
271
- $scope.path = $location.path().substring(1).split("/");
272
- });
273
-
274
- $scope.reset = function() {
275
- $scope.client.attributes["x509.subjectdn"] = $scope.clientCopy.attributes["x509.subjectdn"];
276
- $scope.client.attributes["x509.allow.regex.pattern.comparison"] = $scope.clientCopy.attributes["x509.allow.regex.pattern.comparison"];
277
- updateProperties();
278
- $location.url("/realms/" + $scope.realm.realm + "/clients/" + $scope.client.id + "/credentials");
279
- };
280
- });
281
-
282
- module.controller('ClientSignedJWTCtrl', function($scope, Client, Notifications) {
283
- console.log('ClientSignedJWTCtrl invoked');
284
-
285
- $scope.tokenEndpointAuthSigningAlg = $scope.client.attributes['token.endpoint.auth.signing.alg'];
286
-
287
- $scope.$watch('tokenEndpointAuthSigningAlg', function() {
288
- if (!angular.equals($scope.client.attributes['token.endpoint.auth.signing.alg'], $scope.tokenEndpointAuthSigningAlg)) {
289
- $scope.client.attributes['token.endpoint.auth.signing.alg'] = $scope.tokenEndpointAuthSigningAlg;
290
-
291
- Client.update({
292
- realm : $scope.realm.realm,
293
- client : $scope.client.id
294
- }, $scope.client, function() {
295
- Notifications.success("Signature algorithm has been saved to the client.");
296
- });
297
- }
298
- }, true);
299
-
300
- });
301
-
302
- module.controller('ClientGenericCredentialsCtrl', function($scope, $location, Client, Notifications) {
303
-
304
- console.log('ClientGenericCredentialsCtrl invoked');
305
-
306
- $scope.clientCopy = angular.copy($scope.client);
307
- $scope.changed = false;
308
-
309
- $scope.$watch('client', function() {
310
- if (!angular.equals($scope.client, $scope.clientCopy)) {
311
- $scope.changed = true;
312
- }
313
- }, true);
314
-
315
- $scope.save = function() {
316
-
317
- Client.update({
318
- realm : $scope.realm.realm,
319
- client : $scope.client.id
320
- }, $scope.client, function() {
321
- $scope.changed = false;
322
- $scope.clientCopy = angular.copy($scope.client);
323
- Notifications.success("Client authentication configuration has been saved to the client.");
324
- });
325
- };
326
-
327
- $scope.reset = function() {
328
- $scope.client = angular.copy($scope.clientCopy);
329
- $scope.changed = false;
330
- };
331
- });
332
-
333
- module.controller('ClientIdentityProviderCtrl', function($scope, $location, $route, realm, client, Client, $location, Notifications) {
334
- $scope.realm = realm;
335
- $scope.client = angular.copy(client);
336
- var length = 0;
337
-
338
- if ($scope.client.identityProviders) {
339
- length = $scope.client.identityProviders.length;
340
-
341
- for (i = 0; i < $scope.client.identityProviders.length; i++) {
342
- var clientProvider = $scope.client.identityProviders[i];
343
- if (clientProvider.retrieveToken) {
344
- clientProvider.retrieveToken = clientProvider.retrieveToken.toString();
345
- }
346
- }
347
-
348
- } else {
349
- $scope.client.identityProviders = [];
350
- }
351
-
352
- $scope.identityProviders = [];
353
- var providersMissingInClient = [];
354
-
355
- for (j = 0; j < realm.identityProviders.length; j++) {
356
- var identityProvider = realm.identityProviders[j];
357
- var clientProvider = null;
358
-
359
- for (i = 0; i < $scope.client.identityProviders.length; i++) {
360
- clientProvider = $scope.client.identityProviders[i];
361
-
362
- if (clientProvider) {
363
-
364
- if (clientProvider.id == identityProvider.id) {
365
- $scope.identityProviders[i] = {};
366
- $scope.identityProviders[i].identityProvider = identityProvider;
367
- $scope.identityProviders[i].retrieveToken = clientProvider.retrieveToken;
368
- break;
369
- }
370
-
371
- clientProvider = null;
372
- }
373
- }
374
-
375
- if (clientProvider == null) {
376
- providersMissingInClient.push(identityProvider);
377
- }
378
- }
379
-
380
- for (j = 0; j < providersMissingInClient.length; j++) {
381
- var identityProvider = providersMissingInClient[j];
382
-
383
- var currentProvider = {};
384
- currentProvider.identityProvider = identityProvider;
385
- currentProvider.retrieveToken = "false";
386
- $scope.identityProviders.push(currentProvider);
387
-
388
- var currentClientProvider = {};
389
- currentClientProvider.id = identityProvider.id;
390
- currentClientProvider.retrieveToken = "false";
391
- $scope.client.identityProviders.push(currentClientProvider);
392
- }
393
-
394
- var oldCopy = angular.copy($scope.client);
395
-
396
- $scope.save = function() {
397
-
398
- Client.update({
399
- realm : realm.realm,
400
- client : client.id
401
- }, $scope.client, function() {
402
- $scope.changed = false;
403
- $route.reload();
404
- Notifications.success("Your changes have been saved to the client.");
405
- });
406
- };
407
-
408
- $scope.reset = function() {
409
- $scope.client = angular.copy(oldCopy);
410
- $scope.changed = false;
411
- };
412
-
413
- $scope.$watch('client', function() {
414
- if (!angular.equals($scope.client, oldCopy)) {
415
- $scope.changed = true;
416
- }
417
- }, true);
418
- });
419
-
420
- module.controller('ClientSamlKeyCtrl', function($scope, $location, $http, $upload, realm, client,
421
- ClientCertificate, ClientCertificateGenerate,
422
- ClientCertificateDownload, Notifications) {
423
- $scope.realm = realm;
424
- $scope.client = client;
425
-
426
- var signingKeyInfo = ClientCertificate.get({ realm : realm.realm, client : client.id, attribute: 'saml.signing' },
427
- function() {
428
- $scope.signingKeyInfo = signingKeyInfo;
429
- }
430
- );
431
-
432
- $scope.generateSigningKey = function() {
433
- var keyInfo = ClientCertificateGenerate.generate({ realm : realm.realm, client : client.id, attribute: 'saml.signing' },
434
- function() {
435
- Notifications.success('Signing key has been regenerated.');
436
- $scope.signingKeyInfo = keyInfo;
437
- },
438
- function() {
439
- Notifications.error("Signing key was not regenerated.");
440
- }
441
- );
442
- };
443
-
444
- $scope.importSigningKey = function() {
445
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/saml/Signing/import/saml.signing");
446
- };
447
-
448
- $scope.exportSigningKey = function() {
449
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/saml/Signing/export/saml.signing");
450
- };
451
-
452
- var encryptionKeyInfo = ClientCertificate.get({ realm : realm.realm, client : client.id, attribute: 'saml.encryption' },
453
- function() {
454
- $scope.encryptionKeyInfo = encryptionKeyInfo;
455
- }
456
- );
457
-
458
- $scope.generateEncryptionKey = function() {
459
- var keyInfo = ClientCertificateGenerate.generate({ realm : realm.realm, client : client.id, attribute: 'saml.encryption' },
460
- function() {
461
- Notifications.success('Encryption key has been regenerated.');
462
- $scope.encryptionKeyInfo = keyInfo;
463
- },
464
- function() {
465
- Notifications.error("Encryption key was not regenerated.");
466
- }
467
- );
468
- };
469
-
470
- $scope.importEncryptionKey = function() {
471
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/saml/Encryption/import/saml.encryption");
472
- };
473
-
474
- $scope.exportEncryptionKey = function() {
475
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/saml/Encryption/export/saml.encryption");
476
- };
477
-
478
-
479
- $scope.$watch(function() {
480
- return $location.path();
481
- }, function() {
482
- $scope.path = $location.path().substring(1).split("/");
483
- });
484
- });
485
-
486
- module.controller('ClientCertificateImportCtrl', function($scope, $location, $http, $upload, realm, client, callingContext, $routeParams,
487
- ClientCertificate, ClientCertificateGenerate,
488
- ClientCertificateDownload, Notifications) {
489
-
490
- console.log("callingContext: " + callingContext);
491
-
492
- var keyType = $routeParams.keyType;
493
- var attribute = $routeParams.attribute;
494
- $scope.realm = realm;
495
- $scope.client = client;
496
- $scope.keyType = keyType;
497
-
498
- if (callingContext == 'saml') {
499
- var uploadUrl = authUrl + '/admin/realms/' + realm.realm + '/clients/' + client.id + '/certificates/' + attribute + '/upload';
500
- var redirectLocation = "/realms/" + realm.realm + "/clients/" + client.id + "/saml/keys";
501
- } else if (callingContext == 'oidc') {
502
- var uploadUrl = authUrl + '/admin/realms/' + realm.realm + '/clients/' + client.id + '/certificates/' + attribute + '/upload-certificate';
503
- var redirectLocation = "/realms/" + realm.realm + "/clients/" + client.id + "/oidc/keys";
504
- }
505
-
506
- $scope.files = [];
507
-
508
- $scope.onFileSelect = function($files) {
509
- $scope.files = $files;
510
- };
511
-
512
- $scope.cancel = function() {
513
- $location.url(redirectLocation);
514
- }
515
-
516
- $scope.keyFormats = [
517
- "JKS",
518
- "PKCS12",
519
- "Certificate PEM"
520
- ];
521
-
522
- if (callingContext == 'oidc') {
523
- $scope.keyFormats.push('Public Key PEM');
524
- $scope.keyFormats.push('JSON Web Key Set');
525
- }
526
-
527
- $scope.hideKeystoreSettings = function() {
528
- return $scope.uploadKeyFormat == 'Certificate PEM' || $scope.uploadKeyFormat == 'Public Key PEM' || $scope.uploadKeyFormat == 'JSON Web Key Set';
529
- }
530
-
531
- $scope.uploadKeyFormat = $scope.keyFormats[0];
532
-
533
- $scope.uploadFile = function() {
534
- //$files: an array of files selected, each file has name, size, and type.
535
- for (var i = 0; i < $scope.files.length; i++) {
536
- var $file = $scope.files[i];
537
- $scope.upload = $upload.upload({
538
- url: uploadUrl,
539
- // method: POST or PUT,
540
- // headers: {'headerKey': 'headerValue'}, withCredential: true,
541
- data: {keystoreFormat: $scope.uploadKeyFormat,
542
- keyAlias: $scope.uploadKeyAlias,
543
- keyPassword: $scope.uploadKeyPassword,
544
- storePassword: $scope.uploadStorePassword
545
- },
546
- file: $file
547
- /* set file formData name for 'Content-Desposition' header. Default: 'file' */
548
- //fileFormDataName: myFile,
549
- /* customize how data is added to formData. See #40#issuecomment-28612000 for example */
550
- //formDataAppender: function(formData, key, val){}
551
- }).then(function(data, status, headers) {
552
- Notifications.success("Keystore uploaded successfully.");
553
- $location.url(redirectLocation);
554
- })
555
- //.then(success, error, progress);
556
- }
557
- };
558
-
559
- $scope.$watch(function() {
560
- return $location.path();
561
- }, function() {
562
- $scope.path = $location.path().substring(1).split("/");
563
- });
564
- });
565
-
566
- module.controller('ClientCertificateExportCtrl', function($scope, $location, $http, $upload, realm, client, callingContext, $routeParams,
567
- ClientCertificate, ClientCertificateGenerate,
568
- ClientCertificateDownload, Notifications) {
569
- var keyType = $routeParams.keyType;
570
- var attribute = $routeParams.attribute;
571
- $scope.realm = realm;
572
- $scope.client = client;
573
- $scope.keyType = keyType;
574
-
575
- if (callingContext == 'saml') {
576
- var downloadUrl = authUrl + '/admin/realms/' + realm.realm + '/clients/' + client.id + '/certificates/' + attribute + '/download';
577
- var realmCertificate = true;
578
- } else if (callingContext == 'oidc') {
579
- var downloadUrl = authUrl + '/admin/realms/' + realm.realm + '/clients/' + client.id + '/certificates/' + attribute + '/generate-and-download'
580
- var realmCertificate = false;
581
- }
582
-
583
- var jks = {
584
- keyAlias: client.clientId,
585
- realmAlias: realm.realm,
586
- realmCertificate: realmCertificate
587
- };
588
-
589
- $scope.keyFormats = [
590
- "JKS",
591
- "PKCS12"
592
- ];
593
-
594
- var keyInfo = ClientCertificate.get({ realm : realm.realm, client : client.id, attribute: attribute },
595
- function() {
596
- $scope.keyInfo = keyInfo;
597
- }
598
- );
599
- $scope.jks = jks;
600
- $scope.jks.format = $scope.keyFormats[0];
601
-
602
- $scope.download = function() {
603
- $http({
604
- url: downloadUrl,
605
- method: 'POST',
606
- responseType: 'arraybuffer',
607
- data: $scope.jks,
608
- headers: {
609
- 'Content-Type': 'application/json',
610
- 'Accept': 'application/octet-stream'
611
- }
612
- }).then(function(response){
613
- var blob = new Blob([response.data], {
614
- type: 'application/octet-stream'
615
- });
616
- var ext = ".jks";
617
- if ($scope.jks.format == 'PKCS12') ext = ".p12";
618
-
619
- if (callingContext == 'oidc') {
620
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/oidc/keys");
621
- Notifications.success("New keypair and certificate generated successfully. Download keystore file")
622
- }
623
-
624
- saveAs(blob, 'keystore' + ext);
625
- }).catch(function(response) {
626
- var errorMsg = 'Error downloading';
627
- try {
628
- var error = JSON.parse(String.fromCharCode.apply(null, new Uint8Array(response.data)));
629
- errorMsg = error['error_description'] ? error['error_description'] : errorMsg;
630
- } catch (err) {
631
- }
632
- Notifications.error(errorMsg);
633
- });
634
- }
635
-
636
- $scope.$watch(function() {
637
- return $location.path();
638
- }, function() {
639
- $scope.path = $location.path().substring(1).split("/");
640
- });
641
-
642
- $scope.cancel = function() {
643
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/oidc/keys");
644
- }
645
- });
646
-
647
- module.controller('ClientOidcKeyCtrl', function($scope, $location, realm, client, Client, ClientCertificate, Notifications, $route) {
648
- $scope.realm = realm;
649
- $scope.client = angular.copy(client);
650
-
651
- var signingKeyInfo = ClientCertificate.get({ realm : realm.realm, client : client.id, attribute: 'jwt.credential' },
652
- function() {
653
- $scope.signingKeyInfo = signingKeyInfo;
654
- }
655
- );
656
-
657
- $scope.changed = false;
658
-
659
- $scope.$watch('client', function() {
660
- if (!angular.equals($scope.client, client)) {
661
- $scope.changed = true;
662
- }
663
- }, true);
664
-
665
- if ($scope.client.attributes["use.jwks.url"]) {
666
- if ($scope.client.attributes["use.jwks.url"] == "true") {
667
- $scope.useJwksUrl = true;
668
- } else {
669
- $scope.useJwksUrl = false;
670
- }
671
- }
672
-
673
- if ($scope.client.attributes["use.jwks.string"]) {
674
- if ($scope.client.attributes["use.jwks.string"] == "true") {
675
- $scope.useJwksString = true;
676
- } else {
677
- $scope.useJwksString = false;
678
- }
679
- }
680
-
681
- $scope.jwksUrlSwitchChange = function() {
682
- $scope.changed = true;
683
- if ($scope.useJwksUrl == false) {
684
- $scope.useJwksString = false;
685
- }
686
- }
687
-
688
- $scope.jwksStringSwitchChange = function() {
689
- $scope.changed = true;
690
- if ($scope.useJwksString == false) {
691
- $scope.useJwksUrl = false;
692
- }
693
- }
694
-
695
- $scope.save = function() {
696
-
697
- if ($scope.useJwksUrl == true) {
698
- $scope.client.attributes["use.jwks.url"] = "true";
699
- } else {
700
- $scope.client.attributes["use.jwks.url"] = "false";
701
- }
702
-
703
- if ($scope.useJwksString == true) {
704
- $scope.client.attributes["use.jwks.string"] = "true";
705
- } else {
706
- $scope.client.attributes["use.jwks.string"] = "false";
707
- }
708
-
709
- Client.update({
710
- realm : realm.realm,
711
- client : client.id
712
- }, $scope.client, function() {
713
- $scope.changed = false;
714
- client = angular.copy($scope.client);
715
- Notifications.success("OIDC key has been saved to the client.");
716
- });
717
- };
718
-
719
- $scope.importCertificate = function() {
720
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/oidc/Signing/import/jwt.credential");
721
- };
722
-
723
- $scope.generateSigningKey = function() {
724
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/oidc/Signing/export/jwt.credential");
725
- };
726
-
727
- $scope.reset = function() {
728
- $route.reload();
729
- };
730
- });
731
-
732
- module.controller('ClientSessionsCtrl', function($scope, realm, sessionCount, client,
733
- ClientUserSessions) {
734
- $scope.realm = realm;
735
- $scope.count = sessionCount.count;
736
- $scope.sessions = [];
737
- $scope.client = client;
738
-
739
- $scope.page = 0;
740
-
741
- $scope.query = {
742
- realm : realm.realm,
743
- client: $scope.client.id,
744
- max : 5,
745
- first : 0
746
- }
747
-
748
- $scope.firstPage = function() {
749
- $scope.query.first = 0;
750
- if ($scope.query.first < 0) {
751
- $scope.query.first = 0;
752
- }
753
- $scope.loadUsers();
754
- }
755
-
756
- $scope.previousPage = function() {
757
- $scope.query.first -= parseInt($scope.query.max);
758
- if ($scope.query.first < 0) {
759
- $scope.query.first = 0;
760
- }
761
- $scope.loadUsers();
762
- }
763
-
764
- $scope.nextPage = function() {
765
- $scope.query.first += parseInt($scope.query.max);
766
- $scope.loadUsers();
767
- }
768
-
769
- $scope.toDate = function(val) {
770
- return new Date(val);
771
- };
772
-
773
- $scope.loadUsers = function() {
774
- ClientUserSessions.query($scope.query, function(updated) {
775
- $scope.sessions = updated;
776
- })
777
- };
778
- });
779
-
780
- module.controller('ClientOfflineSessionsCtrl', function($scope, realm, offlineSessionCount, client,
781
- ClientOfflineSessions) {
782
- $scope.realm = realm;
783
- $scope.count = offlineSessionCount.count;
784
- $scope.sessions = [];
785
- $scope.client = client;
786
-
787
- $scope.page = 0;
788
-
789
- $scope.query = {
790
- realm : realm.realm,
791
- client: $scope.client.id,
792
- max : 5,
793
- first : 0
794
- }
795
-
796
- $scope.firstPage = function() {
797
- $scope.query.first = 0;
798
- if ($scope.query.first < 0) {
799
- $scope.query.first = 0;
800
- }
801
- $scope.loadUsers();
802
- }
803
-
804
- $scope.previousPage = function() {
805
- $scope.query.first -= parseInt($scope.query.max);
806
- if ($scope.query.first < 0) {
807
- $scope.query.first = 0;
808
- }
809
- $scope.loadUsers();
810
- }
811
-
812
- $scope.nextPage = function() {
813
- $scope.query.first += parseInt($scope.query.max);
814
- $scope.loadUsers();
815
- }
816
-
817
- $scope.toDate = function(val) {
818
- return new Date(val);
819
- };
820
-
821
- $scope.loadUsers = function() {
822
- ClientOfflineSessions.query($scope.query, function(updated) {
823
- $scope.sessions = updated;
824
- })
825
- };
826
- });
827
-
828
- module.controller('ClientRoleDetailCtrl', function($scope, $route, realm, client, role, roles, Client,
829
- Role, ClientRole, RoleById, RoleRealmComposites, RoleClientComposites,
830
- $http, $location, Dialog, Notifications, ComponentUtils) {
831
- $scope.realm = realm;
832
- $scope.client = client;
833
- $scope.role = angular.copy(role);
834
- $scope.create = !role.name;
835
-
836
- $scope.changed = $scope.create;
837
-
838
- $scope.save = function() {
839
- convertAttributeValuesToLists();
840
- if ($scope.create) {
841
- ClientRole.save({
842
- realm: realm.realm,
843
- client : client.id
844
- }, $scope.role, function (data, headers) {
845
- $scope.changed = false;
846
- convertAttributeValuesToString($scope.role);
847
- role = angular.copy($scope.role);
848
-
849
- ClientRole.get({ realm: realm.realm, client : client.id, role: role.name }, function(role) {
850
- var id = role.id;
851
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/roles/" + id);
852
- Notifications.success("The role has been created.");
853
- });
854
- });
855
- } else {
856
- $scope.update();
857
- }
858
- };
859
-
860
- $scope.remove = function() {
861
- Dialog.confirmDelete($scope.role.name, 'role', function() {
862
- $scope.role.$remove({
863
- realm : realm.realm,
864
- client : client.id,
865
- role : $scope.role.id
866
- }, function() {
867
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/roles");
868
- Notifications.success("The role has been deleted.");
869
- });
870
- });
871
- };
872
-
873
- $scope.cancel = function () {
874
- $location.url("/realms/" + realm.realm + "/clients/" + client.id + "/roles");
875
- };
876
-
877
- $scope.addAttribute = function() {
878
- $scope.role.attributes[$scope.newAttribute.key] = $scope.newAttribute.value;
879
- delete $scope.newAttribute;
880
- }
881
-
882
- $scope.removeAttribute = function(key) {
883
- delete $scope.role.attributes[key];
884
- }
885
-
886
- function convertAttributeValuesToLists() {
887
- var attrs = $scope.role.attributes;
888
- for (var attribute in attrs) {
889
- if (typeof attrs[attribute] === "string") {
890
- var attrVals = attrs[attribute].split("##");
891
- attrs[attribute] = attrVals;
892
- }
893
- }
894
- }
895
-
896
- function convertAttributeValuesToString(role) {
897
- var attrs = role.attributes;
898
- for (var attribute in attrs) {
899
- if (typeof attrs[attribute] === "object") {
900
- var attrVals = attrs[attribute].join("##");
901
- attrs[attribute] = attrVals;
902
- }
903
- }
904
- }
905
-
906
- roleControl($scope, $route, realm, role, roles, Client,
907
- ClientRole, RoleById, RoleRealmComposites, RoleClientComposites,
908
- $http, $location, Notifications, Dialog, ComponentUtils);
909
-
910
- });
911
-
912
- module.controller('ClientRoleMembersCtrl', function($scope, realm, client, role, ClientRoleMembership, Dialog, Notifications, $location) {
913
- $scope.realm = realm;
914
- $scope.page = 0;
915
- $scope.role = role;
916
- $scope.client = client;
917
-
918
- $scope.query = {
919
- realm: realm.realm,
920
- role: role.name,
921
- client: client.id,
922
- max : 5,
923
- first : 0
924
- }
925
-
926
- $scope.firstPage = function() {
927
- $scope.query.first = 0;
928
- $scope.searchQuery();
929
- }
930
-
931
- $scope.previousPage = function() {
932
- $scope.query.first -= parseInt($scope.query.max);
933
- if ($scope.query.first < 0) {
934
- $scope.query.first = 0;
935
- }
936
- $scope.searchQuery();
937
- }
938
-
939
- $scope.nextPage = function() {
940
- $scope.query.first += parseInt($scope.query.max);
941
- $scope.searchQuery();
942
- }
943
-
944
- $scope.searchQuery = function() {
945
- $scope.searchLoaded = false;
946
-
947
- $scope.users = ClientRoleMembership.query($scope.query, function() {
948
- console.log('search loaded');
949
- $scope.searchLoaded = true;
950
- $scope.lastSearch = $scope.query.search;
951
- });
952
- };
953
-
954
- $scope.searchQuery();
955
- });
956
-
957
- module.controller('ClientImportCtrl', function($scope, $location, $upload, realm, serverInfo, Notifications) {
958
-
959
- $scope.realm = realm;
960
-
961
- $scope.files = [];
962
-
963
- $scope.onFileSelect = function($files) {
964
- $scope.files = $files;
965
- };
966
-
967
- $scope.clearFileSelect = function() {
968
- $scope.files = null;
969
- }
970
-
971
- $scope.uploadFile = function() {
972
- //$files: an array of files selected, each file has name, size, and type.
973
- for (var i = 0; i < $scope.files.length; i++) {
974
- var $file = $scope.files[i];
975
- $scope.upload = $upload.upload({
976
- url: authUrl + '/admin/realms/' + realm.realm + '/client-importers/' + $scope.configFormat.id + '/upload',
977
- // method: POST or PUT,
978
- // headers: {'headerKey': 'headerValue'}, withCredential: true,
979
- data: {myObj: ""},
980
- file: $file
981
- /* set file formData name for 'Content-Desposition' header. Default: 'file' */
982
- //fileFormDataName: myFile,
983
- /* customize how data is added to formData. See #40#issuecomment-28612000 for example */
984
- //formDataAppender: function(formData, key, val){}
985
- }).success(function(data, status, headers) {
986
- Notifications.success("Uploaded successfully.");
987
- $location.url("/realms/" + realm.realm + "/clients");
988
- })
989
- .error(function() {
990
- Notifications.error("The file can not be uploaded. Please verify the file.");
991
-
992
- });
993
- //.then(success, error, progress);
994
- }
995
- };
996
-
997
- $scope.$watch(function() {
998
- return $location.path();
999
- }, function() {
1000
- $scope.path = $location.path().substring(1).split("/");
1001
- });
1002
- });
1003
-
1004
-
1005
- module.controller('ClientListCtrl', function($scope, realm, Client, ClientListSearchState, $route, Dialog, Notifications) {
1006
- $scope.init = function() {
1007
- $scope.realm = realm;
1008
- $scope.searchLoaded = true;
1009
-
1010
- ClientListSearchState.query.realm = realm.realm;
1011
- $scope.query = ClientListSearchState.query;
1012
-
1013
- if (!ClientListSearchState.isFirstSearch) {
1014
- $scope.searchQuery();
1015
- } else {
1016
- $scope.query.clientId = null;
1017
- $scope.firstPage();
1018
- }
1019
- };
1020
-
1021
- $scope.searchQuery = function() {
1022
- console.log("query.search: ", $scope.query);
1023
- $scope.searchLoaded = false;
1024
-
1025
- $scope.clients = Client.query($scope.query, function() {
1026
- $scope.searchLoaded = true;
1027
- $scope.lastSearch = $scope.query.search;
1028
- ClientListSearchState.isFirstSearch = false;
1029
- });
1030
- };
1031
-
1032
- $scope.firstPage = function() {
1033
- $scope.query.first = 0;
1034
- $scope.searchQuery();
1035
- }
1036
-
1037
- $scope.previousPage = function() {
1038
- $scope.query.first -= parseInt($scope.query.max);
1039
- if ($scope.query.first < 0) {
1040
- $scope.query.first = 0;
1041
- }
1042
- $scope.searchQuery();
1043
- }
1044
-
1045
- $scope.nextPage = function() {
1046
- $scope.query.first += parseInt($scope.query.max);
1047
- $scope.searchQuery();
1048
- }
1049
-
1050
- $scope.removeClient = function(client) {
1051
- Dialog.confirmDelete(client.clientId, 'client', function() {
1052
- Client.remove({
1053
- realm : realm.realm,
1054
- client : client.id
1055
- }, function() {
1056
- $route.reload();
1057
- Notifications.success("The client has been deleted.");
1058
- });
1059
- });
1060
- };
1061
-
1062
- $scope.exportClient = function(client) {
1063
- var clientCopy = angular.copy(client);
1064
- delete clientCopy.id;
1065
-
1066
- if (clientCopy.protocolMappers) {
1067
- for (var i = 0; i < clientCopy.protocolMappers.length; i++) {
1068
- delete clientCopy.protocolMappers[i].id;
1069
- }
1070
- }
1071
-
1072
- saveAs(new Blob([angular.toJson(clientCopy, 4)], { type: 'application/json' }), clientCopy.clientId + '.json');
1073
- }
1074
- });
1075
-
1076
- module.controller('ClientInstallationCtrl', function($scope, realm, client, serverInfo, ClientInstallation,$http, $routeParams) {
1077
- $scope.realm = realm;
1078
- $scope.client = client;
1079
- $scope.installation = null;
1080
- $scope.download = null;
1081
- $scope.configFormat = null;
1082
- $scope.filename = null;
1083
-
1084
- var protocol = client.protocol;
1085
- if (!protocol) protocol = 'openid-connect';
1086
- $scope.configFormats = serverInfo.clientInstallations[protocol];
1087
- console.log('configFormats.length: ' + $scope.configFormats.length);
1088
-
1089
- $scope.changeFormat = function() {
1090
- var url = ClientInstallation.url({ realm: $routeParams.realm, client: $routeParams.client, provider: $scope.configFormat.id });
1091
- if ($scope.configFormat.mediaType == 'application/zip') {
1092
- $http({
1093
- url: url,
1094
- method: 'GET',
1095
- responseType: 'arraybuffer',
1096
- cache: false
1097
- }).then(function(response) {
1098
- var installation = response.data;
1099
- $scope.installation = installation;
1100
- }
1101
- );
1102
- } else {
1103
- $http.get(url).then(function (response) {
1104
- var installation = response.data;
1105
- if ($scope.configFormat.mediaType == 'application/json') {
1106
- installation = angular.fromJson(response.data);
1107
- installation = angular.toJson(installation, true);
1108
- }
1109
- $scope.installation = installation;
1110
- });
1111
- }
1112
-
1113
- };
1114
- $scope.download = function() {
1115
- saveAs(new Blob([$scope.installation], { type: $scope.configFormat.mediaType }), $scope.configFormat.filename);
1116
- }
1117
- });
1118
-
1119
-
1120
- module.controller('ClientDetailCtrl', function($scope, realm, client, flows, $route, serverInfo, Client, ClientDescriptionConverter, Components, ClientStorageOperations, $location, $modal, Dialog, Notifications, TimeUnit2) {
1121
- $scope.serverInfo = serverInfo;
1122
- $scope.flows = [];
1123
- $scope.clientFlows = [];
1124
- var emptyFlow = {
1125
- id: "",
1126
- alias: ""
1127
- }
1128
- for (var i=0 ; i<flows.length ; i++) {
1129
- if (flows[i].providerId == 'client-flow') {
1130
- $scope.clientFlows.push(flows[i]);
1131
- } else {
1132
- $scope.flows.push(flows[i]);
1133
- }
1134
- }
1135
- $scope.flows.push(emptyFlow)
1136
- $scope.clientFlows.push(emptyFlow)
1137
- var deletedSomeDefaultAcrValue = false;
1138
-
1139
-
1140
- $scope.accessTypes = [
1141
- "confidential",
1142
- "public",
1143
- "bearer-only"
1144
- ];
1145
-
1146
- $scope.protocols = serverInfo.listProviderIds('login-protocol');
1147
-
1148
- $scope.signatureAlgorithms = [
1149
- "RSA_SHA1",
1150
- "RSA_SHA256",
1151
- "RSA_SHA256_MGF1",
1152
- "RSA_SHA512",
1153
- "RSA_SHA512_MGF1",
1154
- "DSA_SHA1"
1155
- ];
1156
- $scope.nameIdFormats = [
1157
- "username",
1158
- "email",
1159
- "transient",
1160
- "persistent"
1161
- ];
1162
- $scope.xmlKeyNameTranformers = [
1163
- "NONE",
1164
- "KEY_ID",
1165
- "CERT_SUBJECT"
1166
- ];
1167
-
1168
- $scope.canonicalization = [
1169
- {name: "EXCLUSIVE", value: "http://www.w3.org/2001/10/xml-exc-c14n#" },
1170
- {name: "EXCLUSIVE_WITH_COMMENTS", value: "http://www.w3.org/2001/10/xml-exc-c14n#WithComments"},
1171
- {name: "INCLUSIVE", value: "http://www.w3.org/TR/2001/REC-xml-c14n-20010315" },
1172
- {name: "INCLUSIVE_WITH_COMMENTS", value: "http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments"}
1173
- ];
1174
-
1175
- $scope.requestObjectRequiredOptions = [
1176
- "not required",
1177
- "request or request_uri",
1178
- "request only",
1179
- "request_uri only"
1180
- ];
1181
-
1182
- $scope.changePkceCodeChallengeMethodOptions = [
1183
- "S256",
1184
- "plain",
1185
- ""
1186
- ];
1187
-
1188
- $scope.realm = realm;
1189
- $scope.samlAuthnStatement = false;
1190
- $scope.samlOneTimeUseCondition = false;
1191
- $scope.samlMultiValuedRoles = false;
1192
- $scope.samlArtifactBinding = false;
1193
- $scope.samlServerSignature = false;
1194
- $scope.samlServerSignatureEnableKeyInfoExtension = false;
1195
- $scope.samlAssertionSignature = false;
1196
- $scope.samlClientSignature = false;
1197
- $scope.samlEncrypt = false;
1198
- $scope.samlForcePostBinding = false;
1199
- $scope.samlForceNameIdFormat = false;
1200
- $scope.samlAllowECPFlow = false;
1201
- $scope.samlXmlKeyNameTranformer = $scope.xmlKeyNameTranformers[1];
1202
- $scope.disableAuthorizationTab = !client.authorizationServicesEnabled;
1203
- $scope.disableServiceAccountRolesTab = !client.serviceAccountsEnabled;
1204
- $scope.disableCredentialsTab = client.publicClient;
1205
- $scope.oauth2DeviceAuthorizationGrantEnabled = false;
1206
- $scope.oidcCibaGrantEnabled = false;
1207
- // KEYCLOAK-6771 Certificate Bound Token
1208
- // https://tools.ietf.org/html/draft-ietf-oauth-mtls-08#section-3
1209
- $scope.tlsClientCertificateBoundAccessTokens = false;
1210
- $scope.useRefreshTokens = true;
1211
- $scope.useIdTokenAsDetachedSignature = false;
1212
-
1213
- $scope.accessTokenLifespan = TimeUnit2.asUnit(client.attributes['access.token.lifespan']);
1214
- $scope.samlAssertionLifespan = TimeUnit2.asUnit(client.attributes['saml.assertion.lifespan']);
1215
- $scope.clientSessionIdleTimeout = TimeUnit2.asUnit(client.attributes['client.session.idle.timeout']);
1216
- $scope.clientSessionMaxLifespan = TimeUnit2.asUnit(client.attributes['client.session.max.lifespan']);
1217
- $scope.clientOfflineSessionIdleTimeout = TimeUnit2.asUnit(client.attributes['client.offline.session.idle.timeout']);
1218
- $scope.clientOfflineSessionMaxLifespan = TimeUnit2.asUnit(client.attributes['client.offline.session.max.lifespan']);
1219
- $scope.oauth2DeviceCodeLifespan = TimeUnit2.asUnit(client.attributes['oauth2.device.code.lifespan']);
1220
- $scope.oauth2DevicePollingInterval = parseInt(client.attributes['oauth2.device.polling.interval']);
1221
-
1222
- // PAR request.
1223
- $scope.requirePushedAuthorizationRequests = false;
1224
-
1225
- if(client.origin) {
1226
- if ($scope.access.viewRealm) {
1227
- Components.get({realm: realm.realm, componentId: client.origin}, function (link) {
1228
- $scope.originName = link.name;
1229
- //$scope.originLink = "#/realms/" + realm.realm + "/user-storage/providers/" + link.providerId + "/" + link.id;
1230
- })
1231
- }
1232
- else {
1233
- // KEYCLOAK-4328
1234
- ClientStorageOperations.simpleName.get({realm: realm.realm, componentId: client.origin}, function (link) {
1235
- $scope.originName = link.name;
1236
- //$scope.originLink = $location.absUrl();
1237
- })
1238
- }
1239
- } else {
1240
- console.log("origin is null");
1241
- }
1242
-
1243
-
1244
- function updateProperties() {
1245
- if (!$scope.client.attributes) {
1246
- $scope.client.attributes = {};
1247
- }
1248
- $scope.accessType = $scope.accessTypes[0];
1249
- if ($scope.client.bearerOnly) {
1250
- $scope.accessType = $scope.accessTypes[2];
1251
- } else if ($scope.client.publicClient) {
1252
- $scope.accessType = $scope.accessTypes[1];
1253
- }
1254
- if ($scope.client.protocol) {
1255
- $scope.protocol = $scope.protocols[$scope.protocols.indexOf($scope.client.protocol)];
1256
- } else {
1257
- $scope.protocol = $scope.protocols[0];
1258
- }
1259
- if ($scope.client.attributes['saml.signature.algorithm'] == 'RSA_SHA1') {
1260
- $scope.signatureAlgorithm = $scope.signatureAlgorithms[0];
1261
- } else if ($scope.client.attributes['saml.signature.algorithm'] == 'RSA_SHA256') {
1262
- $scope.signatureAlgorithm = $scope.signatureAlgorithms[1];
1263
- } else if ($scope.client.attributes['saml.signature.algorithm'] == 'RSA_SHA256_MGF1') {
1264
- $scope.signatureAlgorithm = $scope.signatureAlgorithms[2];
1265
- } else if ($scope.client.attributes['saml.signature.algorithm'] == 'RSA_SHA512') {
1266
- $scope.signatureAlgorithm = $scope.signatureAlgorithms[3];
1267
- } else if ($scope.client.attributes['saml.signature.algorithm'] == 'RSA_SHA512_MGF1') {
1268
- $scope.signatureAlgorithm = $scope.signatureAlgorithms[4];
1269
- } else if ($scope.client.attributes['saml.signature.algorithm'] == 'DSA_SHA1') {
1270
- $scope.signatureAlgorithm = $scope.signatureAlgorithms[5];
1271
- }
1272
- if ($scope.client.attributes['saml_name_id_format'] == 'username') {
1273
- $scope.nameIdFormat = $scope.nameIdFormats[0];
1274
- } else if ($scope.client.attributes['saml_name_id_format'] == 'email') {
1275
- $scope.nameIdFormat = $scope.nameIdFormats[1];
1276
- } else if ($scope.client.attributes['saml_name_id_format'] == 'transient') {
1277
- $scope.nameIdFormat = $scope.nameIdFormats[2];
1278
- } else if ($scope.client.attributes['saml_name_id_format'] == 'persistent') {
1279
- $scope.nameIdFormat = $scope.nameIdFormats[3];
1280
- }
1281
-
1282
-
1283
- if ($scope.client.attributes["saml.artifact.binding"]) {
1284
- if ($scope.client.attributes["saml.artifact.binding"] == "true") {
1285
- $scope.samlArtifactBinding = true;
1286
- } else {
1287
- $scope.samlArtifactBinding = false;
1288
- }
1289
- }
1290
-
1291
- if ($scope.client.attributes["saml.server.signature"]) {
1292
- if ($scope.client.attributes["saml.server.signature"] == "true") {
1293
- $scope.samlServerSignature = true;
1294
- } else {
1295
- $scope.samlServerSignature = false;
1296
-
1297
- }
1298
- }
1299
- if ($scope.client.attributes["saml.server.signature.keyinfo.ext"]) {
1300
- if ($scope.client.attributes["saml.server.signature.keyinfo.ext"] == "true") {
1301
- $scope.samlServerSignatureEnableKeyInfoExtension = true;
1302
- } else {
1303
- $scope.samlServerSignatureEnableKeyInfoExtension = false;
1304
- }
1305
- }
1306
- if ($scope.client.attributes['saml.server.signature.keyinfo.xmlSigKeyInfoKeyNameTransformer'] === 'NONE') {
1307
- $scope.samlXmlKeyNameTranformer = $scope.xmlKeyNameTranformers[0];
1308
- } else if ($scope.client.attributes['saml.server.signature.keyinfo.xmlSigKeyInfoKeyNameTransformer'] === 'KEY_ID') {
1309
- $scope.samlXmlKeyNameTranformer = $scope.xmlKeyNameTranformers[1];
1310
- } else if ($scope.client.attributes['saml.server.signature.keyinfo.xmlSigKeyInfoKeyNameTransformer'] === 'CERT_SUBJECT') {
1311
- $scope.samlXmlKeyNameTranformer = $scope.xmlKeyNameTranformers[2];
1312
- }
1313
- if ($scope.client.attributes["saml.assertion.signature"]) {
1314
- if ($scope.client.attributes["saml.assertion.signature"] == "true") {
1315
- $scope.samlAssertionSignature = true;
1316
- } else {
1317
- $scope.samlAssertionSignature = false;
1318
- }
1319
- }
1320
- if ($scope.client.attributes["saml.client.signature"]) {
1321
- if ($scope.client.attributes["saml.client.signature"] == "true") {
1322
- $scope.samlClientSignature = true;
1323
- } else {
1324
- $scope.samlClientSignature = false;
1325
- }
1326
- }
1327
- if ($scope.client.attributes["saml.encrypt"]) {
1328
- if ($scope.client.attributes["saml.encrypt"] == "true") {
1329
- $scope.samlEncrypt = true;
1330
- } else {
1331
- $scope.samlEncrypt = false;
1332
- }
1333
- }
1334
- if ($scope.client.attributes["saml.authnstatement"]) {
1335
- if ($scope.client.attributes["saml.authnstatement"] == "true") {
1336
- $scope.samlAuthnStatement = true;
1337
- } else {
1338
- $scope.samlAuthnStatement = false;
1339
- }
1340
- }
1341
- if ($scope.client.attributes["saml.onetimeuse.condition"]) {
1342
- if ($scope.client.attributes["saml.onetimeuse.condition"] == "true") {
1343
- $scope.samlOneTimeUseCondition = true;
1344
- } else {
1345
- $scope.samlOneTimeUseCondition = false;
1346
- }
1347
- }
1348
- if ($scope.client.attributes["saml_force_name_id_format"]) {
1349
- if ($scope.client.attributes["saml_force_name_id_format"] == "true") {
1350
- $scope.samlForceNameIdFormat = true;
1351
- } else {
1352
- $scope.samlForceNameIdFormat = false;
1353
- }
1354
- }
1355
- if ($scope.client.attributes["saml.allow.ecp.flow"]) {
1356
- if ($scope.client.attributes["saml.allow.ecp.flow"] == "true") {
1357
- $scope.samlAllowECPFlow = true;
1358
- } else {
1359
- $scope.samlAllowECPFlow = false;
1360
- }
1361
- }
1362
- if ($scope.client.attributes["saml.multivalued.roles"]) {
1363
- if ($scope.client.attributes["saml.multivalued.roles"] == "true") {
1364
- $scope.samlMultiValuedRoles = true;
1365
- } else {
1366
- $scope.samlMultiValuedRoles = false;
1367
- }
1368
- }
1369
- if ($scope.client.attributes["saml.force.post.binding"]) {
1370
- if ($scope.client.attributes["saml.force.post.binding"] == "true") {
1371
- $scope.samlForcePostBinding = true;
1372
- } else {
1373
- $scope.samlForcePostBinding = false;
1374
- }
1375
- }
1376
-
1377
- $scope.accessTokenSignedResponseAlg = $scope.client.attributes['access.token.signed.response.alg'];
1378
- $scope.idTokenSignedResponseAlg = $scope.client.attributes['id.token.signed.response.alg'];
1379
- $scope.idTokenEncryptedResponseAlg = $scope.client.attributes['id.token.encrypted.response.alg'];
1380
- $scope.idTokenEncryptedResponseEnc = $scope.client.attributes['id.token.encrypted.response.enc'];
1381
- $scope.authorizationSignedResponseAlg = $scope.client.attributes['authorization.signed.response.alg'];
1382
- $scope.authorizationEncryptedResponseAlg = $scope.client.attributes['authorization.encrypted.response.alg'];
1383
- $scope.authorizationEncryptedResponseEnc = $scope.client.attributes['authorization.encrypted.response.enc'];
1384
- $scope.userInfoEncryptedResponseAlg = $scope.client.attributes['user.info.encrypted.response.alg'];
1385
- $scope.userInfoEncryptedResponseEnc = $scope.client.attributes['user.info.encrypted.response.enc'];
1386
-
1387
- var attrVal1 = $scope.client.attributes['user.info.response.signature.alg'];
1388
- $scope.userInfoSignedResponseAlg = attrVal1==null ? 'unsigned' : attrVal1;
1389
-
1390
- var attrVal2 = $scope.client.attributes['request.object.signature.alg'];
1391
- $scope.requestObjectSignatureAlg = attrVal2==null ? 'any' : attrVal2;
1392
-
1393
- var attrVal3 = $scope.client.attributes['request.object.required'];
1394
- $scope.requestObjectRequired = attrVal3==null ? 'not required' : attrVal3;
1395
-
1396
- var attrVal4 = $scope.client.attributes['pkce.code.challenge.method'];
1397
- $scope.pkceCodeChallengeMethod = attrVal4==null ? 'none' : attrVal4;
1398
-
1399
- var attrVal5 = $scope.client.attributes['ciba.backchannel.auth.request.signing.alg'];
1400
- $scope.cibaBackchannelAuthRequestSigningAlg = attrVal5==null ? 'none' : attrVal5;
1401
-
1402
- var attrVal6 = $scope.client.attributes['request.object.encryption.alg'];
1403
- $scope.requestObjectEncryptionAlg = attrVal6==null ? 'any' : attrVal6;
1404
-
1405
- var attrVal7 = $scope.client.attributes['request.object.encryption.enc'];
1406
- $scope.requestObjectEncryptionEnc = attrVal7==null ? 'any' : attrVal7;
1407
-
1408
- var attrVal8 = $scope.client.attributes['ciba.backchannel.auth.request.signing.alg'];
1409
- $scope.cibaBackchannelAuthRequestSigningAlg = attrVal8==null ? 'any' : attrVal8;
1410
-
1411
- if ($scope.client.attributes["exclude.session.state.from.auth.response"]) {
1412
- if ($scope.client.attributes["exclude.session.state.from.auth.response"] == "true") {
1413
- $scope.excludeSessionStateFromAuthResponse = true;
1414
- } else {
1415
- $scope.excludeSessionStateFromAuthResponse = false;
1416
- }
1417
- }
1418
-
1419
- if ($scope.client.attributes["oauth2.device.authorization.grant.enabled"]) {
1420
- if ($scope.client.attributes["oauth2.device.authorization.grant.enabled"] == "true") {
1421
- $scope.oauth2DeviceAuthorizationGrantEnabled = true;
1422
- } else {
1423
- $scope.oauth2DeviceAuthorizationGrantEnabled = false;
1424
- }
1425
- }
1426
-
1427
- if ($scope.client.attributes["oidc.ciba.grant.enabled"]) {
1428
- if ($scope.client.attributes["oidc.ciba.grant.enabled"] == "true") {
1429
- $scope.oidcCibaGrantEnabled = true;
1430
- } else {
1431
- $scope.oidcCibaGrantEnabled = false;
1432
- }
1433
- }
1434
-
1435
- $scope.cibaBackchannelTokenDeliveryMode = $scope.client.attributes['ciba.backchannel.token.delivery.mode'];
1436
-
1437
- if ($scope.client.attributes["use.refresh.tokens"]) {
1438
- if ($scope.client.attributes["use.refresh.tokens"] == "true") {
1439
- $scope.useRefreshTokens = true;
1440
- } else {
1441
- $scope.useRefreshTokens = false;
1442
- }
1443
- }
1444
-
1445
- if ($scope.client.attributes["id.token.as.detached.signature"]) {
1446
- if ($scope.client.attributes["id.token.as.detached.signature"] == "true") {
1447
- $scope.useIdTokenAsDetachedSignature = true;
1448
- } else {
1449
- $scope.useIdTokenAsDetachedSignature = false;
1450
- }
1451
- }
1452
-
1453
- // KEYCLOAK-6771 Certificate Bound Token
1454
- // https://tools.ietf.org/html/draft-ietf-oauth-mtls-08#section-3
1455
- if ($scope.client.attributes["tls.client.certificate.bound.access.tokens"]) {
1456
- if ($scope.client.attributes["tls.client.certificate.bound.access.tokens"] == "true") {
1457
- $scope.tlsClientCertificateBoundAccessTokens = true;
1458
- } else {
1459
- $scope.tlsClientCertificateBoundAccessTokens = false;
1460
- }
1461
- }
1462
-
1463
- // PAR request.
1464
- if ($scope.client.attributes["require.pushed.authorization.requests"]) {
1465
- if ($scope.client.attributes["require.pushed.authorization.requests"] == "true") {
1466
- $scope.requirePushedAuthorizationRequests = true;
1467
- } else {
1468
- $scope.requirePushedAuthorizationRequests = false;
1469
- }
1470
- }
1471
-
1472
- var useRefreshToken = $scope.client.attributes["client_credentials.use_refresh_token"];
1473
- if (useRefreshToken === "true") {
1474
- $scope.useRefreshTokenForClientCredentialsGrant = true;
1475
- } else {
1476
- $scope.useRefreshTokenForClientCredentialsGrant = false;
1477
- }
1478
-
1479
- var useLowerCaseBearerTypeInTokenResponse = $scope.client.attributes["token.response.type.bearer.lower-case"];
1480
- if (useLowerCaseBearerTypeInTokenResponse === "true") {
1481
- $scope.useLowerCaseBearerTypeInTokenResponse = true;
1482
- } else {
1483
- $scope.useLowerCaseBearerTypeInTokenResponse = false;
1484
- }
1485
-
1486
- if ($scope.client.attributes["display.on.consent.screen"]) {
1487
- if ($scope.client.attributes["display.on.consent.screen"] == "true") {
1488
- $scope.displayOnConsentScreen = true;
1489
- } else {
1490
- $scope.displayOnConsentScreen = false;
1491
- }
1492
- }
1493
-
1494
- if ($scope.client.attributes["backchannel.logout.session.required"]) {
1495
- if ($scope.client.attributes["backchannel.logout.session.required"] == "true") {
1496
- $scope.backchannelLogoutSessionRequired = true;
1497
- } else {
1498
- $scope.backchannelLogoutSessionRequired = false;
1499
- }
1500
- }
1501
-
1502
- if ($scope.client.attributes["backchannel.logout.revoke.offline.tokens"]) {
1503
- if ($scope.client.attributes["backchannel.logout.revoke.offline.tokens"] == "true") {
1504
- $scope.backchannelLogoutRevokeOfflineSessions = true;
1505
- } else {
1506
- $scope.backchannelLogoutRevokeOfflineSessions = false;
1507
- }
1508
- }
1509
-
1510
- if ($scope.client.attributes["frontchannel.logout.session.required"]) {
1511
- if ($scope.client.attributes["frontchannel.logout.session.required"] == "true") {
1512
- $scope.frontchannelLogoutSessionRequired = true;
1513
- } else {
1514
- $scope.frontchannelLogoutSessionRequired = false;
1515
- }
1516
- }
1517
-
1518
- if ($scope.client.attributes["request.uris"] && $scope.client.attributes["request.uris"].length > 0) {
1519
- $scope.client.requestUris = $scope.client.attributes["request.uris"].split("##");
1520
- } else {
1521
- $scope.client.requestUris = [];
1522
- }
1523
-
1524
- if ($scope.client.attributes["post.logout.redirect.uris"] && $scope.client.attributes["post.logout.redirect.uris"].length > 0) {
1525
- $scope.postLogoutRedirectUris = $scope.client.attributes["post.logout.redirect.uris"].split("##");
1526
- } else {
1527
- $scope.postLogoutRedirectUris = [];
1528
- }
1529
-
1530
- if ($scope.client.attributes["default.acr.values"] && $scope.client.attributes["default.acr.values"].length > 0) {
1531
- $scope.defaultAcrValues = $scope.client.attributes["default.acr.values"].split("##");
1532
- } else {
1533
- $scope.defaultAcrValues = [];
1534
- }
1535
- deletedSomeDefaultAcrValue = false;
1536
-
1537
- try {
1538
- $scope.acrLoaMap = JSON.parse($scope.client.attributes["acr.loa.map"] || "{}");
1539
- } catch (e) {
1540
- $scope.acrLoaMap = {};
1541
- }
1542
- }
1543
-
1544
- if (!$scope.create) {
1545
- $scope.client = client;
1546
- updateProperties();
1547
-
1548
- $scope.clientEdit = angular.copy(client);
1549
- }
1550
-
1551
-
1552
- $scope.samlIdpInitiatedUrl = function(ssoName) {
1553
- return encodeURI($location.absUrl().replace(/\/admin.*/, "/realms/") + realm.realm + "/protocol/saml/clients/") + encodeURIComponent(ssoName)
1554
- }
1555
-
1556
- $scope.importFile = function(fileContent){
1557
- console.debug(fileContent);
1558
- ClientDescriptionConverter.save({
1559
- realm: realm.realm
1560
- }, fileContent, function (data) {
1561
- $scope.client = data;
1562
- updateProperties();
1563
- $scope.importing = true;
1564
-
1565
- $scope.clientEdit = angular.copy(client);
1566
- });
1567
- };
1568
-
1569
- $scope.viewImportDetails = function() {
1570
- $modal.open({
1571
- templateUrl: resourceUrl + '/partials/modal/view-object.html',
1572
- controller: 'ObjectModalCtrl',
1573
- resolve: {
1574
- object: function () {
1575
- return $scope.client;
1576
- }
1577
- }
1578
- })
1579
- };
1580
-
1581
- $scope.switchChange = function() {
1582
- $scope.changed = true;
1583
- }
1584
-
1585
- $scope.changeAccessType = function() {
1586
- if ($scope.accessType == "confidential") {
1587
- $scope.clientEdit.bearerOnly = false;
1588
- $scope.clientEdit.publicClient = false;
1589
- } else if ($scope.accessType == "public") {
1590
- $scope.clientEdit.bearerOnly = false;
1591
- $scope.clientEdit.publicClient = true;
1592
- } else if ($scope.accessType == "bearer-only") {
1593
- $scope.clientEdit.bearerOnly = true;
1594
- $scope.clientEdit.publicClient = false;
1595
- $scope.clientEdit.alwaysDisplayInConsole = false;
1596
- }
1597
- };
1598
-
1599
- $scope.changeProtocol = function() {
1600
- if ($scope.protocol == "openid-connect") {
1601
- $scope.clientEdit.protocol = "openid-connect";
1602
- } else if ($scope.protocol == "saml") {
1603
- $scope.clientEdit.protocol = "saml";
1604
- }
1605
- };
1606
-
1607
- $scope.changeAlgorithm = function() {
1608
- $scope.clientEdit.attributes['saml.signature.algorithm'] = $scope.signatureAlgorithm;
1609
- };
1610
-
1611
- $scope.changeNameIdFormat = function() {
1612
- $scope.clientEdit.attributes['saml_name_id_format'] = $scope.nameIdFormat;
1613
- };
1614
-
1615
- $scope.changeSamlSigKeyNameTranformer = function() {
1616
- $scope.clientEdit.attributes['saml.server.signature.keyinfo.xmlSigKeyInfoKeyNameTransformer'] = $scope.samlXmlKeyNameTranformer;
1617
- };
1618
-
1619
- $scope.changeAccessTokenSignedResponseAlg = function() {
1620
- $scope.clientEdit.attributes['access.token.signed.response.alg'] = $scope.accessTokenSignedResponseAlg;
1621
- };
1622
-
1623
- $scope.changeIdTokenSignedResponseAlg = function() {
1624
- $scope.clientEdit.attributes['id.token.signed.response.alg'] = $scope.idTokenSignedResponseAlg;
1625
- };
1626
-
1627
- $scope.changeIdTokenEncryptedResponseAlg = function() {
1628
- $scope.clientEdit.attributes['id.token.encrypted.response.alg'] = $scope.idTokenEncryptedResponseAlg;
1629
- };
1630
-
1631
- $scope.changeIdTokenEncryptedResponseEnc = function() {
1632
- $scope.clientEdit.attributes['id.token.encrypted.response.enc'] = $scope.idTokenEncryptedResponseEnc;
1633
- };
1634
-
1635
- $scope.changeUserInfoSignedResponseAlg = function() {
1636
- if ($scope.userInfoSignedResponseAlg === 'unsigned') {
1637
- $scope.clientEdit.attributes['user.info.response.signature.alg'] = null;
1638
- } else {
1639
- $scope.clientEdit.attributes['user.info.response.signature.alg'] = $scope.userInfoSignedResponseAlg;
1640
- }
1641
- };
1642
-
1643
- $scope.changeRequestObjectSignatureAlg = function() {
1644
- if ($scope.requestObjectSignatureAlg === 'any') {
1645
- $scope.clientEdit.attributes['request.object.signature.alg'] = null;
1646
- } else {
1647
- $scope.clientEdit.attributes['request.object.signature.alg'] = $scope.requestObjectSignatureAlg;
1648
- }
1649
- };
1650
-
1651
- $scope.changeRequestObjectRequired = function() {
1652
- if ($scope.requestObjectRequired === 'not required') {
1653
- $scope.clientEdit.attributes['request.object.required'] = null;
1654
- } else {
1655
- $scope.clientEdit.attributes['request.object.required'] = $scope.requestObjectRequired;
1656
- }
1657
- };
1658
-
1659
- $scope.changeRequestObjectEncryptionAlg = function() {
1660
- if ($scope.requestObjectEncryptionAlg === 'any') {
1661
- $scope.clientEdit.attributes['request.object.encryption.alg'] = null;
1662
- } else {
1663
- $scope.clientEdit.attributes['request.object.encryption.alg'] = $scope.requestObjectEncryptionAlg;
1664
- }
1665
- };
1666
-
1667
- $scope.changeRequestObjectEncryptionEnc = function() {
1668
- if ($scope.requestObjectEncryptionEnc === 'any') {
1669
- $scope.clientEdit.attributes['request.object.encryption.enc'] = null;
1670
- } else {
1671
- $scope.clientEdit.attributes['request.object.encryption.enc'] = $scope.requestObjectEncryptionEnc;
1672
- }
1673
- };
1674
-
1675
- $scope.changeUserInfoEncryptedResponseAlg = function() {
1676
- $scope.clientEdit.attributes['user.info.encrypted.response.alg'] = $scope.userInfoEncryptedResponseAlg;
1677
- };
1678
-
1679
- $scope.changeUserInfoEncryptedResponseEnc = function() {
1680
- $scope.clientEdit.attributes['user.info.encrypted.response.enc'] = $scope.userInfoEncryptedResponseEnc;
1681
- };
1682
-
1683
- $scope.changePkceCodeChallengeMethod = function() {
1684
- $scope.clientEdit.attributes['pkce.code.challenge.method'] = $scope.pkceCodeChallengeMethod;
1685
- };
1686
-
1687
- $scope.$watch('newAcr', function() {
1688
- $scope.changed = isChanged();
1689
- }, true);
1690
- $scope.$watch('newLoa', function() {
1691
- $scope.changed = isChanged();
1692
- }, true);
1693
- $scope.deleteAcrLoaMapping = function(acr) {
1694
- delete $scope.acrLoaMap[acr];
1695
- $scope.changed = true;
1696
- }
1697
- $scope.addAcrLoaMapping = function() {
1698
- if ($scope.newLoa.match(/^[0-9]+$/)) {
1699
- $scope.acrLoaMap[$scope.newAcr] = $scope.newLoa;
1700
- $scope.newAcr = $scope.newLoa = "";
1701
- $scope.changed = true;
1702
- }
1703
- }
1704
-
1705
- $scope.changeCibaBackchannelAuthRequestSigningAlg = function() {
1706
- if ($scope.cibaBackchannelAuthRequestSigningAlg === 'any') {
1707
- $scope.clientEdit.attributes['ciba.backchannel.auth.request.signing.alg'] = null;
1708
- } else {
1709
- $scope.clientEdit.attributes['ciba.backchannel.auth.request.signing.alg'] = $scope.cibaBackchannelAuthRequestSigningAlg;
1710
- }
1711
- };
1712
-
1713
- $scope.changeCibaBackchannelTokenDeliveryMode = function() {
1714
- $scope.clientEdit.attributes['ciba.backchannel.token.delivery.mode'] = $scope.cibaBackchannelTokenDeliveryMode;
1715
- };
1716
-
1717
- $scope.changeAuthorizationSignedResponseAlg = function() {
1718
- $scope.clientEdit.attributes['authorization.signed.response.alg'] = $scope.authorizationSignedResponseAlg;
1719
- };
1720
-
1721
- $scope.changeAuthorizationEncryptedResponseAlg = function() {
1722
- $scope.clientEdit.attributes['authorization.encrypted.response.alg'] = $scope.authorizationEncryptedResponseAlg;
1723
- };
1724
-
1725
- $scope.changeAuthorizationEncryptedResponseEnc = function() {
1726
- $scope.clientEdit.attributes['authorization.encrypted.response.enc'] = $scope.authorizationEncryptedResponseEnc;
1727
- };
1728
-
1729
- $scope.$watch(function() {
1730
- return $location.path();
1731
- }, function() {
1732
- $scope.path = $location.path().substring(1).split("/");
1733
- });
1734
-
1735
- function isChanged() {
1736
- if (!angular.equals($scope.client, $scope.clientEdit)) {
1737
- return true;
1738
- }
1739
- if ($scope.newRedirectUri && $scope.newRedirectUri.length > 0) {
1740
- return true;
1741
- }
1742
- if ($scope.newPostLogoutRedirectUri && $scope.newPostLogoutRedirectUri.length > 0) {
1743
- return true;
1744
- }
1745
- if ($scope.newWebOrigin && $scope.newWebOrigin.length > 0) {
1746
- return true;
1747
- }
1748
- if ($scope.newRequestUri && $scope.newRequestUri.length > 0) {
1749
- return true;
1750
- }
1751
- if ($scope.newDefaultAcrValue && $scope.newDefaultAcrValue.length > 0) {
1752
- return true;
1753
- }
1754
- if (deletedSomeDefaultAcrValue) return true;
1755
- if ($scope.newAcr && $scope.newAcr.length > 0 && $scope.newLoa && $scope.newLoa.length > 0) {
1756
- return true;
1757
- }
1758
- return false;
1759
- }
1760
-
1761
- $scope.updateTimeouts = function() {
1762
- if ($scope.accessTokenLifespan.time) {
1763
- if ($scope.accessTokenLifespan.time === -1) {
1764
- $scope.clientEdit.attributes['access.token.lifespan'] = -1;
1765
- } else {
1766
- $scope.clientEdit.attributes['access.token.lifespan'] = $scope.accessTokenLifespan.toSeconds();
1767
- }
1768
- } else {
1769
- $scope.clientEdit.attributes['access.token.lifespan'] = null;
1770
- }
1771
- }
1772
-
1773
- $scope.updateAssertionLifespan = function() {
1774
- if ($scope.samlAssertionLifespan.time) {
1775
- $scope.clientEdit.attributes['saml.assertion.lifespan'] = $scope.samlAssertionLifespan.toSeconds();
1776
- } else {
1777
- $scope.clientEdit.attributes['saml.assertion.lifespan'] = null;
1778
- }
1779
- }
1780
-
1781
- $scope.updateClientSessionIdleTimeout = function() {
1782
- if ($scope.clientSessionIdleTimeout.time) {
1783
- $scope.clientEdit.attributes['client.session.idle.timeout'] = $scope.clientSessionIdleTimeout.toSeconds();
1784
- } else {
1785
- $scope.clientEdit.attributes['client.session.idle.timeout'] = null;
1786
- }
1787
- }
1788
-
1789
- $scope.updateClientSessionMaxLifespan = function() {
1790
- if ($scope.clientSessionMaxLifespan.time) {
1791
- $scope.clientEdit.attributes['client.session.max.lifespan'] = $scope.clientSessionMaxLifespan.toSeconds();
1792
- } else {
1793
- $scope.clientEdit.attributes['client.session.max.lifespan'] = null;
1794
- }
1795
- }
1796
-
1797
- $scope.updateClientOfflineSessionIdleTimeout = function() {
1798
- if ($scope.clientOfflineSessionIdleTimeout.time) {
1799
- $scope.clientEdit.attributes['client.offline.session.idle.timeout'] = $scope.clientOfflineSessionIdleTimeout.toSeconds();
1800
- } else {
1801
- $scope.clientEdit.attributes['client.offline.session.idle.timeout'] = null;
1802
- }
1803
- }
1804
-
1805
- $scope.updateClientOfflineSessionMaxLifespan = function() {
1806
- if ($scope.clientOfflineSessionMaxLifespan.time) {
1807
- $scope.clientEdit.attributes['client.offline.session.max.lifespan'] = $scope.clientOfflineSessionMaxLifespan.toSeconds();
1808
- } else {
1809
- $scope.clientEdit.attributes['client.offline.session.max.lifespan'] = null;
1810
- }
1811
- }
1812
-
1813
- $scope.updateOauth2DeviceCodeLifespan = function() {
1814
- if ($scope.oauth2DeviceCodeLifespan.time) {
1815
- $scope.clientEdit.attributes['oauth2.device.code.lifespan'] = $scope.oauth2DeviceCodeLifespan.toSeconds();
1816
- } else {
1817
- $scope.clientEdit.attributes['oauth2.device.code.lifespan'] = null;
1818
- }
1819
- }
1820
-
1821
- $scope.updateOauth2DevicePollingInterval = function() {
1822
- if ($scope.oauth2DevicePollingInterval) {
1823
- $scope.clientEdit.attributes['oauth2.device.polling.interval'] = $scope.oauth2DevicePollingInterval;
1824
- } else {
1825
- $scope.clientEdit.attributes['oauth2.device.polling.interval'] = null;
1826
- }
1827
- }
1828
-
1829
- $scope.confirmChangeAuthzSettings = function($event) {
1830
- if ($scope.client.authorizationServicesEnabled && $scope.clientEdit.authorizationServicesEnabled) {
1831
- $event.preventDefault();
1832
- Dialog.confirm("Disable Authorization Settings", "Are you sure you want to disable authorization ? Once you save your changes, all authorization settings associated with this client will be removed. This operation can not be reverted.", function () {
1833
- $scope.clientEdit.authorizationServicesEnabled = false;
1834
- }, function () {
1835
- $scope.clientEdit.authorizationServicesEnabled = true;
1836
- });
1837
- }
1838
- }
1839
-
1840
- function configureAuthorizationServices() {
1841
- if ($scope.clientEdit.authorizationServicesEnabled) {
1842
- if ($scope.accessType == 'public') {
1843
- $scope.accessType = 'confidential';
1844
- }
1845
- $scope.clientEdit.publicClient = false;
1846
- $scope.clientEdit.serviceAccountsEnabled = true;
1847
- } else if ($scope.clientEdit.bearerOnly) {
1848
- $scope.clientEdit.serviceAccountsEnabled = false;
1849
- }
1850
- }
1851
-
1852
- $scope.$watch('clientEdit', function() {
1853
- $scope.changed = isChanged();
1854
- configureAuthorizationServices();
1855
- }, true);
1856
-
1857
- $scope.$watch('newRedirectUri', function() {
1858
- $scope.changed = isChanged();
1859
- }, true);
1860
-
1861
- $scope.$watch('newPostLogoutRedirectUri', function() {
1862
- $scope.changed = isChanged();
1863
- }, true);
1864
-
1865
- $scope.$watch('newWebOrigin', function() {
1866
- $scope.changed = isChanged();
1867
- }, true);
1868
-
1869
- $scope.$watch('newRequestUri', function() {
1870
- $scope.changed = isChanged();
1871
- }, true);
1872
-
1873
- $scope.$watch('newDefaultAcrValue', function() {
1874
- $scope.changed = isChanged();
1875
- }, true);
1876
-
1877
- $scope.deleteWebOrigin = function(index) {
1878
- $scope.clientEdit.webOrigins.splice(index, 1);
1879
- }
1880
- $scope.addWebOrigin = function() {
1881
- $scope.clientEdit.webOrigins.push($scope.newWebOrigin);
1882
- $scope.newWebOrigin = "";
1883
- }
1884
- $scope.deleteRequestUri = function(index) {
1885
- $scope.clientEdit.requestUris.splice(index, 1);
1886
- }
1887
- $scope.addRequestUri = function() {
1888
- $scope.clientEdit.requestUris.push($scope.newRequestUri);
1889
- $scope.newRequestUri = "";
1890
- }
1891
- $scope.deleteDefaultAcrValue = function(index) {
1892
- $scope.defaultAcrValues.splice(index, 1);
1893
- deletedSomeDefaultAcrValue = true;
1894
- $scope.changed = isChanged();
1895
- }
1896
- $scope.addDefaultAcrValue = function() {
1897
- $scope.defaultAcrValues.push($scope.newDefaultAcrValue);
1898
- $scope.newDefaultAcrValue = "";
1899
- }
1900
- $scope.deleteRedirectUri = function(index) {
1901
- $scope.clientEdit.redirectUris.splice(index, 1);
1902
- }
1903
-
1904
- $scope.addRedirectUri = function() {
1905
- $scope.clientEdit.redirectUris.push($scope.newRedirectUri);
1906
- $scope.newRedirectUri = "";
1907
- }
1908
-
1909
- $scope.deletePostLogoutRedirectUri = function(index) {
1910
- $scope.postLogoutRedirectUris.splice(index, 1);
1911
- }
1912
-
1913
- $scope.addPostLogoutRedirectUri = function() {
1914
- $scope.postLogoutRedirectUris.push($scope.newPostLogoutRedirectUri);
1915
- $scope.newPostLogoutRedirectUri = "";
1916
- }
1917
-
1918
- $scope.save = function() {
1919
- if ($scope.newRedirectUri && $scope.newRedirectUri.length > 0) {
1920
- $scope.addRedirectUri();
1921
- }
1922
-
1923
- if ($scope.newWebOrigin && $scope.newWebOrigin.length > 0) {
1924
- $scope.addWebOrigin();
1925
- }
1926
-
1927
- if ($scope.newRequestUri && $scope.newRequestUri.length > 0) {
1928
- $scope.addRequestUri();
1929
- }
1930
- if ($scope.clientEdit.requestUris && $scope.clientEdit.requestUris.length > 0) {
1931
- $scope.clientEdit.attributes["request.uris"] = $scope.clientEdit.requestUris.join("##");
1932
- } else {
1933
- $scope.clientEdit.attributes["request.uris"] = null;
1934
- }
1935
-
1936
- if ($scope.postLogoutRedirectUris && $scope.postLogoutRedirectUris.length > 0) {
1937
- $scope.clientEdit.attributes["post.logout.redirect.uris"] = $scope.postLogoutRedirectUris.join("##");
1938
- } else {
1939
- $scope.clientEdit.attributes["post.logout.redirect.uris"] = null;
1940
- }
1941
-
1942
- if (!$scope.clientEdit.frontchannelLogout) {
1943
- $scope.clientEdit.attributes["frontchannel.logout.url"] = null;
1944
- }
1945
- delete $scope.clientEdit.requestUris;
1946
-
1947
- if ($scope.newDefaultAcrValue && $scope.newDefaultAcrValue.length > 0) {
1948
- $scope.addDefaultAcrValue();
1949
- }
1950
- if ($scope.defaultAcrValues && $scope.defaultAcrValues.length > 0) {
1951
- $scope.clientEdit.attributes["default.acr.values"] = $scope.defaultAcrValues.join("##");
1952
- } else {
1953
- $scope.clientEdit.attributes["default.acr.values"] = null;
1954
- }
1955
-
1956
- if ($scope.samlArtifactBinding == true) {
1957
- $scope.clientEdit.attributes["saml.artifact.binding"] = "true";
1958
- } else {
1959
- $scope.clientEdit.attributes["saml.artifact.binding"] = "false";
1960
- }
1961
-
1962
- if ($scope.newAcr && $scope.newAcr.length > 0 && $scope.newLoa && $scope.newLoa.length > 0) {
1963
- $scope.addAcrLoaMapping();
1964
- }
1965
-
1966
- if ($scope.samlServerSignature == true) {
1967
- $scope.clientEdit.attributes["saml.server.signature"] = "true";
1968
- } else {
1969
- $scope.clientEdit.attributes["saml.server.signature"] = "false";
1970
- }
1971
- if ($scope.samlServerSignatureEnableKeyInfoExtension == true) {
1972
- $scope.clientEdit.attributes["saml.server.signature.keyinfo.ext"] = "true";
1973
- } else {
1974
- $scope.clientEdit.attributes["saml.server.signature.keyinfo.ext"] = "false";
1975
- }
1976
- if ($scope.samlAssertionSignature == true) {
1977
- $scope.clientEdit.attributes["saml.assertion.signature"] = "true";
1978
- } else {
1979
- $scope.clientEdit.attributes["saml.assertion.signature"] = "false";
1980
- }
1981
- if ($scope.samlClientSignature == true) {
1982
- $scope.clientEdit.attributes["saml.client.signature"] = "true";
1983
- } else {
1984
- $scope.clientEdit.attributes["saml.client.signature"] = "false";
1985
-
1986
- }
1987
- if ($scope.samlEncrypt == true) {
1988
- $scope.clientEdit.attributes["saml.encrypt"] = "true";
1989
- } else {
1990
- $scope.clientEdit.attributes["saml.encrypt"] = "false";
1991
-
1992
- }
1993
- if ($scope.samlAuthnStatement == true) {
1994
- $scope.clientEdit.attributes["saml.authnstatement"] = "true";
1995
- } else {
1996
- $scope.clientEdit.attributes["saml.authnstatement"] = "false";
1997
-
1998
- }
1999
- if ($scope.samlOneTimeUseCondition == true) {
2000
- $scope.clientEdit.attributes["saml.onetimeuse.condition"] = "true";
2001
- } else {
2002
- $scope.clientEdit.attributes["saml.onetimeuse.condition"] = "false";
2003
-
2004
- }
2005
- if ($scope.samlForceNameIdFormat == true) {
2006
- $scope.clientEdit.attributes["saml_force_name_id_format"] = "true";
2007
- } else {
2008
- $scope.clientEdit.attributes["saml_force_name_id_format"] = "false";
2009
-
2010
- }
2011
- if ($scope.samlAllowECPFlow == true) {
2012
- $scope.clientEdit.attributes["saml.allow.ecp.flow"] = "true";
2013
- } else {
2014
- $scope.clientEdit.attributes["saml.allow.ecp.flow"] = "false";
2015
-
2016
- }
2017
- if ($scope.samlMultiValuedRoles == true) {
2018
- $scope.clientEdit.attributes["saml.multivalued.roles"] = "true";
2019
- } else {
2020
- $scope.clientEdit.attributes["saml.multivalued.roles"] = "false";
2021
-
2022
- }
2023
- if ($scope.samlForcePostBinding == true) {
2024
- $scope.clientEdit.attributes["saml.force.post.binding"] = "true";
2025
- } else {
2026
- $scope.clientEdit.attributes["saml.force.post.binding"] = "false";
2027
-
2028
- }
2029
-
2030
- if ($scope.excludeSessionStateFromAuthResponse == true) {
2031
- $scope.clientEdit.attributes["exclude.session.state.from.auth.response"] = "true";
2032
- } else {
2033
- $scope.clientEdit.attributes["exclude.session.state.from.auth.response"] = "false";
2034
-
2035
- }
2036
-
2037
- if ($scope.oauth2DeviceAuthorizationGrantEnabled == true) {
2038
- $scope.clientEdit.attributes["oauth2.device.authorization.grant.enabled"] = "true";
2039
- } else {
2040
- $scope.clientEdit.attributes["oauth2.device.authorization.grant.enabled"] = "false";
2041
- }
2042
-
2043
- if ($scope.oidcCibaGrantEnabled == true) {
2044
- $scope.clientEdit.attributes["oidc.ciba.grant.enabled"] = "true";
2045
- } else {
2046
- $scope.clientEdit.attributes["oidc.ciba.grant.enabled"] = "false";
2047
- }
2048
-
2049
- if ($scope.useRefreshTokens == true) {
2050
- $scope.clientEdit.attributes["use.refresh.tokens"] = "true";
2051
- } else {
2052
- $scope.clientEdit.attributes["use.refresh.tokens"] = "false";
2053
- }
2054
-
2055
- if ($scope.useIdTokenAsDetachedSignature == true) {
2056
- $scope.clientEdit.attributes["id.token.as.detached.signature"] = "true";
2057
- } else {
2058
- $scope.clientEdit.attributes["id.token.as.detached.signature"] = "false";
2059
- }
2060
-
2061
- // KEYCLOAK-6771 Certificate Bound Token
2062
- // https://tools.ietf.org/html/draft-ietf-oauth-mtls-08#section-3
2063
- if ($scope.tlsClientCertificateBoundAccessTokens == true) {
2064
- $scope.clientEdit.attributes["tls.client.certificate.bound.access.tokens"] = "true";
2065
- } else {
2066
- $scope.clientEdit.attributes["tls.client.certificate.bound.access.tokens"] = "false";
2067
- }
2068
-
2069
- // PAR request.
2070
- if ($scope.requirePushedAuthorizationRequests == true) {
2071
- $scope.clientEdit.attributes["require.pushed.authorization.requests"] = "true";
2072
- } else {
2073
- $scope.clientEdit.attributes["require.pushed.authorization.requests"] = "false";
2074
- }
2075
-
2076
- // KEYCLOAK-9551 Client Credentials Grant generates refresh token
2077
- // https://tools.ietf.org/html/rfc6749#section-4.4.3
2078
- if ($scope.useRefreshTokenForClientCredentialsGrant === true) {
2079
- $scope.clientEdit.attributes["client_credentials.use_refresh_token"] = "true";
2080
- } else {
2081
- $scope.clientEdit.attributes["client_credentials.use_refresh_token"] = "false";
2082
- }
2083
-
2084
- if ($scope.useLowerCaseBearerTypeInTokenResponse === true) {
2085
- $scope.clientEdit.attributes["token.response.type.bearer.lower-case"] = "true";
2086
- } else {
2087
- $scope.clientEdit.attributes["token.response.type.bearer.lower-case"] = "false";
2088
- }
2089
-
2090
- if ($scope.displayOnConsentScreen == true) {
2091
- $scope.clientEdit.attributes["display.on.consent.screen"] = "true";
2092
- } else {
2093
- $scope.clientEdit.attributes["display.on.consent.screen"] = "false";
2094
- }
2095
-
2096
- if ($scope.backchannelLogoutSessionRequired == true) {
2097
- $scope.clientEdit.attributes["backchannel.logout.session.required"] = "true";
2098
- } else {
2099
- $scope.clientEdit.attributes["backchannel.logout.session.required"] = "false";
2100
- }
2101
-
2102
- if ($scope.backchannelLogoutRevokeOfflineSessions == true) {
2103
- $scope.clientEdit.attributes["backchannel.logout.revoke.offline.tokens"] = "true";
2104
- } else {
2105
- $scope.clientEdit.attributes["backchannel.logout.revoke.offline.tokens"] = "false";
2106
- }
2107
-
2108
- if ($scope.frontchannelLogoutSessionRequired == true) {
2109
- $scope.clientEdit.attributes["frontchannel.logout.session.required"] = "true";
2110
- } else {
2111
- $scope.clientEdit.attributes["frontchannel.logout.session.required"] = "false";
2112
- }
2113
-
2114
- $scope.clientEdit.attributes["acr.loa.map"] = JSON.stringify($scope.acrLoaMap);
2115
-
2116
- $scope.clientEdit.protocol = $scope.protocol;
2117
- $scope.clientEdit.attributes['saml.signature.algorithm'] = $scope.signatureAlgorithm;
2118
- $scope.clientEdit.attributes['saml_name_id_format'] = $scope.nameIdFormat;
2119
-
2120
- if ($scope.clientEdit.protocol != 'saml' && !$scope.clientEdit.bearerOnly && ($scope.clientEdit.standardFlowEnabled || $scope.clientEdit.implicitFlowEnabled) && (!$scope.clientEdit.redirectUris || $scope.clientEdit.redirectUris.length == 0)) {
2121
- Notifications.error("You must specify at least one redirect uri");
2122
- } else {
2123
- Client.update({
2124
- realm : realm.realm,
2125
- client : client.id
2126
- }, $scope.clientEdit, function() {
2127
- $route.reload();
2128
- Notifications.success("Your changes have been saved to the client.");
2129
- });
2130
- }
2131
- };
2132
-
2133
- $scope.reset = function() {
2134
- $route.reload();
2135
- };
2136
-
2137
- $scope.cancel = function() {
2138
- $location.url("/realms/" + realm.realm + "/clients");
2139
- };
2140
- });
2141
-
2142
- module.controller('CreateClientCtrl', function($scope, realm, client, $route, serverInfo, Client, ClientDescriptionConverter, $location, $modal, Dialog, Notifications) {
2143
- $scope.protocols = serverInfo.listProviderIds('login-protocol');
2144
- $scope.create = true;
2145
-
2146
- $scope.realm = realm;
2147
-
2148
- $scope.client = {
2149
- enabled: true,
2150
- attributes: {}
2151
- };
2152
- $scope.client.redirectUris = [];
2153
- $scope.protocol = $scope.protocols[0];
2154
-
2155
-
2156
- $scope.importFile = function(fileContent){
2157
- console.debug(fileContent);
2158
- ClientDescriptionConverter.save({
2159
- realm: realm.realm
2160
- }, fileContent, function (data) {
2161
- $scope.client = data;
2162
- if (data.protocol) {
2163
- $scope.protocol = data.protocol;
2164
- }
2165
- $scope.importing = true;
2166
- });
2167
- };
2168
-
2169
- $scope.viewImportDetails = function() {
2170
- $modal.open({
2171
- templateUrl: resourceUrl + '/partials/modal/view-object.html',
2172
- controller: 'ObjectModalCtrl',
2173
- resolve: {
2174
- object: function () {
2175
- return $scope.client;
2176
- }
2177
- }
2178
- })
2179
- };
2180
-
2181
- $scope.switchChange = function() {
2182
- $scope.changed = true;
2183
- }
2184
-
2185
- $scope.changeProtocol = function() {
2186
- if ($scope.protocol == "openid-connect") {
2187
- $scope.client.protocol = "openid-connect";
2188
- } else if ($scope.protocol == "saml") {
2189
- $scope.client.protocol = "saml";
2190
- }
2191
- };
2192
-
2193
- $scope.$watch(function() {
2194
- return $location.path();
2195
- }, function() {
2196
- $scope.path = $location.path().substring(1).split("/");
2197
- });
2198
-
2199
- function isChanged() {
2200
- if (!angular.equals($scope.client, client)) {
2201
- return true;
2202
- }
2203
- return false;
2204
- }
2205
-
2206
- $scope.$watch('client', function() {
2207
- $scope.changed = isChanged();
2208
- }, true);
2209
-
2210
-
2211
- $scope.save = function() {
2212
- $scope.client.protocol = $scope.protocol;
2213
-
2214
- Client.save({
2215
- realm: realm.realm,
2216
- client: ''
2217
- }, $scope.client, function (data, headers) {
2218
- $scope.changed = false;
2219
- var l = headers().location;
2220
- var id = l.substring(l.lastIndexOf("/") + 1);
2221
- $location.url("/realms/" + realm.realm + "/clients/" + id);
2222
- Notifications.success("The client has been created.");
2223
- });
2224
- };
2225
-
2226
- $scope.reset = function() {
2227
- $route.reload();
2228
- };
2229
-
2230
- $scope.cancel = function() {
2231
- $location.url("/realms/" + realm.realm + "/clients");
2232
- };
2233
- });
2234
-
2235
- module.controller('ClientScopeMappingCtrl', function($scope, $http, realm, $route, client, clients, Notifications,
2236
- Client, ClientScope,
2237
- ClientRealmScopeMapping, ClientClientScopeMapping, ClientRole,
2238
- ClientAvailableRealmScopeMapping, ClientAvailableClientScopeMapping,
2239
- ClientCompositeRealmScopeMapping, ClientCompositeClientScopeMapping) {
2240
- $scope.realm = realm;
2241
- $scope.client = angular.copy(client);
2242
- $scope.selectedRealmRoles = [];
2243
- $scope.selectedRealmMappings = [];
2244
- $scope.realmMappings = [];
2245
- $scope.clients = clients;
2246
- $scope.clientRoles = [];
2247
- $scope.clientComposite = [];
2248
- $scope.selectedClientRoles = [];
2249
- $scope.selectedClientMappings = [];
2250
- $scope.clientMappings = [];
2251
- $scope.dummymodel = [];
2252
-
2253
- $scope.hideRoleSelector = function() {
2254
- return $scope.client.fullScopeAllowed;
2255
- }
2256
-
2257
- $scope.changeFlag = function(event) {
2258
- console.log('changeFlag');
2259
- event.stopPropagation();
2260
- event.preventDefault();
2261
- $scope.client.fullScopeAllowed = !$scope.client.fullScopeAllowed
2262
- Client.update({
2263
- realm : realm.realm,
2264
- client : client.id
2265
- }, $scope.client, function() {
2266
- $scope.changed = false;
2267
- client = angular.copy($scope.client);
2268
- updateRealmRoles();
2269
- Notifications.success("Scope mappings updated.");
2270
- });
2271
- }
2272
-
2273
-
2274
- $scope.selectedClient = null;
2275
-
2276
- $scope.selectClient = function(client) {
2277
- if (!client || !client.id) {
2278
- $scope.selectedClient = null;
2279
- return;
2280
- }
2281
-
2282
- $scope.selectedClient = client;
2283
- updateClientRoles();
2284
- }
2285
-
2286
- function updateRealmRoles() {
2287
- $scope.realmRoles = ClientAvailableRealmScopeMapping.query({realm : realm.realm, client : client.id});
2288
- $scope.realmMappings = ClientRealmScopeMapping.query({realm : realm.realm, client : client.id});
2289
- $scope.realmComposite = ClientCompositeRealmScopeMapping.query({realm : realm.realm, client : client.id});
2290
- }
2291
-
2292
- function updateClientRoles() {
2293
- if ($scope.selectedClient) {
2294
- $scope.clientRoles = ClientAvailableClientScopeMapping.query({realm : realm.realm, client : client.id, targetClient : $scope.selectedClient.id});
2295
- $scope.clientMappings = ClientClientScopeMapping.query({realm : realm.realm, client : client.id, targetClient : $scope.selectedClient.id});
2296
- $scope.clientComposite = ClientCompositeClientScopeMapping.query({realm : realm.realm, client : client.id, targetClient : $scope.selectedClient.id});
2297
- } else {
2298
- $scope.clientRoles = null;
2299
- $scope.clientMappings = null;
2300
- $scope.clientComposite = null;
2301
- }
2302
- }
2303
-
2304
- $scope.addRealmRole = function() {
2305
- $scope.selectedRealmRolesToAdd = JSON.parse('[' + $scope.selectedRealmRoles + ']');
2306
- $scope.selectedRealmRoles = [];
2307
- $http.post(authUrl + '/admin/realms/' + realm.realm + '/clients/' + client.id + '/scope-mappings/realm',
2308
- $scope.selectedRealmRolesToAdd).then(function() {
2309
- updateRealmRoles();
2310
- $scope.selectedRealmRolesToAdd = [];
2311
- Notifications.success("Scope mappings updated.");
2312
- });
2313
- };
2314
-
2315
- $scope.deleteRealmRole = function() {
2316
- $scope.selectedRealmMappingsToRemove = JSON.parse('[' + $scope.selectedRealmMappings + ']');
2317
- $scope.selectedRealmMappings = [];
2318
- $http.delete(authUrl + '/admin/realms/' + realm.realm + '/clients/' + client.id + '/scope-mappings/realm',
2319
- {data : $scope.selectedRealmMappingsToRemove, headers : {"content-type" : "application/json"}}).then(function () {
2320
- updateRealmRoles();
2321
- $scope.selectedRealmMappingsToRemove = [];
2322
- Notifications.success("Scope mappings updated.");
2323
- });
2324
- };
2325
-
2326
- $scope.addClientRole = function() {
2327
- $scope.selectedClientRolesToAdd = JSON.parse('[' + $scope.selectedClientRoles + ']');
2328
- $scope.selectedClientRoles = [];
2329
- $http.post(authUrl + '/admin/realms/' + realm.realm + '/clients/' + client.id + '/scope-mappings/clients/' + $scope.selectedClient.id,
2330
- $scope.selectedClientRolesToAdd).then(function () {
2331
- updateClientRoles();
2332
- $scope.selectedClientRolesToAdd = [];
2333
- Notifications.success("Scope mappings updated.");
2334
- });
2335
- };
2336
-
2337
- $scope.deleteClientRole = function() {
2338
- $scope.selectedClientMappingsToRemove = JSON.parse('[' + $scope.selectedClientMappings + ']');
2339
- $scope.selectedClientMappings = [];
2340
- $http.delete(authUrl + '/admin/realms/' + realm.realm + '/clients/' + client.id + '/scope-mappings/clients/' + $scope.selectedClient.id,
2341
- {data : $scope.selectedClientMappingsToRemove, headers : {"content-type" : "application/json"}}).then(function () {
2342
- updateClientRoles();
2343
- $scope.selectedClientMappingsToRemove = [];
2344
- Notifications.success("Scope mappings updated.");
2345
- });
2346
- };
2347
-
2348
- clientSelectControl($scope, $route.current.params.realm, Client);
2349
- updateRealmRoles();
2350
- });
2351
-
2352
- module.controller('ClientRevocationCtrl', function($scope, realm, client, Client, ClientPushRevocation, $location, Dialog, Notifications) {
2353
- $scope.realm = realm;
2354
- $scope.client = client;
2355
-
2356
- var setNotBefore = function() {
2357
- if ($scope.client.notBefore == 0) {
2358
- $scope.notBefore = "None";
2359
- } else {
2360
- $scope.notBefore = new Date($scope.client.notBefore * 1000);
2361
- }
2362
- };
2363
-
2364
- setNotBefore();
2365
-
2366
- var refresh = function() {
2367
- Client.get({ realm : realm.realm, client: $scope.client.id }, function(updated) {
2368
- $scope.client = updated;
2369
- setNotBefore();
2370
- })
2371
-
2372
- };
2373
-
2374
- $scope.clear = function() {
2375
- $scope.client.notBefore = 0;
2376
- Client.update({ realm : realm.realm, client: client.id}, $scope.client, function () {
2377
- $scope.notBefore = "None";
2378
- Notifications.success('Not Before cleared for client.');
2379
- refresh();
2380
- });
2381
- }
2382
- $scope.setNotBeforeNow = function() {
2383
- $scope.client.notBefore = new Date().getTime()/1000;
2384
- Client.update({ realm : realm.realm, client: $scope.client.id}, $scope.client, function () {
2385
- Notifications.success('Not Before set for client.');
2386
- refresh();
2387
- });
2388
- }
2389
- $scope.pushRevocation = function() {
2390
- ClientPushRevocation.save({realm : realm.realm, client: $scope.client.id}, function (globalReqResult) {
2391
- var successCount = globalReqResult.successRequests ? globalReqResult.successRequests.length : 0;
2392
- var failedCount = globalReqResult.failedRequests ? globalReqResult.failedRequests.length : 0;
2393
-
2394
- if (successCount==0 && failedCount==0) {
2395
- Notifications.warn('No push sent. No admin URI configured or no registered cluster nodes available');
2396
- } else if (failedCount > 0) {
2397
- var msgStart = successCount>0 ? 'Successfully push notBefore to: ' + globalReqResult.successRequests + ' . ' : '';
2398
- Notifications.error(msgStart + 'Failed to push notBefore to: ' + globalReqResult.failedRequests + '. Verify availability of failed hosts and try again');
2399
- } else {
2400
- Notifications.success('Successfully push notBefore to: ' + globalReqResult.successRequests);
2401
- }
2402
- });
2403
- }
2404
-
2405
- });
2406
-
2407
- module.controller('ClientClusteringCtrl', function($scope, client, Client, ClientTestNodesAvailable, ClientClusterNode, realm, $location, $route, Dialog, Notifications, TimeUnit) {
2408
- $scope.client = client;
2409
- $scope.realm = realm;
2410
-
2411
- var oldCopy = angular.copy($scope.client);
2412
- $scope.changed = false;
2413
-
2414
- $scope.$watch('client', function() {
2415
- if (!angular.equals($scope.client, oldCopy)) {
2416
- $scope.changed = true;
2417
- }
2418
- }, true);
2419
-
2420
- $scope.client.nodeReRegistrationTimeoutUnit = TimeUnit.autoUnit(client.nodeReRegistrationTimeout);
2421
- $scope.client.nodeReRegistrationTimeout = TimeUnit.toUnit(client.nodeReRegistrationTimeout, $scope.client.nodeReRegistrationTimeoutUnit);
2422
-
2423
- $scope.save = function() {
2424
- var clientCopy = angular.copy($scope.client);
2425
- delete clientCopy['nodeReRegistrationTimeoutUnit'];
2426
- clientCopy.nodeReRegistrationTimeout = TimeUnit.toSeconds($scope.client.nodeReRegistrationTimeout, $scope.client.nodeReRegistrationTimeoutUnit)
2427
- Client.update({ realm : realm.realm, client : client.id }, clientCopy, function () {
2428
- $route.reload();
2429
- Notifications.success('Your changes have been saved to the client.');
2430
- });
2431
- };
2432
-
2433
- $scope.reset = function() {
2434
- $route.reload();
2435
- };
2436
-
2437
- $scope.testNodesAvailable = function() {
2438
- ClientTestNodesAvailable.get({ realm : realm.realm, client : client.id }, function(globalReqResult) {
2439
- $route.reload();
2440
-
2441
- var successCount = globalReqResult.successRequests ? globalReqResult.successRequests.length : 0;
2442
- var failedCount = globalReqResult.failedRequests ? globalReqResult.failedRequests.length : 0;
2443
-
2444
- if (successCount==0 && failedCount==0) {
2445
- Notifications.warn('No requests sent. No admin URI configured or no registered cluster nodes available');
2446
- } else if (failedCount > 0) {
2447
- var msgStart = successCount>0 ? 'Successfully verify availability for ' + globalReqResult.successRequests + ' . ' : '';
2448
- Notifications.error(msgStart + 'Failed to verify availability for: ' + globalReqResult.failedRequests + '. Fix or unregister failed cluster nodes and try again');
2449
- } else {
2450
- Notifications.success('Successfully sent requests to: ' + globalReqResult.successRequests);
2451
- }
2452
- });
2453
- };
2454
-
2455
- if (client.registeredNodes) {
2456
- var nodeRegistrations = [];
2457
- for (node in client.registeredNodes) {
2458
- reg = {
2459
- host: node,
2460
- lastRegistration: new Date(client.registeredNodes[node] * 1000)
2461
- }
2462
- nodeRegistrations.push(reg);
2463
- }
2464
-
2465
- $scope.nodeRegistrations = nodeRegistrations;
2466
- };
2467
-
2468
- $scope.removeNode = function(node) {
2469
- Dialog.confirmDelete(node.host, 'node', function() {
2470
- ClientClusterNode.remove({ realm : realm.realm, client : client.id , node: node.host }, function() {
2471
- Notifications.success('Node ' + node.host + ' unregistered successfully.');
2472
- $route.reload();
2473
- });
2474
- });
2475
- };
2476
- });
2477
-
2478
- module.controller('ClientClusteringNodeCtrl', function($scope, client, Client, ClientClusterNode, realm,
2479
- $location, $routeParams, Notifications, Dialog) {
2480
- $scope.client = client;
2481
- $scope.realm = realm;
2482
- $scope.create = !$routeParams.node;
2483
-
2484
- $scope.save = function() {
2485
- ClientClusterNode.save({ realm : realm.realm, client : client.id , node: $scope.node.host }, function() {
2486
- Notifications.success('Node ' + $scope.node.host + ' registered successfully.');
2487
- $location.url('/realms/' + realm.realm + '/clients/' + client.id + '/clustering');
2488
- });
2489
- }
2490
-
2491
- $scope.unregisterNode = function() {
2492
- Dialog.confirmDelete($scope.node.host, 'node', function() {
2493
- ClientClusterNode.remove({ realm : realm.realm, client : client.id , node: $scope.node.host }, function() {
2494
- Notifications.success('Node ' + $scope.node.host + ' unregistered successfully.');
2495
- $location.url('/realms/' + realm.realm + '/clients/' + client.id + '/clustering');
2496
- });
2497
- });
2498
- }
2499
-
2500
- if ($scope.create) {
2501
- $scope.node = {}
2502
- $scope.registered = false;
2503
- } else {
2504
- var lastRegTime = client.registeredNodes[$routeParams.node];
2505
-
2506
- if (lastRegTime) {
2507
- $scope.registered = true;
2508
- $scope.node = {
2509
- host: $routeParams.node,
2510
- lastRegistration: new Date(lastRegTime * 1000)
2511
- }
2512
-
2513
- } else {
2514
- $scope.registered = false;
2515
- $scope.node = {
2516
- host: $routeParams.node
2517
- }
2518
- }
2519
- }
2520
- });
2521
-
2522
- module.controller('AddBuiltinProtocolMapperCtrl', function($scope, realm, client, serverInfo,
2523
- ClientProtocolMappersByProtocol,
2524
- $http, $location, Dialog, Notifications) {
2525
- $scope.realm = realm;
2526
- $scope.client = client;
2527
- if (client.protocol == null) {
2528
- client.protocol = 'openid-connect';
2529
- }
2530
-
2531
- var protocolMappers = serverInfo.protocolMapperTypes[client.protocol];
2532
- var mapperTypes = {};
2533
- for (var i = 0; i < protocolMappers.length; i++) {
2534
- mapperTypes[protocolMappers[i].id] = protocolMappers[i];
2535
- }
2536
- $scope.mapperTypes = mapperTypes;
2537
-
2538
-
2539
-
2540
-
2541
- var updateMappers = function() {
2542
- var clientMappers = ClientProtocolMappersByProtocol.query({realm : realm.realm, client : client.id, protocol : client.protocol}, function() {
2543
- var builtinMappers = serverInfo.builtinProtocolMappers[client.protocol];
2544
- for (var i = 0; i < clientMappers.length; i++) {
2545
- for (var j = 0; j < builtinMappers.length; j++) {
2546
- if (builtinMappers[j].name == clientMappers[i].name
2547
- && builtinMappers[j].protocolMapper == clientMappers[i].protocolMapper) {
2548
- builtinMappers.splice(j, 1);
2549
- break;
2550
- }
2551
- }
2552
- }
2553
- $scope.mappers = builtinMappers;
2554
- for (var i = 0; i < $scope.mappers.length; i++) {
2555
- $scope.mappers[i].isChecked = false;
2556
- }
2557
-
2558
-
2559
- });
2560
- };
2561
-
2562
- updateMappers();
2563
-
2564
- $scope.add = function() {
2565
- var toAdd = [];
2566
- for (var i = 0; i < $scope.mappers.length; i++) {
2567
- if ($scope.mappers[i].isChecked) {
2568
- delete $scope.mappers[i].isChecked;
2569
- toAdd.push($scope.mappers[i]);
2570
- }
2571
- }
2572
- $http.post(authUrl + '/admin/realms/' + realm.realm + '/clients/' + client.id + '/protocol-mappers/add-models',
2573
- toAdd).then(function() {
2574
- Notifications.success("Mappers added");
2575
- $location.url('/realms/' + realm.realm + '/clients/' + client.id + '/mappers');
2576
- }).catch(function() {
2577
- Notifications.error("Error adding mappers");
2578
- $location.url('/realms/' + realm.realm + '/clients/' + client.id + '/mappers');
2579
- });
2580
- };
2581
-
2582
- });
2583
-
2584
- module.controller('ClientProtocolMapperListCtrl', function($scope, realm, client, serverInfo,
2585
- Client,
2586
- ClientProtocolMappersByProtocol, ClientProtocolMapper,
2587
- $route, Dialog, Notifications) {
2588
- $scope.realm = realm;
2589
- $scope.client = client;
2590
- if (client.protocol == null) {
2591
- client.protocol = 'openid-connect';
2592
- }
2593
-
2594
- $scope.changeFlag = function() {
2595
- Client.update({
2596
- realm : realm.realm,
2597
- client : client.id
2598
- }, $scope.client, function() {
2599
- $scope.changed = false;
2600
- client = angular.copy($scope.client);
2601
- Notifications.success("Client updated.");
2602
- });
2603
- }
2604
-
2605
- var protocolMappers = serverInfo.protocolMapperTypes[client.protocol];
2606
- var mapperTypes = {};
2607
- for (var i = 0; i < protocolMappers.length; i++) {
2608
- mapperTypes[protocolMappers[i].id] = protocolMappers[i];
2609
- }
2610
- $scope.mapperTypes = mapperTypes;
2611
-
2612
- $scope.removeMapper = function(mapper) {
2613
- console.debug(mapper);
2614
- Dialog.confirmDelete(mapper.name, 'mapper', function() {
2615
- ClientProtocolMapper.remove({ realm: realm.realm, client: client.id, id : mapper.id }, function() {
2616
- Notifications.success("The mapper has been deleted.");
2617
- $route.reload();
2618
- });
2619
- });
2620
- };
2621
-
2622
- $scope.sortMappersByPriority = function(mapper) {
2623
- return $scope.mapperTypes[mapper.protocolMapper].priority;
2624
- }
2625
-
2626
- var updateMappers = function() {
2627
- $scope.mappers = ClientProtocolMappersByProtocol.query({realm : realm.realm, client : client.id, protocol : client.protocol});
2628
- };
2629
-
2630
- updateMappers();
2631
- });
2632
-
2633
- module.controller('ClientProtocolMapperCtrl', function($scope, realm, serverInfo, client, clients, mapper, ClientProtocolMapper, Notifications, Dialog, $location) {
2634
- $scope.realm = realm;
2635
- $scope.clients = clients;
2636
-
2637
- /*
2638
- $scope.client = client;
2639
- $scope.create = false;
2640
- $scope.protocol = client.protocol;
2641
- $scope.mapper = angular.copy(mapper);
2642
- $scope.changed = false;
2643
- */
2644
-
2645
- if (client.protocol == null) {
2646
- client.protocol = 'openid-connect';
2647
- }
2648
-
2649
- $scope.model = {
2650
- realm: realm,
2651
- client: client,
2652
- create: false,
2653
- protocol: client.protocol,
2654
- mapper: angular.copy(mapper),
2655
- changed: false
2656
- };
2657
-
2658
- var protocolMappers = serverInfo.protocolMapperTypes[client.protocol];
2659
- for (var i = 0; i < protocolMappers.length; i++) {
2660
- if (protocolMappers[i].id === mapper.protocolMapper) {
2661
- $scope.model.mapperType = protocolMappers[i];
2662
- }
2663
- }
2664
- $scope.$watch(function() {
2665
- return $location.path();
2666
- }, function() {
2667
- $scope.path = $location.path().substring(1).split("/");
2668
- });
2669
-
2670
- $scope.$watch('model.mapper', function() {
2671
- if (!angular.equals($scope.model.mapper, mapper)) {
2672
- $scope.model.changed = true;
2673
- }
2674
- }, true);
2675
-
2676
- $scope.save = function() {
2677
- ClientProtocolMapper.update({
2678
- realm : realm.realm,
2679
- client: client.id,
2680
- id : $scope.model.mapper.id
2681
- }, $scope.model.mapper, function() {
2682
- $scope.model.changed = false;
2683
- mapper = angular.copy($scope.mapper);
2684
- $location.url("/realms/" + realm.realm + '/clients/' + client.id + "/mappers/" + $scope.model.mapper.id);
2685
- Notifications.success("Your changes have been saved.");
2686
- });
2687
- };
2688
-
2689
- $scope.reset = function() {
2690
- $scope.model.mapper = angular.copy(mapper);
2691
- $scope.model.changed = false;
2692
- };
2693
-
2694
- $scope.cancel = function() {
2695
- //$location.url("/realms");
2696
- window.history.back();
2697
- };
2698
-
2699
- $scope.remove = function() {
2700
- Dialog.confirmDelete($scope.model.mapper.name, 'mapper', function() {
2701
- ClientProtocolMapper.remove({ realm: realm.realm, client: client.id, id : $scope.model.mapper.id }, function() {
2702
- Notifications.success("The mapper has been deleted.");
2703
- $location.url("/realms/" + realm.realm + '/clients/' + client.id + "/mappers");
2704
- });
2705
- });
2706
- };
2707
-
2708
- });
2709
-
2710
- module.controller('ClientProtocolMapperCreateCtrl', function($scope, realm, serverInfo, client, clients, ClientProtocolMapper, Notifications, Dialog, $location) {
2711
- $scope.realm = realm;
2712
- $scope.clients = clients;
2713
-
2714
- if (client.protocol == null) {
2715
- client.protocol = 'openid-connect';
2716
- }
2717
- var protocol = client.protocol;
2718
- /*
2719
- $scope.client = client;
2720
- $scope.create = true;
2721
- $scope.protocol = protocol;
2722
- $scope.mapper = { protocol : client.protocol, config: {}};
2723
- $scope.mapperTypes = serverInfo.protocolMapperTypes[protocol];
2724
- */
2725
- $scope.model = {
2726
- realm: realm,
2727
- client: client,
2728
- create: true,
2729
- protocol: client.protocol,
2730
- mapper: { protocol : client.protocol, config: {}},
2731
- changed: false,
2732
- mapperTypes: serverInfo.protocolMapperTypes[protocol]
2733
- };
2734
- console.log("mapper types: ", $scope.model.mapperTypes);
2735
-
2736
- // apply default configurations on change for selected protocolmapper type.
2737
- $scope.$watch('model.mapperType', function() {
2738
- var currentMapperType = $scope.model.mapperType;
2739
- var defaultConfig = {};
2740
-
2741
- if (currentMapperType && Array.isArray(currentMapperType.properties)) {
2742
- for (var i = 0; i < currentMapperType.properties.length; i++) {
2743
- var property = currentMapperType.properties[i];
2744
- if (property && property.name && property.defaultValue) {
2745
- defaultConfig[property.name] = property.defaultValue;
2746
- }
2747
- }
2748
- }
2749
-
2750
- $scope.model.mapper.config = defaultConfig;
2751
- }, true);
2752
-
2753
- $scope.model.mapperType = $scope.model.mapperTypes[0];
2754
-
2755
- $scope.$watch(function() {
2756
- return $location.path();
2757
- }, function() {
2758
- $scope.path = $location.path().substring(1).split("/");
2759
- });
2760
-
2761
- $scope.save = function() {
2762
- $scope.model.mapper.protocolMapper = $scope.model.mapperType.id;
2763
- ClientProtocolMapper.save({
2764
- realm : realm.realm, client: client.id
2765
- }, $scope.model.mapper, function(data, headers) {
2766
- var l = headers().location;
2767
- var id = l.substring(l.lastIndexOf("/") + 1);
2768
- $location.url("/realms/" + realm.realm + '/clients/' + client.id + "/mappers/" + id);
2769
- Notifications.success("Mapper has been created.");
2770
- });
2771
- };
2772
-
2773
- $scope.cancel = function() {
2774
- //$location.url("/realms");
2775
- window.history.back();
2776
- };
2777
-
2778
-
2779
- });
2780
-
2781
-
2782
- module.controller('ClientClientScopesSetupCtrl', function($scope, realm, Realm, client, clientScopes, serverInfo,
2783
- clientDefaultClientScopes, ClientDefaultClientScopes, clientOptionalClientScopes, ClientOptionalClientScopes, $route, Notifications, $location) {
2784
- console.log('ClientClientScopesSetupCtrl');
2785
-
2786
- $scope.realm = realm;
2787
- $scope.client = client;
2788
-
2789
- $scope.clientDefaultClientScopes = clientDefaultClientScopes;
2790
- $scope.clientOptionalClientScopes = clientOptionalClientScopes;
2791
-
2792
- $scope.availableClientScopes = [];
2793
- $scope.selectedDefaultClientScopes = [];
2794
- $scope.selectedDefDefaultClientScopes = [];
2795
-
2796
- $scope.selectedOptionalClientScopes = [];
2797
- $scope.selectedDefOptionalClientScopes = [];
2798
-
2799
- // Populate available client scopes. Available client scopes are neither already assigned to 'default' or 'optional'
2800
- for (var i = 0; i < clientScopes.length; i++) {
2801
- var clientScope = clientScopes[i];
2802
- var scopeName = clientScopes[i].name;
2803
-
2804
- var available = true;
2805
- if (clientScope.protocol != client.protocol) {
2806
- available = false;
2807
- }
2808
-
2809
- for (var j = 0; j < $scope.clientDefaultClientScopes.length; j++) {
2810
- if (scopeName === $scope.clientDefaultClientScopes[j].name) {
2811
- available = false;
2812
- }
2813
- }
2814
- for (var j = 0; j < $scope.clientOptionalClientScopes.length; j++) {
2815
- if (scopeName === $scope.clientOptionalClientScopes[j].name) {
2816
- available = false;
2817
- }
2818
- }
2819
-
2820
- if (available) {
2821
- $scope.availableClientScopes.push(clientScope);
2822
- }
2823
- }
2824
-
2825
- $scope.addDefaultClientScope = function () {
2826
- $scope.selectedDefaultClientScopesToAdd = JSON.parse('[' + $scope.selectedDefaultClientScopes + ']');
2827
- toAdd = $scope.selectedDefaultClientScopesToAdd.length;
2828
-
2829
- for (var i = 0; i < $scope.selectedDefaultClientScopesToAdd.length; i++) {
2830
- var currentScope = $scope.selectedDefaultClientScopesToAdd[i];
2831
-
2832
- ClientDefaultClientScopes.update({
2833
- realm : realm.realm,
2834
- client : client.id,
2835
- clientScopeId : currentScope.id
2836
- }, function () {
2837
- toAdd = toAdd - 1;
2838
- if (toAdd === 0) {
2839
- $route.reload();
2840
- Notifications.success("Default scopes updated.");
2841
- }
2842
- });
2843
- }
2844
- $scope.selectedDefaultClientScopesToAdd = [];
2845
- };
2846
-
2847
- $scope.deleteDefaultClientScope = function () {
2848
- $scope.selectedDefDefaultClientScopesToRemove = JSON.parse('[' + $scope.selectedDefDefaultClientScopes + ']');
2849
- toRemove = $scope.selectedDefDefaultClientScopesToRemove.length;
2850
-
2851
- for (var i = 0; i < $scope.selectedDefDefaultClientScopesToRemove.length; i++) {
2852
- var currentScope = $scope.selectedDefDefaultClientScopesToRemove[i];
2853
-
2854
- ClientDefaultClientScopes.remove({
2855
- realm : realm.realm,
2856
- client : client.id,
2857
- clientScopeId : currentScope.id
2858
- }, function () {
2859
- toRemove = toRemove - 1;
2860
- if (toRemove === 0) {
2861
- $route.reload();
2862
- Notifications.success("Default scopes updated.");
2863
- }
2864
- });
2865
- }
2866
- $scope.selectedDefDefaultClientScopesToRemove = [];
2867
- };
2868
-
2869
- $scope.addOptionalClientScope = function () {
2870
- $scope.selectedOptionalClientScopesToAdd = JSON.parse('[' + $scope.selectedOptionalClientScopes + ']');
2871
- toAdd = $scope.selectedOptionalClientScopesToAdd.length;
2872
-
2873
- for (var i = 0; i < $scope.selectedOptionalClientScopesToAdd.length; i++) {
2874
- var currentScope = $scope.selectedOptionalClientScopesToAdd[i];
2875
-
2876
- ClientOptionalClientScopes.update({
2877
- realm : realm.realm,
2878
- client : client.id,
2879
- clientScopeId : currentScope.id
2880
- }, function () {
2881
- toAdd = toAdd - 1;
2882
- if (toAdd === 0) {
2883
- $route.reload();
2884
- Notifications.success("Optional scopes updated.");
2885
- }
2886
- });
2887
- }
2888
- };
2889
-
2890
- $scope.deleteOptionalClientScope = function () {
2891
- $scope.selectedDefOptionalClientScopesToRemove = JSON.parse('[' + $scope.selectedDefOptionalClientScopes + ']');
2892
- toRemove = $scope.selectedDefOptionalClientScopesToRemove.length;
2893
-
2894
- for (var i = 0; i < $scope.selectedDefOptionalClientScopesToRemove.length; i++) {
2895
- var currentScope = $scope.selectedDefOptionalClientScopesToRemove[i];
2896
-
2897
- ClientOptionalClientScopes.remove({
2898
- realm : realm.realm,
2899
- client : client.id,
2900
- clientScopeId : currentScope.id
2901
- }, function () {
2902
- toRemove = toRemove - 1;
2903
- if (toRemove === 0) {
2904
- $route.reload();
2905
- Notifications.success("Optional scopes updated.");
2906
- }
2907
- });
2908
- }
2909
- $scope.selectedDefOptionalClientScopesToRemove = [];
2910
- };
2911
-
2912
- });
2913
-
2914
- module.controller('ClientClientScopesEvaluateCtrl', function($scope, Realm, User, ClientEvaluateProtocolMappers, ClientEvaluateGrantedRoles,
2915
- ClientEvaluateNotGrantedRoles, ClientEvaluateGenerateExampleAccessToken, ClientEvaluateGenerateExampleIDToken,
2916
- ClientEvaluateGenerateExampleUserInfo, realm, client, clients, clientScopes, serverInfo, ComponentUtils,
2917
- clientOptionalClientScopes, clientDefaultClientScopes, $route, $routeParams, $http, Notifications, $location,
2918
- Client) {
2919
-
2920
- console.log('ClientClientScopesEvaluateCtrl');
2921
-
2922
- var protocolMappers = serverInfo.protocolMapperTypes[client.protocol];
2923
- var mapperTypes = {};
2924
- for (var i = 0; i < protocolMappers.length; i++) {
2925
- mapperTypes[protocolMappers[i].id] = protocolMappers[i];
2926
- }
2927
- $scope.mapperTypes = mapperTypes;
2928
-
2929
- $scope.realm = realm;
2930
- $scope.client = client;
2931
- $scope.clients = clients;
2932
- $scope.userId = null;
2933
-
2934
- $scope.availableClientScopes = [];
2935
- $scope.assignedClientScopes = [];
2936
- $scope.selectedClientScopes = [];
2937
- $scope.selectedDefClientScopes = [];
2938
- $scope.effectiveClientScopes = [];
2939
-
2940
- // Populate available client scopes. Available client scopes are neither already assigned to 'default' or 'optional'
2941
- for (var i = 0; i < clientOptionalClientScopes.length; i++) {
2942
- $scope.availableClientScopes.push(clientOptionalClientScopes[i]);
2943
- }
2944
-
2945
- function clearEvalResponse() {
2946
- $scope.protocolMappers = null;
2947
- $scope.grantedRealmRoles = null;
2948
- $scope.notGrantedRealmRoles = null;
2949
- $scope.grantedClientRoles = null;
2950
- $scope.notGrantedClientRoles = null;
2951
- $scope.targetClient = null;
2952
- $scope.oidcAccessToken = null;
2953
- $scope.oidcIDToken = null;
2954
- $scope.oidcUserInfo = null;
2955
-
2956
- $scope.selectedTab = 0;
2957
- }
2958
-
2959
- function updateState() {
2960
- // Compute scope parameter
2961
- $scope.scopeParam = 'openid';
2962
- for (var i = 0; i < $scope.assignedClientScopes.length; i++) {
2963
- var currentScopeParam = $scope.assignedClientScopes[i].name;
2964
- $scope.scopeParam = $scope.scopeParam + ' ' + currentScopeParam;
2965
- }
2966
-
2967
- // Compute effective scopes
2968
- $scope.effectiveClientScopes = [];
2969
-
2970
- for (var i = 0; i < clientDefaultClientScopes.length; i++) {
2971
- var currentScope = clientDefaultClientScopes[i];
2972
- $scope.effectiveClientScopes.push(currentScope);
2973
- }
2974
- for (var i = 0; i < $scope.assignedClientScopes.length; i++) {
2975
- var currentScope = $scope.assignedClientScopes[i];
2976
- $scope.effectiveClientScopes.push(currentScope);
2977
- }
2978
-
2979
- // Clear the evaluation response
2980
- clearEvalResponse();
2981
- }
2982
-
2983
- updateState();
2984
-
2985
-
2986
- $scope.addAppliedClientScope = function () {
2987
- $scope.selectedClientScopesToAdd = JSON.parse('[' + $scope.selectedClientScopes + ']');
2988
- for (var i = 0; i < $scope.selectedClientScopesToAdd.length; i++) {
2989
- var currentScope = $scope.selectedClientScopesToAdd[i];
2990
-
2991
- $scope.assignedClientScopes.push(currentScope);
2992
-
2993
- var index = ComponentUtils.findIndexById($scope.availableClientScopes, currentScope.id);
2994
- if (index > -1) {
2995
- $scope.availableClientScopes.splice(index, 1);
2996
- }
2997
- }
2998
-
2999
- $scope.selectedClientScopes = [];
3000
- $scope.selectedClientScopesToAdd = [];
3001
- updateState();
3002
- };
3003
-
3004
- $scope.deleteAppliedClientScope = function () {
3005
- $scope.selectedDefClientScopesToRemove = JSON.parse('[' + $scope.selectedDefClientScopes + ']');
3006
- for (var i = 0; i < $scope.selectedDefClientScopesToRemove.length; i++) {
3007
- var currentScope = $scope.selectedDefClientScopesToRemove[i];
3008
-
3009
- $scope.availableClientScopes.push(currentScope);
3010
-
3011
- var index = ComponentUtils.findIndexById($scope.assignedClientScopes, currentScope.id);
3012
- if (index > -1) {
3013
- $scope.assignedClientScopes.splice(index, 1);
3014
- }
3015
- }
3016
-
3017
- $scope.selectedDefClientScopes = [];
3018
- $scope.selectedDefClientScopesToRemove = [];
3019
-
3020
- updateState();
3021
- };
3022
-
3023
- $scope.usersUiSelect = {
3024
- minimumInputLength: 1,
3025
- delay: 500,
3026
- allowClear: true,
3027
- query: function (query) {
3028
- var data = {results: []};
3029
- if ('' == query.term.trim()) {
3030
- query.callback(data);
3031
- return;
3032
- }
3033
- User.query({realm: $route.current.params.realm, search: query.term.trim(), max: 20}, function(response) {
3034
- data.results = response;
3035
- query.callback(data);
3036
- });
3037
- },
3038
- formatResult: function(object, container, query) {
3039
- object.text = object.username;
3040
- return object.username;
3041
- }
3042
- };
3043
-
3044
- $scope.selectedUser = null;
3045
-
3046
- $scope.selectUser = function(user) {
3047
- clearEvalResponse();
3048
-
3049
- if (!user || !user.id) {
3050
- $scope.selectedUser = null;
3051
- $scope.userId = '';
3052
- return;
3053
- }
3054
-
3055
- $scope.userId = user.id;
3056
- }
3057
-
3058
- clientSelectControl($scope, $route.current.params.realm, Client);
3059
-
3060
- $scope.selectedClient = null;
3061
-
3062
- $scope.selectClient = function(client) {
3063
- console.log("selected client: ", client);
3064
- if (!client || !client.id) {
3065
- $scope.selectedClient = null;
3066
- return;
3067
- }
3068
-
3069
- $scope.selectedClient = client;
3070
- updateScopeClientRoles();
3071
- }
3072
-
3073
-
3074
- $scope.sendEvaluationRequest = function () {
3075
-
3076
- // Send request for retrieve protocolMappers
3077
- $scope.protocolMappers = ClientEvaluateProtocolMappers.query({
3078
- realm: realm.realm,
3079
- client: client.id,
3080
- scopeParam: $scope.scopeParam
3081
- });
3082
-
3083
- // Send request for retrieve realmRoles
3084
- updateScopeRealmRoles();
3085
-
3086
- // Send request for retrieve accessToken (in case user was selected)
3087
- if (client.protocol === 'openid-connect' && $scope.userId != null && $scope.userId !== '') {
3088
- var exampleRequestParams = {
3089
- realm: realm.realm,
3090
- client: client.id,
3091
- userId: $scope.userId,
3092
- scopeParam: $scope.scopeParam
3093
- };
3094
-
3095
- var accessTokenUrl = ClientEvaluateGenerateExampleAccessToken.url(exampleRequestParams);
3096
- getPrettyJsonResponse(accessTokenUrl).then(function (result) {
3097
- $scope.oidcAccessToken = result;
3098
- });
3099
-
3100
- var idTokenUrl = ClientEvaluateGenerateExampleIDToken.url(exampleRequestParams);
3101
- getPrettyJsonResponse(idTokenUrl).then(function (result) {
3102
- $scope.oidcIDToken = result;
3103
- });
3104
-
3105
- var userInfoUrl = ClientEvaluateGenerateExampleUserInfo.url(exampleRequestParams);
3106
- getPrettyJsonResponse(userInfoUrl).then(function (result) {
3107
- $scope.oidcUserInfo = result;
3108
- });
3109
- }
3110
-
3111
- $scope.showTab(1);
3112
- };
3113
-
3114
- function getPrettyJsonResponse(url) {
3115
- return $http.get(url).then(function (response) {
3116
- if (response.data) {
3117
- var responseJson = angular.fromJson(response.data);
3118
- return angular.toJson(responseJson, true);
3119
- } else {
3120
- return null;
3121
- }
3122
- });
3123
- }
3124
-
3125
- $scope.isResponseAvailable = function () {
3126
- return $scope.protocolMappers != null;
3127
- }
3128
-
3129
- $scope.isAccessTokenAvailable = function () {
3130
- return $scope.oidcAccessToken != null;
3131
- }
3132
-
3133
- $scope.isIDTokenAvailable = function () {
3134
- return $scope.oidcIDToken != null;
3135
- }
3136
-
3137
- $scope.isUserInfoAvailable = function () {
3138
- return $scope.oidcUserInfo != null;
3139
- }
3140
-
3141
- $scope.showTab = function (tab) {
3142
- $scope.selectedTab = tab;
3143
-
3144
- $scope.tabCss = {
3145
- tab1: getTabCssClass(1, tab),
3146
- tab2: getTabCssClass(2, tab),
3147
- tab3: getTabCssClass(3, tab),
3148
- tab4: getTabCssClass(4, tab),
3149
- tab5: getTabCssClass(5, tab)
3150
- }
3151
- }
3152
-
3153
- function getTabCssClass(tabNo, selectedTab) {
3154
- return (tabNo === selectedTab) ? 'active' : '';
3155
- }
3156
-
3157
- $scope.protocolMappersShown = function () {
3158
- return $scope.selectedTab === 1;
3159
- }
3160
-
3161
- $scope.rolesShown = function () {
3162
- return $scope.selectedTab === 2;
3163
- }
3164
-
3165
- $scope.exampleTabInfo = function() {
3166
- switch ($scope.selectedTab) {
3167
- case 3:
3168
- return { isShown: true, value: $scope.oidcAccessToken}
3169
- case 4:
3170
- return { isShown: true, value: $scope.oidcIDToken}
3171
- case 5:
3172
- return { isShown: true, value: $scope.oidcUserInfo}
3173
- default:
3174
- return { isShown: false, value: null}
3175
- }
3176
- }
3177
-
3178
- $scope.sortMappersByPriority = function(mapper) {
3179
- return $scope.mapperTypes[mapper.protocolMapper].priority;
3180
- }
3181
-
3182
-
3183
- // Roles
3184
-
3185
- function updateScopeRealmRoles() {
3186
- $scope.grantedRealmRoles = ClientEvaluateGrantedRoles.query({
3187
- realm: realm.realm,
3188
- client: client.id,
3189
- roleContainer: realm.realm,
3190
- scopeParam: $scope.scopeParam
3191
- });
3192
- $scope.notGrantedRealmRoles = ClientEvaluateNotGrantedRoles.query({
3193
- realm: realm.realm,
3194
- client: client.id,
3195
- roleContainer: realm.realm,
3196
- scopeParam: $scope.scopeParam
3197
- });
3198
- }
3199
-
3200
- function updateScopeClientRoles() {
3201
- if ($scope.selectedClient) {
3202
- $scope.grantedClientRoles = ClientEvaluateGrantedRoles.query({
3203
- realm: realm.realm,
3204
- client: client.id,
3205
- roleContainer: $scope.selectedClient.id,
3206
- scopeParam: $scope.scopeParam
3207
- });
3208
- $scope.notGrantedClientRoles = ClientEvaluateNotGrantedRoles.query({
3209
- realm: realm.realm,
3210
- client: client.id,
3211
- roleContainer: $scope.selectedClient.id,
3212
- scopeParam: $scope.scopeParam
3213
- });
3214
- } else {
3215
- $scope.grantedClientRoles = null;
3216
- $scope.notGrantedClientRoles = null;
3217
- }
3218
- }
3219
- });
3220
-
3221
-
3222
- module.controller('ClientScopeTabCtrl', function(Dialog, $scope, Current, Notifications, $location) {
3223
- $scope.removeClientScope = function() {
3224
- Dialog.confirmDelete($scope.clientScope.name, 'client scope', function() {
3225
- $scope.clientScope.$remove({
3226
- realm : Current.realm.realm,
3227
- clientScope : $scope.clientScope.id
3228
- }, function() {
3229
- $location.url("/realms/" + Current.realm.realm + "/client-scopes");
3230
- Notifications.success("The client scope has been deleted.");
3231
- });
3232
- });
3233
- };
3234
- });
3235
-
3236
-
3237
-
3238
- module.controller('ClientScopeListCtrl', function($scope, realm, clientScopes, ClientScope, serverInfo, $route, Dialog, Notifications, $location) {
3239
- $scope.realm = realm;
3240
- $scope.clientScopes = clientScopes;
3241
-
3242
- $scope.removeClientScope = function(clientScope) {
3243
- Dialog.confirmDelete(clientScope.name, 'client scope', function() {
3244
- ClientScope.remove({
3245
- realm : realm.realm,
3246
- clientScope : clientScope.id
3247
- }, function() {
3248
- $route.reload();
3249
- Notifications.success("The client scope been deleted.");
3250
- });
3251
- });
3252
- };
3253
- });
3254
-
3255
- module.controller('ClientScopesRealmDefaultCtrl', function($scope, realm, Realm, clientScopes, realmDefaultClientScopes, RealmDefaultClientScopes,
3256
- realmOptionalClientScopes, RealmOptionalClientScopes, serverInfo, $route, Dialog, Notifications, $location) {
3257
-
3258
- console.log('ClientScopesRealmDefaultCtrl');
3259
-
3260
- $scope.realm = realm;
3261
- $scope.realmDefaultClientScopes = realmDefaultClientScopes;
3262
- $scope.realmOptionalClientScopes = realmOptionalClientScopes;
3263
-
3264
- $scope.availableClientScopes = [];
3265
- $scope.selectedDefaultClientScopes = [];
3266
- $scope.selectedDefDefaultClientScopes = [];
3267
-
3268
- $scope.selectedOptionalClientScopes = [];
3269
- $scope.selectedDefOptionalClientScopes = [];
3270
-
3271
- // Populate available client scopes. Available client scopes are neither already assigned to 'default' or 'optional'
3272
- for (var i = 0; i < clientScopes.length; i++) {
3273
- var scopeName = clientScopes[i].name;
3274
-
3275
- var available = true;
3276
- for (var j = 0; j < $scope.realmDefaultClientScopes.length; j++) {
3277
- if (scopeName === $scope.realmDefaultClientScopes[j].name) {
3278
- available = false;
3279
- }
3280
- }
3281
- for (var j = 0; j < $scope.realmOptionalClientScopes.length; j++) {
3282
- if (scopeName === $scope.realmOptionalClientScopes[j].name) {
3283
- available = false;
3284
- }
3285
- }
3286
-
3287
- if (available) {
3288
- $scope.availableClientScopes.push(clientScopes[i]);
3289
- }
3290
- }
3291
-
3292
- $scope.addDefaultClientScope = function () {
3293
- $scope.selectedDefaultClientScopesToAdd = JSON.parse('[' + $scope.selectedDefaultClientScopes + ']');
3294
- toAdd = $scope.selectedDefaultClientScopesToAdd.length;
3295
-
3296
- for (var i = 0; i < $scope.selectedDefaultClientScopesToAdd.length; i++) {
3297
- var currentScope = $scope.selectedDefaultClientScopesToAdd[i];
3298
-
3299
- RealmDefaultClientScopes.update({
3300
- realm : realm.realm,
3301
- clientScopeId : currentScope.id
3302
- }, function () {
3303
- toAdd = toAdd - 1;
3304
- console.log('toAdd: ' + toAdd);
3305
- if (toAdd === 0) {
3306
- $route.reload();
3307
- Notifications.success("Realm default scopes updated.");
3308
- }
3309
- });
3310
- }
3311
- $scope.selectedDefaultClientScopesToAdd = [];
3312
- };
3313
-
3314
- $scope.deleteDefaultClientScope = function () {
3315
- $scope.selectedDefDefaultClientScopesToRemove = JSON.parse('[' + $scope.selectedDefDefaultClientScopes + ']');
3316
- toRemove = $scope.selectedDefDefaultClientScopesToRemove.length;
3317
-
3318
- for (var i = 0; i < $scope.selectedDefDefaultClientScopesToRemove.length; i++) {
3319
- var currentScope = $scope.selectedDefDefaultClientScopesToRemove[i];
3320
-
3321
- RealmDefaultClientScopes.remove({
3322
- realm : realm.realm,
3323
- clientScopeId : currentScope.id
3324
- }, function () {
3325
- toRemove = toRemove - 1;
3326
- if (toRemove === 0) {
3327
- $route.reload();
3328
- Notifications.success("Realm default scopes updated.");
3329
- }
3330
- });
3331
- }
3332
- $scope.selectedDefDefaultClientScopesToRemove = [];
3333
- };
3334
-
3335
- $scope.addOptionalClientScope = function () {
3336
- $scope.selectedOptionalClientScopesToAdd = JSON.parse('[' + $scope.selectedOptionalClientScopes + ']');
3337
- toAdd = $scope.selectedOptionalClientScopesToAdd.length;
3338
-
3339
- for (var i = 0; i < $scope.selectedOptionalClientScopesToAdd.length; i++) {
3340
- var currentScope = $scope.selectedOptionalClientScopesToAdd[i];
3341
-
3342
- RealmOptionalClientScopes.update({
3343
- realm : realm.realm,
3344
- clientScopeId : currentScope.id
3345
- }, function () {
3346
- toAdd = toAdd - 1;
3347
- console.log('toAdd: ' + toAdd);
3348
- if (toAdd === 0) {
3349
- $route.reload();
3350
- Notifications.success("Realm optional scopes updated.");
3351
- }
3352
- });
3353
- }
3354
- $scope.selectedOptionalClientScopesToAdd = [];
3355
- };
3356
-
3357
- $scope.deleteOptionalClientScope = function () {
3358
- $scope.selectedDefOptionalClientScopesToRemove = JSON.parse('[' + $scope.selectedDefOptionalClientScopes + ']');
3359
- toRemove = $scope.selectedDefOptionalClientScopesToRemove.length;
3360
-
3361
- for (var i = 0; i < $scope.selectedDefOptionalClientScopesToRemove.length; i++) {
3362
- var currentScope = $scope.selectedDefOptionalClientScopesToRemove[i];
3363
-
3364
- RealmOptionalClientScopes.remove({
3365
- realm : realm.realm,
3366
- clientScopeId : currentScope.id
3367
- }, function () {
3368
- toRemove = toRemove - 1;
3369
- if (toRemove === 0) {
3370
- $route.reload();
3371
- Notifications.success("Realm optional scopes updated.");
3372
- }
3373
- });
3374
- }
3375
- $scope.selectedDefOptionalClientScopesToRemove = [];
3376
- };
3377
- });
3378
-
3379
- module.controller('ClientScopeDetailCtrl', function($scope, realm, clientScope, $route, serverInfo, ClientScope, $location, $modal, Dialog, Notifications) {
3380
- $scope.protocols = serverInfo.listProviderIds('login-protocol');
3381
-
3382
- $scope.realm = realm;
3383
- $scope.create = !clientScope.name;
3384
-
3385
- function updateProperties() {
3386
- if (!$scope.clientScope.attributes) {
3387
- $scope.clientScope.attributes = {};
3388
- }
3389
-
3390
- if ($scope.clientScope.protocol) {
3391
- $scope.protocol = $scope.protocols[$scope.protocols.indexOf($scope.clientScope.protocol)];
3392
- } else {
3393
- $scope.protocol = $scope.protocols[0];
3394
- }
3395
-
3396
- if ($scope.clientScope.attributes["display.on.consent.screen"]) {
3397
- if ($scope.clientScope.attributes["display.on.consent.screen"] == "true") {
3398
- $scope.displayOnConsentScreen = true;
3399
- } else {
3400
- $scope.displayOnConsentScreen = false;
3401
- }
3402
- } else {
3403
- $scope.displayOnConsentScreen = true;
3404
- }
3405
-
3406
- if(serverInfo.featureEnabled("DYNAMIC_SCOPES")) {
3407
- if ($scope.clientScope.attributes["is.dynamic.scope"]) {
3408
- if ($scope.clientScope.attributes["is.dynamic.scope"] === "true") {
3409
- $scope.isDynamicScope = true;
3410
- } else {
3411
- $scope.isDynamicScope = false;
3412
- }
3413
- } else {
3414
- $scope.isDynamicScope = false;
3415
- }
3416
-
3417
- $scope.clientScope.attributes["dynamic.scope.regexp"] = $scope.clientScope.name + ":*";
3418
- }
3419
-
3420
- if ($scope.clientScope.attributes["include.in.token.scope"]) {
3421
- if ($scope.clientScope.attributes["include.in.token.scope"] == "true") {
3422
- $scope.includeInTokenScope = true;
3423
- } else {
3424
- $scope.includeInTokenScope = false;
3425
- }
3426
- } else {
3427
- $scope.includeInTokenScope = true;
3428
- }
3429
- }
3430
-
3431
- if (!$scope.create) {
3432
- $scope.clientScope = angular.copy(clientScope);
3433
- } else {
3434
- $scope.clientScope = {};
3435
- }
3436
-
3437
- updateProperties();
3438
-
3439
-
3440
- $scope.switchChange = function() {
3441
- $scope.changed = true;
3442
- }
3443
-
3444
- $scope.changeProtocol = function() {
3445
- if ($scope.protocol == "openid-connect") {
3446
- $scope.clientScope.protocol = "openid-connect";
3447
- } else if ($scope.protocol == "saml") {
3448
- $scope.clientScope.protocol = "saml";
3449
- }
3450
- };
3451
-
3452
- $scope.$watch(function() {
3453
- return $location.path();
3454
- }, function() {
3455
- $scope.path = $location.path().substring(1).split("/");
3456
- });
3457
-
3458
- function isChanged() {
3459
- if (!angular.equals($scope.clientScope, clientScope)) {
3460
- return true;
3461
- }
3462
- return false;
3463
- }
3464
-
3465
- $scope.$watch('clientScope', function() {
3466
- $scope.changed = isChanged();
3467
- }, true);
3468
-
3469
- $scope.save = function() {
3470
- $scope.clientScope.protocol = $scope.protocol;
3471
-
3472
- if ($scope.displayOnConsentScreen == true) {
3473
- $scope.clientScope.attributes["display.on.consent.screen"] = "true";
3474
- } else {
3475
- $scope.clientScope.attributes["display.on.consent.screen"] = "false";
3476
- }
3477
-
3478
- if(serverInfo.featureEnabled("DYNAMIC_SCOPES")) {
3479
- if ($scope.isDynamicScope === true) {
3480
- $scope.clientScope.attributes["is.dynamic.scope"] = "true";
3481
- } else {
3482
- $scope.clientScope.attributes["is.dynamic.scope"] = "false";
3483
- }
3484
- }
3485
-
3486
- if ($scope.includeInTokenScope == true) {
3487
- $scope.clientScope.attributes["include.in.token.scope"] = "true";
3488
- } else {
3489
- $scope.clientScope.attributes["include.in.token.scope"] = "false";
3490
- }
3491
-
3492
- if ($scope.create) {
3493
- ClientScope.save({
3494
- realm: realm.realm,
3495
- clientScope: ''
3496
- }, $scope.clientScope, function (data, headers) {
3497
- $scope.changed = false;
3498
- var l = headers().location;
3499
- var id = l.substring(l.lastIndexOf("/") + 1);
3500
- $location.url("/realms/" + realm.realm + "/client-scopes/" + id);
3501
- Notifications.success("The client scope has been created.");
3502
- });
3503
- } else {
3504
- ClientScope.update({
3505
- realm : realm.realm,
3506
- clientScope : clientScope.id
3507
- }, $scope.clientScope, function() {
3508
- $scope.changed = false;
3509
- clientScope = angular.copy($scope.clientScope);
3510
- $location.url("/realms/" + realm.realm + "/client-scopes/" + clientScope.id);
3511
- Notifications.success("Your changes have been saved to the client scope.");
3512
- });
3513
- }
3514
- };
3515
-
3516
- $scope.reset = function() {
3517
- $route.reload();
3518
- };
3519
-
3520
- $scope.cancel = function() {
3521
- $location.url("/realms/" + realm.realm + "/client-scopes");
3522
- };
3523
- });
3524
-
3525
- module.controller('ClientScopeProtocolMapperListCtrl', function($scope, realm, clientScope, serverInfo,
3526
- ClientScopeProtocolMappersByProtocol, ClientScopeProtocolMapper,
3527
- $route, Dialog, Notifications) {
3528
- $scope.realm = realm;
3529
- $scope.clientScope = clientScope;
3530
- if (clientScope.protocol == null) {
3531
- clientScope.protocol = 'openid-connect';
3532
- }
3533
-
3534
- var protocolMappers = serverInfo.protocolMapperTypes[clientScope.protocol];
3535
- var mapperTypes = {};
3536
- for (var i = 0; i < protocolMappers.length; i++) {
3537
- mapperTypes[protocolMappers[i].id] = protocolMappers[i];
3538
- }
3539
- $scope.mapperTypes = mapperTypes;
3540
-
3541
- $scope.removeMapper = function(mapper) {
3542
- console.debug(mapper);
3543
- Dialog.confirmDelete(mapper.name, 'mapper', function() {
3544
- ClientScopeProtocolMapper.remove({ realm: realm.realm, clientScope: clientScope.id, id : mapper.id }, function() {
3545
- Notifications.success("The mapper has been deleted.");
3546
- $route.reload();
3547
- });
3548
- });
3549
- };
3550
-
3551
- $scope.sortMappersByPriority = function(mapper) {
3552
- return $scope.mapperTypes[mapper.protocolMapper].priority;
3553
- }
3554
-
3555
- var updateMappers = function() {
3556
- $scope.mappers = ClientScopeProtocolMappersByProtocol.query({realm : realm.realm, clientScope : clientScope.id, protocol : clientScope.protocol});
3557
- };
3558
-
3559
- updateMappers();
3560
- });
3561
-
3562
- module.controller('ClientScopeProtocolMapperCtrl', function($scope, realm, serverInfo, clientScope, mapper, clients, ClientScopeProtocolMapper, Notifications, Dialog, $location, $route) {
3563
- $scope.realm = realm;
3564
- $scope.clients = clients;
3565
-
3566
- if (clientScope.protocol == null) {
3567
- clientScope.protocol = 'openid-connect';
3568
- }
3569
-
3570
- $scope.model = {
3571
- realm: realm,
3572
- clientScope: clientScope,
3573
- create: false,
3574
- protocol: clientScope.protocol,
3575
- mapper: angular.copy(mapper),
3576
- changed: false
3577
- }
3578
-
3579
- var protocolMappers = serverInfo.protocolMapperTypes[clientScope.protocol];
3580
- for (var i = 0; i < protocolMappers.length; i++) {
3581
- if (protocolMappers[i].id == mapper.protocolMapper) {
3582
- $scope.model.mapperType = protocolMappers[i];
3583
- }
3584
- }
3585
- $scope.$watch(function() {
3586
- return $location.path();
3587
- }, function() {
3588
- $scope.path = $location.path().substring(1).split("/");
3589
- });
3590
-
3591
- $scope.$watch('model.mapper', function() {
3592
- if (!angular.equals($scope.model.mapper, mapper)) {
3593
- $scope.model.changed = true;
3594
- }
3595
- }, true);
3596
-
3597
- $scope.save = function() {
3598
- ClientScopeProtocolMapper.update({
3599
- realm : realm.realm,
3600
- clientScope: clientScope.id,
3601
- id : mapper.id
3602
- }, $scope.model.mapper, function() {
3603
- $route.reload();
3604
- Notifications.success("Your changes have been saved.");
3605
- });
3606
- };
3607
-
3608
- $scope.reset = function() {
3609
- $scope.model.mapper = angular.copy(mapper);
3610
- $scope.model.changed = false;
3611
- };
3612
-
3613
- $scope.cancel = function() {
3614
- //$location.url("/realms");
3615
- window.history.back();
3616
- };
3617
-
3618
- $scope.remove = function() {
3619
- Dialog.confirmDelete($scope.model.mapper.name, 'mapper', function() {
3620
- ClientScopeProtocolMapper.remove({ realm: realm.realm, clientScope: clientScope.id, id : $scope.model.mapper.id }, function() {
3621
- Notifications.success("The mapper has been deleted.");
3622
- $location.url("/realms/" + realm.realm + '/client-scopes/' + clientScope.id + "/mappers");
3623
- });
3624
- });
3625
- };
3626
-
3627
- });
3628
-
3629
- module.controller('ClientScopeProtocolMapperCreateCtrl', function($scope, realm, serverInfo, clientScope, clients, ClientScopeProtocolMapper, Notifications, Dialog, $location) {
3630
- $scope.realm = realm;
3631
- $scope.clients = clients;
3632
-
3633
- if (clientScope.protocol == null) {
3634
- clientScope.protocol = 'openid-connect';
3635
- }
3636
- var protocol = clientScope.protocol;
3637
- $scope.model = {
3638
- realm: realm,
3639
- clientScope: clientScope,
3640
- create: true,
3641
- protocol: clientScope.protocol,
3642
- mapper: { protocol : clientScope.protocol, config: {}},
3643
- changed: false,
3644
- mapperTypes: serverInfo.protocolMapperTypes[protocol]
3645
- }
3646
-
3647
- // apply default configurations on change for selected protocolmapper type.
3648
- $scope.$watch('model.mapperType', function() {
3649
- var currentMapperType = $scope.model.mapperType;
3650
- var defaultConfig = {};
3651
-
3652
- if (currentMapperType && Array.isArray(currentMapperType.properties)) {
3653
- for (var i = 0; i < currentMapperType.properties.length; i++) {
3654
- var property = currentMapperType.properties[i];
3655
- if (property && property.name && property.defaultValue) {
3656
- defaultConfig[property.name] = property.defaultValue;
3657
- }
3658
- }
3659
- }
3660
-
3661
- $scope.model.mapper.config = defaultConfig;
3662
- }, true);
3663
-
3664
- $scope.model.mapperType = $scope.model.mapperTypes[0];
3665
-
3666
- $scope.$watch(function() {
3667
- return $location.path();
3668
- }, function() {
3669
- $scope.path = $location.path().substring(1).split("/");
3670
- });
3671
-
3672
- $scope.save = function() {
3673
- $scope.model.mapper.protocolMapper = $scope.model.mapperType.id;
3674
- ClientScopeProtocolMapper.save({
3675
- realm : realm.realm, clientScope: clientScope.id
3676
- }, $scope.model.mapper, function(data, headers) {
3677
- var l = headers().location;
3678
- var id = l.substring(l.lastIndexOf("/") + 1);
3679
- $location.url("/realms/" + realm.realm + '/client-scopes/' + clientScope.id + "/mappers/" + id);
3680
- Notifications.success("Mapper has been created.");
3681
- });
3682
- };
3683
-
3684
- $scope.cancel = function() {
3685
- //$location.url("/realms");
3686
- window.history.back();
3687
- };
3688
-
3689
-
3690
- });
3691
-
3692
- module.controller('ClientScopeAddBuiltinProtocolMapperCtrl', function($scope, realm, clientScope, serverInfo,
3693
- ClientScopeProtocolMappersByProtocol,
3694
- $http, $location, Dialog, Notifications) {
3695
- $scope.realm = realm;
3696
- $scope.clientScope = clientScope;
3697
- if (clientScope.protocol == null) {
3698
- clientScope.protocol = 'openid-connect';
3699
- }
3700
-
3701
- var protocolMappers = serverInfo.protocolMapperTypes[clientScope.protocol];
3702
- var mapperTypes = {};
3703
- for (var i = 0; i < protocolMappers.length; i++) {
3704
- mapperTypes[protocolMappers[i].id] = protocolMappers[i];
3705
- }
3706
- $scope.mapperTypes = mapperTypes;
3707
-
3708
-
3709
-
3710
-
3711
- var updateMappers = function() {
3712
- var clientMappers = ClientScopeProtocolMappersByProtocol.query({realm : realm.realm, clientScope : clientScope.id, protocol : clientScope.protocol}, function() {
3713
- var builtinMappers = serverInfo.builtinProtocolMappers[clientScope.protocol];
3714
- for (var i = 0; i < clientMappers.length; i++) {
3715
- for (var j = 0; j < builtinMappers.length; j++) {
3716
- if (builtinMappers[j].name == clientMappers[i].name
3717
- && builtinMappers[j].protocolMapper == clientMappers[i].protocolMapper) {
3718
- builtinMappers.splice(j, 1);
3719
- break;
3720
- }
3721
- }
3722
- }
3723
- $scope.mappers = builtinMappers;
3724
- for (var i = 0; i < $scope.mappers.length; i++) {
3725
- $scope.mappers[i].isChecked = false;
3726
- }
3727
-
3728
-
3729
- });
3730
- };
3731
-
3732
- updateMappers();
3733
-
3734
- $scope.add = function() {
3735
- var toAdd = [];
3736
- for (var i = 0; i < $scope.mappers.length; i++) {
3737
- if ($scope.mappers[i].isChecked) {
3738
- delete $scope.mappers[i].isChecked;
3739
- toAdd.push($scope.mappers[i]);
3740
- }
3741
- }
3742
- $http.post(authUrl + '/admin/realms/' + realm.realm + '/client-scopes/' + clientScope.id + '/protocol-mappers/add-models',
3743
- toAdd).then(function() {
3744
- Notifications.success("Mappers added");
3745
- $location.url('/realms/' + realm.realm + '/client-scopes/' + clientScope.id + '/mappers');
3746
- }).catch(function() {
3747
- Notifications.error("Error adding mappers");
3748
- $location.url('/realms/' + realm.realm + '/client-scopes/' + clientScope.id + '/mappers');
3749
- });
3750
- };
3751
-
3752
- });
3753
-
3754
-
3755
- module.controller('ClientScopeScopeMappingCtrl', function($scope, $http, $route, realm, clientScope, Notifications,
3756
- ClientScope, Client,
3757
- ClientScopeRealmScopeMapping, ClientScopeClientScopeMapping, ClientRole,
3758
- ClientScopeAvailableRealmScopeMapping, ClientScopeAvailableClientScopeMapping,
3759
- ClientScopeCompositeRealmScopeMapping, ClientScopeCompositeClientScopeMapping) {
3760
- $scope.realm = realm;
3761
- $scope.clientScope = angular.copy(clientScope);
3762
- $scope.selectedRealmRoles = [];
3763
- $scope.selectedRealmMappings = [];
3764
- $scope.realmMappings = [];
3765
- $scope.clientRoles = [];
3766
- $scope.clientComposite = [];
3767
- $scope.selectedClientRoles = [];
3768
- $scope.selectedClientMappings = [];
3769
- $scope.clientMappings = [];
3770
- $scope.dummymodel = [];
3771
- $scope.selectedClient = null;
3772
-
3773
- function updateScopeRealmRoles() {
3774
- $scope.realmRoles = ClientScopeAvailableRealmScopeMapping.query({realm : realm.realm, clientScope : clientScope.id});
3775
- $scope.realmMappings = ClientScopeRealmScopeMapping.query({realm : realm.realm, clientScope : clientScope.id});
3776
- $scope.realmComposite = ClientScopeCompositeRealmScopeMapping.query({realm : realm.realm, clientScope : clientScope.id});
3777
- }
3778
-
3779
- function updateScopeClientRoles() {
3780
- if ($scope.selectedClient) {
3781
- $scope.clientRoles = ClientScopeAvailableClientScopeMapping.query({realm : realm.realm, clientScope : clientScope.id, targetClient : $scope.selectedClient.id});
3782
- $scope.clientMappings = ClientScopeClientScopeMapping.query({realm : realm.realm, clientScope : clientScope.id, targetClient : $scope.selectedClient.id});
3783
- $scope.clientComposite = ClientScopeCompositeClientScopeMapping.query({realm : realm.realm, clientScope : clientScope.id, targetClient : $scope.selectedClient.id});
3784
- } else {
3785
- $scope.clientRoles = null;
3786
- $scope.clientMappings = null;
3787
- $scope.clientComposite = null;
3788
- }
3789
- }
3790
-
3791
- $scope.changeClient = function(client) {
3792
- if (!client || !client.id) {
3793
- $scope.selectedClient = null;
3794
- return;
3795
- }
3796
- $scope.selectedClient = client;
3797
- updateScopeClientRoles();
3798
- };
3799
-
3800
- $scope.addRealmRole = function() {
3801
- $scope.selectedRealmRolesToAdd = JSON.parse('[' + $scope.selectedRealmRoles + ']');
3802
- $scope.selectedRealmRoles = [];
3803
- $http.post(authUrl + '/admin/realms/' + realm.realm + '/client-scopes/' + clientScope.id + '/scope-mappings/realm',
3804
- $scope.selectedRealmRolesToAdd).then(function() {
3805
- updateScopeRealmRoles();
3806
- $scope.selectedRealmRolesToAdd = [];
3807
- Notifications.success("Scope mappings updated.");
3808
- });
3809
- };
3810
-
3811
- $scope.deleteRealmRole = function() {
3812
- $scope.selectedRealmMappingsToRemove = JSON.parse('[' + $scope.selectedRealmMappings + ']');
3813
- $scope.selectedRealmMappings = [];
3814
- $http.delete(authUrl + '/admin/realms/' + realm.realm + '/client-scopes/' + clientScope.id + '/scope-mappings/realm',
3815
- {data : $scope.selectedRealmMappingsToRemove, headers : {"content-type" : "application/json"}}).then(function () {
3816
- updateScopeRealmRoles();
3817
- $scope.selectedRealmMappingsToRemove = [];
3818
- Notifications.success("Scope mappings updated.");
3819
- });
3820
- };
3821
-
3822
- $scope.addClientRole = function() {
3823
- $scope.selectedClientRolesToAdd = JSON.parse('[' + $scope.selectedClientRoles + ']');
3824
- $scope.selectedClientRoles = [];
3825
- $http.post(authUrl + '/admin/realms/' + realm.realm + '/client-scopes/' + clientScope.id + '/scope-mappings/clients/' + $scope.selectedClient.id,
3826
- $scope.selectedClientRolesToAdd).then(function () {
3827
- updateScopeClientRoles();
3828
- $scope.selectedClientRolesToAdd = [];
3829
- Notifications.success("Scope mappings updated.");
3830
- });
3831
- };
3832
-
3833
- $scope.deleteClientRole = function() {
3834
- $scope.selectedClientMappingsToRemove = JSON.parse('[' + $scope.selectedClientMappings + ']');
3835
- $scope.selectedClientMappings = [];
3836
- $http.delete(authUrl + '/admin/realms/' + realm.realm + '/client-scopes/' + clientScope.id + '/scope-mappings/clients/' + $scope.selectedClient.id,
3837
- {data : $scope.selectedClientMappingsToRemove, headers : {"content-type" : "application/json"}}).then(function () {
3838
- updateScopeClientRoles();
3839
- $scope.selectedClientMappingsToRemove = [];
3840
- Notifications.success("Scope mappings updated.");
3841
- });
3842
- };
3843
-
3844
- clientSelectControl($scope, $route.current.params.realm, Client);
3845
- updateScopeRealmRoles();
3846
- });
3847
-
3848
- module.controller('ClientStoresCtrl', function($scope, $location, $route, realm, serverInfo, Components, Notifications, Dialog) {
3849
- console.log('ClientStoresCtrl ++++****');
3850
- $scope.realm = realm;
3851
- $scope.providers = serverInfo.componentTypes['org.keycloak.storage.client.ClientStorageProvider'];
3852
- $scope.clientStorageProviders = serverInfo.componentTypes['org.keycloak.storage.client.ClientStorageProvider'];
3853
- $scope.instancesLoaded = false;
3854
-
3855
- if (!$scope.providers) $scope.providers = [];
3856
-
3857
- $scope.addProvider = function(provider) {
3858
- console.log('Add provider: ' + provider.id);
3859
- $location.url("/create/client-storage/" + realm.realm + "/providers/" + provider.id);
3860
- };
3861
-
3862
- $scope.getInstanceLink = function(instance) {
3863
- return "/realms/" + realm.realm + "/client-storage/providers/" + instance.providerId + "/" + instance.id;
3864
- }
3865
-
3866
- $scope.getInstanceName = function(instance) {
3867
- return instance.name;
3868
- }
3869
- $scope.getInstanceProvider = function(instance) {
3870
- return instance.providerId;
3871
- }
3872
-
3873
- $scope.isProviderEnabled = function(instance) {
3874
- return !instance.config['enabled'] || instance.config['enabled'][0] == 'true';
3875
- }
3876
-
3877
- $scope.getInstancePriority = function(instance) {
3878
- if (!instance.config['priority']) {
3879
- return "0";
3880
- }
3881
- return instance.config['priority'][0];
3882
- }
3883
-
3884
- Components.query({realm: realm.realm,
3885
- parent: realm.id,
3886
- type: 'org.keycloak.storage.client.ClientStorageProvider'
3887
- }, function(data) {
3888
- $scope.instances = data;
3889
- $scope.instancesLoaded = true;
3890
- });
3891
-
3892
- $scope.removeInstance = function(instance) {
3893
- Dialog.confirmDelete(instance.name, 'client storage provider', function() {
3894
- Components.remove({
3895
- realm : realm.realm,
3896
- componentId : instance.id
3897
- }, function() {
3898
- $route.reload();
3899
- Notifications.success("The provider has been deleted.");
3900
- });
3901
- });
3902
- };
3903
- });
3904
-
3905
- module.controller('GenericClientStorageCtrl', function($scope, $location, Notifications, $route, Dialog, realm,
3906
- serverInfo, instance, providerId, Components) {
3907
- console.log('GenericClientStorageCtrl');
3908
- console.log('providerId: ' + providerId);
3909
- $scope.create = !instance.providerId;
3910
- console.log('create: ' + $scope.create);
3911
- var providers = serverInfo.componentTypes['org.keycloak.storage.client.ClientStorageProvider'];
3912
- console.log('providers length ' + providers.length);
3913
- var providerFactory = null;
3914
- for (var i = 0; i < providers.length; i++) {
3915
- var p = providers[i];
3916
- console.log('provider: ' + p.id);
3917
- if (p.id == providerId) {
3918
- $scope.providerFactory = p;
3919
- providerFactory = p;
3920
- break;
3921
- }
3922
-
3923
- }
3924
- $scope.changed = false;
3925
-
3926
- console.log("providerFactory: " + providerFactory.id);
3927
-
3928
- function initClientStorageSettings() {
3929
- if ($scope.create) {
3930
- $scope.changed = true;
3931
- instance.name = providerFactory.id;
3932
- instance.providerId = providerFactory.id;
3933
- instance.providerType = 'org.keycloak.storage.client.ClientStorageProvider';
3934
- instance.parentId = realm.id;
3935
- instance.config = {
3936
-
3937
- };
3938
- instance.config['priority'] = ["0"];
3939
- instance.config['enabled'] = ["true"];
3940
-
3941
- $scope.fullSyncEnabled = false;
3942
- $scope.changedSyncEnabled = false;
3943
- instance.config['cachePolicy'] = ['DEFAULT'];
3944
- instance.config['evictionDay'] = [''];
3945
- instance.config['evictionHour'] = [''];
3946
- instance.config['evictionMinute'] = [''];
3947
- instance.config['maxLifespan'] = [''];
3948
- if (providerFactory.properties) {
3949
-
3950
- for (var i = 0; i < providerFactory.properties.length; i++) {
3951
- var configProperty = providerFactory.properties[i];
3952
- if (configProperty.defaultValue) {
3953
- instance.config[configProperty.name] = [configProperty.defaultValue];
3954
- } else {
3955
- instance.config[configProperty.name] = [''];
3956
- }
3957
-
3958
- }
3959
- }
3960
-
3961
- } else {
3962
- $scope.changed = false;
3963
- if (!instance.config['enabled']) {
3964
- instance.config['enabled'] = ['true'];
3965
- }
3966
- if (!instance.config['cachePolicy']) {
3967
- instance.config['cachePolicy'] = ['DEFAULT'];
3968
-
3969
- }
3970
- if (!instance.config['evictionDay']) {
3971
- instance.config['evictionDay'] = [''];
3972
-
3973
- }
3974
- if (!instance.config['evictionHour']) {
3975
- instance.config['evictionHour'] = [''];
3976
-
3977
- }
3978
- if (!instance.config['evictionMinute']) {
3979
- instance.config['evictionMinute'] = [''];
3980
-
3981
- }
3982
- if (!instance.config['maxLifespan']) {
3983
- instance.config['maxLifespan'] = [''];
3984
-
3985
- }
3986
- if (!instance.config['priority']) {
3987
- instance.config['priority'] = ['0'];
3988
- }
3989
-
3990
- if (providerFactory.properties) {
3991
- for (var i = 0; i < providerFactory.properties.length; i++) {
3992
- var configProperty = providerFactory.properties[i];
3993
- if (!instance.config[configProperty.name]) {
3994
- instance.config[configProperty.name] = [''];
3995
- }
3996
- }
3997
- }
3998
-
3999
- }
4000
- }
4001
-
4002
- initClientStorageSettings();
4003
- $scope.instance = angular.copy(instance);
4004
- $scope.realm = realm;
4005
-
4006
- $scope.$watch('instance', function() {
4007
- if (!angular.equals($scope.instance, instance)) {
4008
- $scope.changed = true;
4009
- }
4010
-
4011
- }, true);
4012
-
4013
- $scope.save = function() {
4014
- console.log('save provider');
4015
- $scope.changed = false;
4016
- if ($scope.create) {
4017
- console.log('saving new provider');
4018
- Components.save({realm: realm.realm}, $scope.instance, function (data, headers) {
4019
- var l = headers().location;
4020
- var id = l.substring(l.lastIndexOf("/") + 1);
4021
-
4022
- $location.url("/realms/" + realm.realm + "/client-storage/providers/" + $scope.instance.providerId + "/" + id);
4023
- Notifications.success("The provider has been created.");
4024
- });
4025
- } else {
4026
- console.log('update existing provider');
4027
- Components.update({realm: realm.realm,
4028
- componentId: instance.id
4029
- },
4030
- $scope.instance, function () {
4031
- $route.reload();
4032
- Notifications.success("The provider has been updated.");
4033
- });
4034
- }
4035
- };
4036
-
4037
- $scope.reset = function() {
4038
- $route.reload();
4039
- };
4040
-
4041
- $scope.cancel = function() {
4042
- console.log('cancel');
4043
- if ($scope.create) {
4044
- $location.url("/realms/" + realm.realm + "/client-stores");
4045
- } else {
4046
- $route.reload();
4047
- }
4048
- };
4049
-
4050
-
4051
-
4052
- });
4053
-
4054
-