masks-server 0.7.0 → 0.9.0

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 (208) hide show
  1. checksums.yaml +4 -4
  2. data/app/controllers/concerns/masks/server/client_authentication.rb +1 -1
  3. data/app/controllers/concerns/masks/server/resource_token.rb +12 -3
  4. data/app/controllers/masks/server/application_controller.rb +8 -6
  5. data/app/controllers/masks/server/authorize_controller.rb +1 -1
  6. data/app/controllers/masks/server/enrollments_controller.rb +66 -0
  7. data/app/controllers/masks/server/introspections_controller.rb +2 -2
  8. data/app/controllers/masks/server/logins_controller.rb +2 -1
  9. data/app/controllers/masks/server/registrations_controller.rb +40 -2
  10. data/app/controllers/masks/server/scim/metadata_controller.rb +1 -1
  11. data/app/controllers/masks/server/tokens_controller.rb +1 -1
  12. data/app/graphql/masks/server/manage/mutations/add_app.rb +1 -1
  13. data/app/graphql/masks/server/manage/types/client_type.rb +8 -0
  14. data/app/graphql/masks/server/manage/types/query_type.rb +6 -1
  15. data/app/helpers/masks/server/account_helper.rb +1 -1
  16. data/app/helpers/masks/server/application_helper.rb +0 -1
  17. data/app/helpers/masks/server/scopes_helper.rb +28 -0
  18. data/app/jobs/masks/server/cleanup_job.rb +1 -0
  19. data/app/models/masks/server/actor.rb +3 -3
  20. data/app/models/masks/server/client.rb +127 -7
  21. data/app/models/masks/server/client_keys.rb +6 -1
  22. data/app/models/masks/server/enrollment_token.rb +54 -0
  23. data/app/models/masks/server/event.rb +3 -0
  24. data/app/models/masks/server/handshake.rb +12 -6
  25. data/app/models/masks/server/issuer.rb +1 -0
  26. data/app/models/masks/server/login.rb +3 -6
  27. data/app/models/masks/server/namespace.rb +6 -3
  28. data/app/models/masks/server/pending_handshake.rb +2 -1
  29. data/app/models/masks/server/replay.rb +22 -4
  30. data/app/models/masks/server/session.rb +7 -5
  31. data/app/models/masks/server/token.rb +1 -0
  32. data/app/policies/masks/server/exchange_policy.rb +1 -1
  33. data/app/policies/masks/server/grant_checks.rb +1 -1
  34. data/app/views/layouts/masks/server/manage.html.erb +2 -2
  35. data/app/views/masks/server/account/_info.html.erb +1 -1
  36. data/app/views/masks/server/account/_organizations.html.erb +4 -4
  37. data/app/views/masks/server/application/_actor.html.erb +27 -0
  38. data/app/views/masks/server/handshakes/refused.html.erb +1 -1
  39. data/app/views/masks/server/handshakes/show.html.erb +129 -59
  40. data/app/views/masks/server/logins/_choose_organization.html.erb +1 -1
  41. data/app/views/masks/server/logins/_consent.html.erb +1 -1
  42. data/app/views/masks/server/sessions/confirm.html.erb +1 -1
  43. data/config/locales/de/account.yml +3 -3
  44. data/config/locales/de/application.yml +1 -1
  45. data/config/locales/de/events.yml +10 -7
  46. data/config/locales/de/flashes.yml +2 -2
  47. data/config/locales/de/handshakes.yml +33 -14
  48. data/config/locales/de/mailers.yml +1 -1
  49. data/config/locales/de/manage/activity.yml +2 -2
  50. data/config/locales/de/manage/actor.yml +41 -23
  51. data/config/locales/de/manage/actors.yml +16 -15
  52. data/config/locales/de/manage/api.yml +1 -1
  53. data/config/locales/de/manage/app.yml +6 -6
  54. data/config/locales/de/manage/client.yml +45 -45
  55. data/config/locales/de/manage/clients.yml +28 -32
  56. data/config/locales/de/manage/connections.yml +2 -2
  57. data/config/locales/de/manage/consents.yml +2 -2
  58. data/config/locales/de/manage/device.yml +7 -7
  59. data/config/locales/de/manage/devices.yml +18 -18
  60. data/config/locales/de/manage/directory.yml +1 -1
  61. data/config/locales/de/manage/domains.yml +6 -6
  62. data/config/locales/de/manage/emails.yml +4 -4
  63. data/config/locales/de/manage/events.yml +3 -0
  64. data/config/locales/de/manage/groups.yml +7 -7
  65. data/config/locales/de/manage/ldap.yml +8 -8
  66. data/config/locales/de/manage/namespaces.yml +1 -1
  67. data/config/locales/de/manage/organization.yml +15 -8
  68. data/config/locales/de/manage/organizations.yml +3 -3
  69. data/config/locales/de/manage/policies.yml +6 -6
  70. data/config/locales/de/manage/policy_rules.yml +1 -1
  71. data/config/locales/de/manage/presence.yml +6 -6
  72. data/config/locales/de/manage/providers.yml +70 -48
  73. data/config/locales/de/manage/provisioning.yml +4 -4
  74. data/config/locales/de/manage/senders.yml +1 -1
  75. data/config/locales/de/manage/settings.yml +37 -26
  76. data/config/locales/de/manage/settings_shell.yml +2 -2
  77. data/config/locales/de/refusals.yml +5 -5
  78. data/config/locales/en/account.yml +5 -5
  79. data/config/locales/en/application.yml +1 -1
  80. data/config/locales/en/events.yml +9 -6
  81. data/config/locales/en/flashes.yml +3 -3
  82. data/config/locales/en/handshakes.yml +33 -14
  83. data/config/locales/en/logins.yml +2 -2
  84. data/config/locales/en/manage/actor.yml +32 -14
  85. data/config/locales/en/manage/actors.yml +16 -15
  86. data/config/locales/en/manage/app.yml +5 -5
  87. data/config/locales/en/manage/client.yml +9 -9
  88. data/config/locales/en/manage/clients.yml +8 -12
  89. data/config/locales/en/manage/connections.yml +1 -1
  90. data/config/locales/en/manage/consents.yml +1 -1
  91. data/config/locales/en/manage/device.yml +1 -1
  92. data/config/locales/en/manage/devices.yml +1 -1
  93. data/config/locales/en/manage/directory.yml +1 -1
  94. data/config/locales/en/manage/domains.yml +6 -6
  95. data/config/locales/en/manage/emails.yml +4 -4
  96. data/config/locales/en/manage/events.yml +3 -0
  97. data/config/locales/en/manage/groups.yml +7 -7
  98. data/config/locales/en/manage/ldap.yml +8 -8
  99. data/config/locales/en/manage/messages.yml +1 -1
  100. data/config/locales/en/manage/namespaces.yml +1 -1
  101. data/config/locales/en/manage/organization.yml +16 -9
  102. data/config/locales/en/manage/organizations.yml +3 -3
  103. data/config/locales/en/manage/policies.yml +6 -6
  104. data/config/locales/en/manage/policy_rules.yml +2 -2
  105. data/config/locales/en/manage/presence.yml +1 -1
  106. data/config/locales/en/manage/providers.yml +70 -48
  107. data/config/locales/en/manage/provisioning.yml +4 -4
  108. data/config/locales/en/manage/senders.yml +2 -2
  109. data/config/locales/en/manage/settings.yml +34 -23
  110. data/config/locales/es/account.yml +3 -3
  111. data/config/locales/es/application.yml +2 -2
  112. data/config/locales/es/events.yml +9 -6
  113. data/config/locales/es/flashes.yml +4 -4
  114. data/config/locales/es/handshakes.yml +33 -14
  115. data/config/locales/es/logins.yml +12 -12
  116. data/config/locales/es/mailers.yml +7 -7
  117. data/config/locales/es/manage/activity.yml +2 -2
  118. data/config/locales/es/manage/actor.yml +33 -15
  119. data/config/locales/es/manage/actors.yml +17 -16
  120. data/config/locales/es/manage/api.yml +1 -1
  121. data/config/locales/es/manage/app.yml +6 -6
  122. data/config/locales/es/manage/client.yml +30 -30
  123. data/config/locales/es/manage/clients.yml +22 -26
  124. data/config/locales/es/manage/connections.yml +1 -1
  125. data/config/locales/es/manage/consents.yml +1 -1
  126. data/config/locales/es/manage/device.yml +1 -1
  127. data/config/locales/es/manage/directory.yml +1 -1
  128. data/config/locales/es/manage/domains.yml +5 -5
  129. data/config/locales/es/manage/emails.yml +7 -7
  130. data/config/locales/es/manage/events.yml +3 -0
  131. data/config/locales/es/manage/groups.yml +7 -7
  132. data/config/locales/es/manage/ldap.yml +8 -8
  133. data/config/locales/es/manage/namespaces.yml +1 -1
  134. data/config/locales/es/manage/organization.yml +16 -9
  135. data/config/locales/es/manage/organizations.yml +3 -3
  136. data/config/locales/es/manage/policies.yml +8 -8
  137. data/config/locales/es/manage/policy_rules.yml +2 -2
  138. data/config/locales/es/manage/providers.yml +70 -48
  139. data/config/locales/es/manage/provisioning.yml +4 -4
  140. data/config/locales/es/manage/senders.yml +1 -1
  141. data/config/locales/es/manage/settings.yml +38 -27
  142. data/config/locales/es/manage/settings_shell.yml +2 -2
  143. data/config/locales/es/refusals.yml +3 -3
  144. data/config/locales/fr/account.yml +2 -2
  145. data/config/locales/fr/application.yml +1 -1
  146. data/config/locales/fr/events.yml +8 -5
  147. data/config/locales/fr/flashes.yml +1 -1
  148. data/config/locales/fr/handshakes.yml +33 -14
  149. data/config/locales/fr/manage/activity.yml +4 -4
  150. data/config/locales/fr/manage/actor.yml +43 -25
  151. data/config/locales/fr/manage/actors.yml +22 -21
  152. data/config/locales/fr/manage/api.yml +1 -1
  153. data/config/locales/fr/manage/app.yml +7 -7
  154. data/config/locales/fr/manage/client.yml +50 -50
  155. data/config/locales/fr/manage/clients.yml +28 -32
  156. data/config/locales/fr/manage/connections.yml +2 -2
  157. data/config/locales/fr/manage/consents.yml +1 -1
  158. data/config/locales/fr/manage/device.yml +1 -1
  159. data/config/locales/fr/manage/directory.yml +1 -1
  160. data/config/locales/fr/manage/domains.yml +6 -6
  161. data/config/locales/fr/manage/emails.yml +5 -5
  162. data/config/locales/fr/manage/events.yml +3 -0
  163. data/config/locales/fr/manage/groups.yml +7 -7
  164. data/config/locales/fr/manage/ldap.yml +8 -8
  165. data/config/locales/fr/manage/namespaces.yml +1 -1
  166. data/config/locales/fr/manage/organization.yml +15 -8
  167. data/config/locales/fr/manage/organizations.yml +3 -3
  168. data/config/locales/fr/manage/policies.yml +6 -6
  169. data/config/locales/fr/manage/policy_rules.yml +1 -1
  170. data/config/locales/fr/manage/providers.yml +70 -48
  171. data/config/locales/fr/manage/provisioning.yml +4 -4
  172. data/config/locales/fr/manage/senders.yml +1 -1
  173. data/config/locales/fr/manage/settings.yml +38 -27
  174. data/config/locales/fr/manage/settings_shell.yml +2 -2
  175. data/config/routes.rb +2 -0
  176. data/config/vite.json +1 -0
  177. data/db/migrate/20261011190000_add_enrolled_by_to_clients.rb +5 -0
  178. data/db/migrate/20261012100000_create_replays.rb +23 -0
  179. data/db/migrate/20261013010000_add_handshake_return_to_to_clients.rb +5 -0
  180. data/lib/generators/masks/server/install/install_generator.rb +2 -2
  181. data/lib/masks/server/browser_access.rb +35 -0
  182. data/lib/masks/server/configuration.rb +3 -3
  183. data/lib/masks/server/engine.rb +1 -0
  184. data/lib/masks/server/schema_reference.rb +17 -4
  185. data/lib/masks/server.rb +1 -0
  186. data/public/masks-assets/.vite/manifest-assets.json +1 -0
  187. data/public/masks-assets/.vite/manifest.json +62 -0
  188. data/public/masks-assets/assets/app-B27oPUll.css +2 -0
  189. data/public/masks-assets/assets/console-DoyNbIw3.css +1 -0
  190. data/public/masks-assets/assets/handshake-DIFZPSAK.js +2 -0
  191. data/public/masks-assets/assets/handshake-DIFZPSAK.js.map +1 -0
  192. data/public/masks-assets/assets/{initial-D99AzFOd.js → initial-C1GpCiEh.js} +2 -2
  193. data/public/masks-assets/assets/{initial-D99AzFOd.js.map → initial-C1GpCiEh.js.map} +1 -1
  194. data/public/masks-assets/assets/login-C_6igRZ3.js +4 -0
  195. data/public/masks-assets/assets/login-C_6igRZ3.js.map +1 -0
  196. data/public/masks-assets/assets/manage-Dbfiy3Mj.js +567 -0
  197. data/public/masks-assets/assets/manage-Dbfiy3Mj.js.map +1 -0
  198. data/version.txt +1 -1
  199. metadata +21 -12
  200. data/app/views/masks/server/application/_person.html.erb +0 -27
  201. data/public/masks-assets/assets/app-olx-5PkA.css +0 -2
  202. data/public/masks-assets/assets/console-CiuQ3qj0.css +0 -1
  203. data/public/masks-assets/assets/handshake-BYhhQ_X3.js +0 -2
  204. data/public/masks-assets/assets/handshake-BYhhQ_X3.js.map +0 -1
  205. data/public/masks-assets/assets/login-CNs1UpxJ.js +0 -4
  206. data/public/masks-assets/assets/login-CNs1UpxJ.js.map +0 -1
  207. data/public/masks-assets/assets/manage-Z3GmPDNQ.js +0 -560
  208. data/public/masks-assets/assets/manage-Z3GmPDNQ.js.map +0 -1
@@ -2,9 +2,9 @@ fr:
2
2
  manage:
3
3
  emails:
4
4
  list: "E-mails"
5
- app: "L’application à laquelle on se connecte"
6
- no_app: "Aucune application"
7
- not_approved: "%{name} (non approuvée)"
5
+ app: "Le client auquel on se connecte"
6
+ no_app: "Aucun client"
7
+ not_approved: "%{name} (non approuvé)"
8
8
  headed: "En-tête de %{heading}, de %{from} à %{to}"
9
9
  no_sender: "aucun expéditeur configuré"
10
10
  part: "Quelle partie"
@@ -14,7 +14,7 @@ fr:
14
14
  groups:
15
15
  sign_in:
16
16
  title: "Pendant la connexion"
17
- help: "Envoyés pendant une connexion. Quand une application y a envoyé la personne, une application approuvée place son logo et son nom en tête de l’e-mail. Une connexion directe à la page du compte n’a pas d’application, et c’est l’espace qui figure en tête."
17
+ help: "Envoyés pendant une connexion. Quand un client y a envoyé l’acteur, un client approuvé place son logo et son nom en tête de l’e-mail. Une connexion directe à la page du compte n’a pas de client, et c’est l’espace qui figure en tête."
18
18
  about: "À propos des e-mails envoyés pendant la connexion"
19
19
  manage:
20
20
  title: "De la part d’un gestionnaire"
@@ -22,7 +22,7 @@ fr:
22
22
  about: "À propos des e-mails envoyés par un gestionnaire"
23
23
  account:
24
24
  title: "Depuis la page du compte"
25
- help: "Envoyés quand une personne modifie son propre compte. L’espace figure en tête."
25
+ help: "Envoyés quand un acteur modifie quelque chose sur sa page de compte. L’espace figure en tête."
26
26
  about: "À propos des e-mails envoyés depuis la page du compte"
27
27
  system:
28
28
  title: "Automatiquement"
@@ -6,3 +6,6 @@ fr:
6
6
  more:
7
7
  one: "Afficher %{count} de plus"
8
8
  other: "Afficher %{count} de plus"
9
+ repeated:
10
+ one: "une fois"
11
+ other: "%{count} fois"
@@ -2,14 +2,14 @@ fr:
2
2
  manage:
3
3
  groups:
4
4
  title: "Groupes"
5
- lede: "Des ensembles nommés de personnes, comme admins ou famille. Les applications qui demandent la portée groups voient chaque groupe dont une personne fait partie, et une application peut être limitée à certains groupes. Les applications voient la clé d’un groupe, et elle ne pourra plus changer. Une personne rejoint un groupe depuis sa propre page."
6
- added: "%{name} est prêt. Ajoutez des personnes depuis leur propre page."
7
- delete_confirm: "Supprimer %{name} ? Les applications limitées à ce groupe refusent ses membres."
5
+ lede: "Des ensembles nommés d’acteurs, comme admins ou famille. Les clients qui demandent la portée groups voient chaque groupe dont un acteur fait partie, et un client peut être limité à certains groupes. Les clients voient la clé d’un groupe, et elle ne pourra plus changer. Un acteur rejoint un groupe depuis sa propre page."
6
+ added: "%{name} est prêt. Ajoutez des acteurs depuis leur propre page."
7
+ delete_confirm: "Supprimer %{name} ? Les clients limités à ce groupe refusent ses acteurs."
8
8
  deleted: "%{name} est supprimé."
9
- people:
10
- one: "%{count} personne"
11
- other: "%{count} personnes"
9
+ actors:
10
+ one: "%{count} acteur"
11
+ other: "%{count} acteurs"
12
12
  delete: "Supprimer %{name}"
13
13
  new: "Nom du nouveau groupe"
14
14
  add: "Ajouter"
15
- key: "Les applications le voient comme %{key}."
15
+ key: "Les clients le voient comme %{key}."
@@ -2,17 +2,17 @@ fr:
2
2
  manage:
3
3
  ldap:
4
4
  title: "LDAP"
5
- lede: "Les applications plus anciennes, comme les NAS, les serveurs multimédia et les hyperviseurs, vérifient les mots de passe et lisent les groupes par LDAP. masks leur expose en lecture seule les personnes et les groupes de ce tenant."
6
- revoke_confirm: "Révoquer %{label} ? Les applications qui s'en servent sont refusées dès maintenant."
5
+ lede: "Les services plus anciens, comme les NAS, les serveurs multimédia et les hyperviseurs, vérifient les mots de passe et lisent les groupes par LDAP. masks leur expose en lecture seule les acteurs et les groupes de ce tenant."
6
+ revoke_confirm: "Révoquer %{label} ? Tout ce qui s'en sert est refusé dès maintenant."
7
7
  revoked: "%{label} est révoqué."
8
8
  serve:
9
9
  title: "Annuaire"
10
- help: "Tant que ceci est désactivé, aucune application ne peut se lier à l'annuaire de ce tenant ni y chercher."
10
+ help: "Tant que ceci est désactivé, rien ne peut se lier à l'annuaire de ce tenant ni y chercher."
11
11
  "on": "Servir ce tenant par LDAP"
12
- updated: "L'annuaire est mis à jour."
12
+ updated: "Annuaire modifié."
13
13
  connect:
14
- title: "Connecter une application"
15
- help: "Donnez à l'application ce DN de base, un DN de liaison et son secret. L'application cherche dans ou=people et ou=groups, puis se lie en tant que personne pour vérifier son mot de passe."
14
+ title: "Connecter un service"
15
+ help: "Donnez au service ce DN de base, un DN de liaison et son secret. Le service cherche dans ou=people et ou=groups, puis se lie en tant qu'acteur pour vérifier son mot de passe."
16
16
  base_dn: "DN de base"
17
17
  address: "Adresse"
18
18
  port: "Port %{port}"
@@ -30,6 +30,6 @@ fr:
30
30
  revoke: "Révoquer"
31
31
  binds:
32
32
  title: "Liaisons par mot de passe"
33
- help: "LDAP ne peut pas demander de second facteur. Un compte qui en a un, ou dont la politique de connexion en exige un, est refusé à moins qu'un mot de passe seul soit autorisé ici."
33
+ help: "LDAP ne peut pas demander de second facteur. Un acteur qui en a un, ou dont la politique de connexion en exige un, est refusé à moins qu'un mot de passe seul soit autorisé ici."
34
34
  password_only: "Autoriser un mot de passe seul par LDAP"
35
- updated: "Les liaisons par mot de passe sont mises à jour."
35
+ updated: "Liaisons par mot de passe modifiées."
@@ -2,7 +2,7 @@ fr:
2
2
  manage:
3
3
  namespaces:
4
4
  title: "Espaces de noms"
5
- release_confirm: "Libérer %{name} ? La prochaine application qui le demande l’obtient, et les portées qui en dépendent changent de sens."
5
+ release_confirm: "Libérer %{name} ? Le prochain client qui le demande l’obtient, et les portées qui en dépendent changent de sens."
6
6
  released: "%{name} peut de nouveau être réservé."
7
7
  columns:
8
8
  name: "Nom"
@@ -4,7 +4,7 @@ fr:
4
4
  title: "Organisation"
5
5
  back: "Organisations"
6
6
  archived_lede: "Archivée %{when}. Personne ne se connecte en tant que membre."
7
- lede: "Les applications la désignent avec organization=%{key}, et les jetons portent le rôle du membre."
7
+ lede: "Les clients la désignent avec organization=%{key}, et les jetons portent le rôle du membre."
8
8
  lenses:
9
9
  all: "Tout le monde"
10
10
  owners: "Propriétaires"
@@ -38,14 +38,14 @@ fr:
38
38
  role_added: "%{organization} propose désormais %{role}."
39
39
  role_dropped: "%{organization} ne propose plus %{role}."
40
40
  saved: "Enregistré."
41
- provider_saved: "Enregistré. Les personnes qui se connectent par ce fournisseur rejoignent cette organisation."
41
+ provider_saved: "Enregistré. Les acteurs qui se connectent par ce fournisseur rejoignent cette organisation."
42
42
  provider_back: "%{provider} dessert de nouveau tout l’espace."
43
43
  archived: "%{organization} est archivée."
44
44
  restored: "%{organization} est de retour."
45
45
  questions:
46
46
  withdraw: "Retirer l’invitation de %{name} ?"
47
47
  remove: "Retirer %{name} de %{organization} ? Ses jetons pour cette organisation cessent de fonctionner."
48
- hand_back: "Rendre %{provider} à tout l’espace ? Les personnes qui se connectent par ce fournisseur ne rejoignent plus %{organization}."
48
+ hand_back: "Rendre %{provider} à tout l’espace ? Les acteurs qui se connectent par ce fournisseur ne rejoignent plus %{organization}."
49
49
  archive: "Archiver %{organization} ? Plus personne ne pourra se connecter en tant que membre."
50
50
  archive_tokens:
51
51
  one: "Archiver %{organization} ? Plus personne ne pourra se connecter en tant que membre, et son %{count} jeton actif sera révoqué."
@@ -65,8 +65,8 @@ fr:
65
65
  role: "Rôle"
66
66
  invite: "Inviter"
67
67
  cancel: "Annuler"
68
- hint: "La personne rejoint l’organisation dès qu’elle accepte, depuis l’adresse que vous invitez. Une personne sans compte reçoit une invitation à en créer un."
69
- person: "Personne"
68
+ hint: "L’invité rejoint l’organisation dès qu’il accepte, depuis l’adresse que vous invitez. Quelqu’un qui n’est pas encore un acteur reçoit une invitation à s’inscrire."
69
+ actor: "Acteur"
70
70
  empty:
71
71
  invited: "Aucune invitation en attente."
72
72
  owners: "Cette organisation n’a aucun propriétaire. Faites d’un membre un propriétaire pour que quelqu’un puisse la gérer."
@@ -81,9 +81,9 @@ fr:
81
81
  remove: "Retirer"
82
82
  signing_in:
83
83
  title: "Connexion"
84
- lede: "Un membre se connecte selon cette politique, avant celle de l’application et celle de l’espace. Elle s’applique dès la première étape lorsque l’application désigne l’organisation."
84
+ lede: "Un membre se connecte selon cette politique, avant celle du client et celle de l’espace. Elle s’applique dès la première étape lorsque le client désigne l’organisation."
85
85
  policy: "Politique de connexion"
86
- inherited: "Celle de l’application ou de l’espace"
86
+ inherited: "Celle du client ou de l’espace"
87
87
  providers: "Fournisseurs"
88
88
  no_groups_mapped: "Aucun groupe associé"
89
89
  joins_as: "%{mapping}. Toute autre personne rejoint en tant que %{role}."
@@ -94,7 +94,7 @@ fr:
94
94
  groups_claim: "Claim des groupes"
95
95
  unmapped_role: "Rôle de toute autre personne"
96
96
  role_map: "Groupes vers rôles"
97
- role_map_hint: "Un groupe par ligne. Le premier groupe dont une personne fait partie détermine son rôle, à chaque connexion."
97
+ role_map_hint: "Un groupe par ligne. Le premier groupe dont un acteur fait partie détermine son rôle, à chaque connexion."
98
98
  save: "Enregistrer"
99
99
  cancel: "Annuler"
100
100
  domains: "Domaines"
@@ -130,3 +130,10 @@ fr:
130
130
  one: "L’archivage empêche quiconque de se connecter en tant que membre de %{organization} et révoque son %{count} jeton actif. Les membres conservent leurs rôles : la restaurer remet donc tout en place."
131
131
  other: "L’archivage empêche quiconque de se connecter en tant que membre de %{organization} et révoque ses %{count} jetons actifs. Les membres conservent leurs rôles : la restaurer remet donc tout en place."
132
132
  button: "Archiver %{organization}"
133
+ parts:
134
+ label: "Organisation"
135
+ members: "Membres"
136
+ sign_in: "Connexion"
137
+ roles: "Rôles"
138
+ activity: "Activité"
139
+ general: "Général"
@@ -2,7 +2,7 @@ fr:
2
2
  manage:
3
3
  organizations:
4
4
  title: "Organisations"
5
- lede: "Les clients de cet espace. Une application qui demande la portée organization connecte une personne en tant que membre de l’une d’elles, et son jeton porte le rôle qu’elle y occupe."
5
+ lede: "Les entreprises clientes de cet espace. Un client qui demande la portée organization connecte un acteur en tant que membre de l’une d’elles, et son jeton porte le rôle qu’il y occupe."
6
6
  columns:
7
7
  organization: "Organisation"
8
8
  members: "Membres"
@@ -17,12 +17,12 @@ fr:
17
17
  add_lede: "Vous en devenez le premier propriétaire, et pourrez ajouter des membres une fois qu’elle existe."
18
18
  name: "Nom"
19
19
  key: "Clé"
20
- key_hint: "Une application demande cette organisation avec"
20
+ key_hint: "Un client demande cette organisation avec"
21
21
  key_word: "la clé"
22
22
  key_hint_end: ". La clé ne pourra plus changer."
23
23
  adding: "Ajout..."
24
24
  cancel: "Annuler"
25
- empty: "Aucune organisation pour l’instant. Ajoutez-en une pour chaque client dont les membres se connectent ensemble."
25
+ empty: "Aucune organisation pour l’instant. Ajoutez-en une pour chaque entreprise cliente dont les membres se connectent ensemble."
26
26
  tenant_policy: "La politique de l’espace"
27
27
  archived:
28
28
  title: "Archivées"
@@ -7,7 +7,7 @@ fr:
7
7
  saved: "%{name} enregistrée."
8
8
  archived_notice: "%{name} est archivée."
9
9
  restored: "%{name} est de retour."
10
- archive_confirm: "Archiver %{name} ? Ses applications reviennent à la politique par défaut."
10
+ archive_confirm: "Archiver %{name} ? Ses clients reviennent à la politique par défaut."
11
11
  never: "Jamais"
12
12
  score: "%{score} ou plus"
13
13
  presence:
@@ -35,7 +35,7 @@ fr:
35
35
  signup_open: "inscription ouverte"
36
36
  invitation_only: "sur invitation uniquement"
37
37
  second_factor_required: "second facteur obligatoire"
38
- apps_require_second_factor: "second facteur à chaque connexion à une application"
38
+ apps_require_second_factor: "second facteur à chaque connexion à un client"
39
39
  lifetime: "les sessions durent %{duration}"
40
40
  idle: "inactive après %{duration}"
41
41
  confirmed_by: "confirmé par %{confirmation}"
@@ -86,22 +86,22 @@ fr:
86
86
  second_factor:
87
87
  legend: "Second facteur"
88
88
  required: "Obligatoire pour tout le monde, pas seulement les gestionnaires"
89
- apps: "Redemandé à la connexion à une application quand la session n’en a pas utilisé"
89
+ apps: "Redemandé à la connexion à un client quand la session n’en a pas utilisé"
90
90
  risk:
91
91
  legend: "Risque"
92
92
  step_up: "Demander un second facteur à partir d’un score de"
93
93
  refuse: "Refuser à partir de"
94
94
  refuse_breached: "Refuser les mots de passe trouvés dans des fuites connues"
95
- hint: "Une connexion obtient un score jusqu’à 100 : un nouvel appareil 30, un nouveau réseau 25, un réseau à risque 50, des échecs répétés 20 ou 40, un compte inactif depuis six mois 10, et un mot de passe compromis 40. La vérification des fuites envoie les cinq premiers caractères du hachage SHA-1 du mot de passe, jamais le mot de passe."
95
+ hint: "Une connexion obtient un score jusqu’à 100 : un nouvel appareil 30, un nouveau réseau 25, un réseau à risque 50, des échecs répétés 20 ou 40, un acteur inactif depuis six mois 10, et un mot de passe compromis 40. La vérification des fuites envoie les cinq premiers caractères du hachage SHA-1 du mot de passe, jamais le mot de passe."
96
96
  sessions:
97
97
  legend: "Sessions"
98
98
  last: "Durée"
99
99
  after_sign_in: "après la connexion"
100
100
  end_after: "Fin après"
101
101
  idle: "d’inactivité"
102
- hint: "Les applications couvertes par cette politique redemandent la connexion dès qu’une session est plus ancienne ou inactive depuis plus longtemps, même si elle a commencé sous une autre politique. Une session plus courte met aussi fin aux jetons d’actualisation émis pendant celle-ci."
102
+ hint: "Les clients couverts par cette politique redemandent la connexion dès qu’une session est plus ancienne ou inactive depuis plus longtemps, même si elle a commencé sous une autre politique. Une session plus courte met aussi fin aux jetons d’actualisation émis pendant celle-ci."
103
103
  list:
104
- empty: "Aucune pour l’instant. Les applications utilisent la politique par défaut intégrée."
104
+ empty: "Aucune pour l’instant. Les clients utilisent la politique par défaut intégrée."
105
105
  default: "Par défaut"
106
106
  used_by: "Utilisée par"
107
107
  edit: "Modifier"
@@ -47,7 +47,7 @@ fr:
47
47
  password: "Mot de passe"
48
48
  second_factors: "Seconds facteurs"
49
49
  second_factor_required: "Second facteur obligatoire"
50
- apps_require_second_factor: "Second facteur à chaque connexion à une application"
50
+ apps_require_second_factor: "Second facteur à chaque connexion à un client"
51
51
  session_lifetime: "Durée de session"
52
52
  refuse_breached: "Refuse les mots de passe compromis"
53
53
  password_required: "Mot de passe exigé à l’inscription"
@@ -29,7 +29,7 @@ fr:
29
29
  notices:
30
30
  discovered: "Points de terminaison renseignés à partir du document de découverte."
31
31
  metadata_read: "L’entité, l’URL de connexion et les certificats du fournisseur d’identité ont été lus."
32
- registered: "%{name} est enregistré, et les applications peuvent être autorisées à l’utiliser."
32
+ registered: "%{name} est enregistré, et les clients peuvent l’utiliser."
33
33
  added: "%{name} peut désormais connecter des utilisateurs."
34
34
  saved: "%{name} enregistré."
35
35
  archived: "%{name} est archivé."
@@ -39,10 +39,12 @@ fr:
39
39
  archive: "Archiver %{name} ? Personne ne pourra se connecter avec lui tant qu’il n’est pas restauré."
40
40
  register: "S’enregistrer de nouveau auprès de %{name} ? Toutes les personnes qui y sont liées devront se reconnecter."
41
41
  picker:
42
- help: "Choisissez le service avec lequel les utilisateurs se connecteront. Tout ce qui ne figure pas dans la liste parle l’un des trois protocoles proposés à la fin."
42
+ help: "Choisissez avec quoi les acteurs se connectent. Ce qui n’est pas listé parle l’un des protocoles de Tout le reste."
43
+ back: "En choisir un autre"
44
+ known: "Fournisseurs connus"
45
+ generic: "Tout le reste"
43
46
  form:
44
47
  add_title: "Ajouter %{name}"
45
- edit_title: "Modifier %{name}"
46
48
  guide_lead: "Enregistrez d’abord masks auprès de %{name} :"
47
49
  guide_link: "Console de %{name}"
48
50
  give: "Donnez ceci à %{name}"
@@ -62,13 +64,13 @@ fr:
62
64
  certificates: "Certificats de signature"
63
65
  name_id_format: "Format du Name ID"
64
66
  mcp_url: "URL du serveur MCP"
65
- mcp_hint: "masks trouve le serveur d’autorisation du serveur à partir de ses métadonnées de ressource protégée et s’y enregistre : il n’y a donc aucun client ID à copier. Un serveur MCP ne connecte jamais personne. Les applications peuvent seulement être autorisées à l’utiliser."
67
+ mcp_hint: "masks trouve le serveur d’autorisation du serveur à partir de ses métadonnées de ressource protégée et s’y enregistre, il n’y a donc pas d’ID client à copier. Un serveur MCP ne connecte jamais personne. Les clients l’utilisent pour un acteur."
66
68
  issuer: "Émetteur"
67
69
  discover: "Découvrir"
68
70
  authorization_url: "URL d’autorisation"
69
71
  token_url: "URL des jetons"
70
72
  userinfo_url: "URL Userinfo"
71
- emails_url: "URL des e-mails vérifiés"
73
+ emails_url: "URL des e-mails"
72
74
  jwks_uri: "URI JWKS"
73
75
  optional: "facultatif"
74
76
  discovered_if_empty: "découvert si laissé vide"
@@ -91,66 +93,86 @@ fr:
91
93
  subject_oidc: "Sujet (sub ou oid)"
92
94
  subject_path: "Chemin du sujet"
93
95
  attribute_name: "nom de l’attribut"
94
- applications: "Applications"
95
- delegates: "Permettre aux applications d’utiliser le compte %{name} d’une personne"
96
- provider: "fournisseur"
97
- delegates_hint: "Une application approuvée peut demander à un utilisateur l’autorisation d’agir en son nom sur %{name} pendant son absence. masks conserve les jetons, les actualise et ne remet chacun d’eux qu’à l’application que cet utilisateur a acceptée."
98
- delegated_scopes: "Ce que les applications peuvent faire"
96
+ delegates: "Laisser les clients utiliser le compte %{name} d’un acteur"
97
+ delegates_hint: "Un client approuvé peut demander à un acteur de le laisser agir en son nom sur %{name} pendant son absence. masks garde les jetons, les renouvelle et ne remet chacun qu’au client auquel cet acteur a dit oui."
98
+ delegated_scopes: "Ce que les clients peuvent faire"
99
99
  server_grants: "ce que le serveur accorde"
100
100
  delegation_params: "Paramètres supplémentaires lors de la liaison"
101
- delegation_asks: "Une application demande"
102
- delegation_reconnect: "Modifier ce que les applications peuvent faire oblige tout le monde à se reconnecter."
103
- signing_in: "Connexion"
104
- owns: "%{name} possède le compte"
105
- this_provider: "Ce fournisseur"
106
- owns_hint: "Activé, une nouvelle personne obtient un compte ici, et son nom, sa photo et son adresse suivent %{name} à chaque connexion. Désactivé, ce n’est qu’un autre moyen d’accéder à un compte existant. Dans les deux cas, il remplace un mot de passe, jamais un second facteur."
101
+ delegation_asks: "Un client demande"
102
+ delegation_reconnect: "Changer ce que les clients peuvent faire oblige tout le monde à se reconnecter."
103
+ owns: "Ajouter les acteurs qu’il connecte"
104
+ owns_hint: "Activé, une personne nouvelle devient un acteur ici, et son nom, sa photo et son adresse suivent %{name} à chaque connexion. Désactivé, ce n’est qu’un autre moyen de se connecter en tant qu’acteur existant. Dans les deux cas, il remplace un mot de passe, jamais un second facteur."
107
105
  trusts_email: "Faire confiance aux adresses qu’il confirme"
108
106
  trusts_email_hint: "Uniquement pour un fournisseur qui vérifie réellement qu’un utilisateur détient la boîte aux lettres, comme Google, Apple et GitHub. Désactivé, seules les adresses des domaines ci-dessous sont acceptées telles quelles."
109
107
  signals: "Accepter ses événements de sécurité"
110
108
  signals_lead: "Il envoie des signaux partagés à"
111
- signals_rest: "Une session révoquée, un identifiant modifié ou un compte désactivé chez lui déconnecte le compte partout ici."
109
+ signals_rest: "Une session révoquée, un identifiant changé ou un compte désactivé là-bas déconnecte l’acteur partout ici."
112
110
  saml_domains: "Domaines d’e-mail dont il répond"
113
111
  domains: "Domaines d’e-mail"
114
112
  any_domain: "n’importe quel domaine"
115
- signup_scopes: "Portées d’un nouveau compte"
113
+ signup_scopes: "Portées d’un nouvel acteur"
116
114
  saving: "Enregistrement..."
117
115
  add: "Ajouter"
118
116
  save: "Enregistrer"
119
- empty: "Aucun fournisseur n’est configuré. Ajoutez-en un pour que les utilisateurs puissent se connecter avec Google, GitHub, le fournisseur d’identité de leur entreprise ou tout service qui parle OpenID Connect, OAuth 2.0 ou SAML."
120
- edit: "Modifier"
117
+ empty: "Aucun fournisseur n’est configuré. Ajoutez-en un et les acteurs pourront se connecter avec Google, GitHub, Okta, Entra ID ou tout ce qui parle OpenID Connect, OAuth 2.0 ou SAML."
121
118
  register: "S’enregistrer de nouveau"
122
119
  archive: "Archiver"
123
- badges:
124
- never_signs_in: "ne connecte jamais"
125
- owns_accounts: "possède les comptes"
126
- existing_only: "comptes existants uniquement"
127
- trusts_email: "fait confiance aux adresses confirmées"
128
- signals: "accepte les événements de sécurité"
129
- delegates: "utilisable par les applications"
130
120
  facts:
131
- acs_url: "URL de l’assertion consumer service"
132
- redirect_uri: "URI de redirection"
133
- sp_entity_id: "Entity ID du fournisseur de services"
134
- identity_provider: "Fournisseur d’identité"
135
- metadata: "Métadonnées"
136
- metadata_read: "lues le %{day}"
121
+ metadata_read: "Métadonnées lues %{day}."
137
122
  never: "jamais"
138
- pasted: "collées, non actualisées"
139
- client_id: "Client ID"
140
- signing_key: "Clé de signature"
141
- secret: "Secret"
142
- held: "conservé"
143
- none_set: "aucun"
144
- issuer: "Émetteur"
145
- scopes: "Portées demandées en amont"
146
- mcp_server: "Serveur MCP"
147
- registered: "Enregistré"
148
- delegation_scope: "Les applications demandent"
149
- delegations: "Applications qui l’utilisent"
150
- delegated_scopes: "Ce que les applications peuvent faire"
151
- connections: "Comptes associés"
123
+ registered: "Enregistré là-bas %{day}."
152
124
  signed_in: "Connexions avec ce fournisseur : %{count}"
153
- connected: "Personnes liées (%{count})"
125
+ delegations_count:
126
+ one: "Les clients détiennent %{count} délégation par lui."
127
+ other: "Les clients détiennent %{count} délégations par lui."
154
128
  archived: "Archivés"
155
129
  archived_on: "archivé le %{day}"
156
130
  restore: "Restaurer"
131
+ lede: "Les autres endroits par lesquels les acteurs se connectent, et les serveurs MCP que les clients peuvent utiliser pour un acteur."
132
+ back: "Fournisseurs"
133
+ copy: "Copier"
134
+ missing: "Aucun fournisseur n’a cette clé."
135
+ unsaved: "Modifications non enregistrées"
136
+ discard: "Annuler les modifications"
137
+ danger: "Archiver"
138
+ danger_lede: "Personne ne peut se connecter avec lui tant qu’il n’est pas restauré."
139
+ danger_lede_mcp: "S’enregistrer à nouveau oblige tous ceux qui y sont connectés à se reconnecter. L’archiver l’arrête jusqu’à sa restauration."
140
+ columns:
141
+ provider: "Fournisseur"
142
+ kind: "Type"
143
+ connections: "Comptes associés"
144
+ roles:
145
+ owns: "ajoute les acteurs qu’il connecte"
146
+ existing: "connecte seulement les acteurs existants"
147
+ never: "ne connecte jamais personne"
148
+ marks:
149
+ owns: "Ajoute les acteurs qu’il connecte"
150
+ trusts_email: "Fait confiance aux adresses qu’il confirme"
151
+ signals: "Accepte ses événements de sécurité"
152
+ delegates: "Les clients peuvent l’utiliser pour un acteur"
153
+ no_secret: "Aucun secret client n’est défini"
154
+ parts:
155
+ label: "Fournisseur"
156
+ setup: "Configuration"
157
+ sign_in: "Connexion"
158
+ clients: "Clients"
159
+ accounts: "Comptes associés (%{count})"
160
+ sections:
161
+ give_lede: "Enregistrez masks là-bas avec ces valeurs, pour qu’il renvoie les acteurs ici."
162
+ identity: "Nom"
163
+ identity_lede: "La clé fait partie de son URI de redirection, elle ne peut donc plus changer une fois ajoutée."
164
+ endpoints: "Points de terminaison"
165
+ endpoints_oidc: "Découvrir les remplit à partir du document de découverte de l’émetteur."
166
+ credentials_lede: "Ce que %{name} a émis quand masks y a été enregistré."
167
+ mcp: "Serveur MCP"
168
+ accounts: "Acteurs"
169
+ addresses: "Adresses e-mail"
170
+ signals: "Événements de sécurité"
171
+ claims_lede: "Quelle revendication ou quel attribut remplit chaque partie du profil d’un acteur."
172
+ delegation: "Délégation"
173
+ callouts:
174
+ archived: "Archivé %{day}. Personne ne peut se connecter avec lui."
175
+ no_secret: "Aucun secret client n’est défini"
176
+ no_secret_detail: "Saisissez sous Identifiants ce que %{name} a émis."
177
+ organization_lead: "Il appartient à"
178
+ organization_rest: "Les acteurs qui se connectent par lui rejoignent cette organisation."
@@ -2,7 +2,7 @@ fr:
2
2
  manage:
3
3
  provisioning:
4
4
  title: "Provisionnement"
5
- lede: "Un fournisseur d’identité ajoute, modifie, suspend et supprime ici des utilisateurs via SCIM 2.0."
5
+ lede: "Un annuaire ajoute, modifie, suspend et supprime ici des acteurs via SCIM 2.0."
6
6
  revoke_confirm: "Révoquer %{label} ? Tout provisionnement qui l’utilise est désormais refusé."
7
7
  revoked: "%{label} est révoqué."
8
8
  lifetimes:
@@ -10,12 +10,12 @@ fr:
10
10
  quarter: "90 jours"
11
11
  year: "Un an"
12
12
  connect:
13
- title: "Connecter un fournisseur"
14
- help: "Donnez au fournisseur cette URL et un jeton. Un utilisateur provisionné est identifié par son adresse e-mail, que masks considère comme confirmée, et se connecte via un fournisseur ou une invitation. Le mot de passe et l’adresse e-mail de quiconque détient une portée masks: ne sont jamais modifiés de cette façon, et le dernier gestionnaire n’est jamais suspendu ni supprimé."
13
+ title: "Connecter un annuaire"
14
+ help: "Donnez à l’annuaire cette URL et un jeton. Un acteur provisionné est identifié par son adresse e-mail, que masks considère comme confirmée, et se connecte via un fournisseur ou une invitation. Le mot de passe et l’adresse e-mail de quiconque détient une portée masks: ne sont jamais modifiés de cette façon, et le dernier gestionnaire n’est jamais suspendu ni supprimé."
15
15
  base_url: "URL de base SCIM"
16
16
  label: "Libellé"
17
17
  provisions: "Provisionne"
18
- every_account: "Tous les comptes"
18
+ every_account: "Tous les acteurs"
19
19
  only_members: "Seulement les membres de %{name}"
20
20
  lifetime: "Durée de vie du jeton"
21
21
  issue: "Émettre un jeton"
@@ -25,7 +25,7 @@ fr:
25
25
  name: "Nom"
26
26
  optional: "%{label} (facultatif)"
27
27
  unchanged: "inchangé"
28
- primary: "Principal — tout envoyer de ce type par son intermédiaire"
28
+ primary: "Principal, tout ce type est envoyé par son intermédiaire"
29
29
  create: "Ajouter"
30
30
  save: "Enregistrer"
31
31
  cancel: "Annuler"