|
80 | 80 | v-model="payload.checkPwned" |
81 | 81 | color="black" |
82 | 82 | label="Vérifier les mots de passe compromis" |
83 | | - hint="Utilise l'API de pwned pour vérifier si le mot de passe a été compromis dans une fuite de données" |
84 | 83 | ) |
| 84 | + q-tooltip.text-body2(anchor="top middle" self="bottom middle") |
| 85 | + | Utilise l'API HIBP (Pwned Passwords) pour vérifier si le mot de passe a été compromis dans une fuite de données. |
85 | 86 | q-toggle.col-12.col-sm-6.col-md-4.col-lg-3( |
86 | | - :disable='!hasPermission("/settings/passwdadm", "update") || !hibpKeyStatus.valid' |
| 87 | + :disable='!hasPermission("/settings/passwdadm", "update") || !payload.checkPwned || !hibpKeyStatus.valid' |
87 | 88 | dense |
88 | 89 | v-model="payload.pwnedRecheckEnabled" |
89 | 90 | color="teal" |
90 | 91 | label="Stockage des empreintes HIBP (Pwned Passwords)" |
91 | | - hint="Active le stockage des empreintes SHA-1 chiffrées dans l'historique des mots de passe" |
92 | 92 | ) |
93 | | - q-tooltip.text-body2(anchor="top middle" self="bottom middle" v-if="!hibpKeyStatus.valid") |
| 93 | + q-tooltip.text-body2(anchor="top middle" self="bottom middle" v-if="!payload.checkPwned") |
| 94 | + | Activer d’abord « Vérifier les mots de passe compromis ». |
| 95 | + q-tooltip.text-body2(anchor="top middle" self="bottom middle" v-else-if="!hibpKeyStatus.valid") |
94 | 96 | span(v-text="hibpKeyStatus.reason || 'Clé SESAME_PASSWORD_HISTORY_HIBP_KEY invalide'") |
| 97 | + q-tooltip.text-body2(anchor="top middle" self="bottom middle" v-else) |
| 98 | + | Active le stockage des empreintes SHA-1 chiffrées (non réversibles) dans l'historique des mots de passe pour permettre le re-check planifié. |
95 | 99 | q-toggle.col-12.col-sm-6.col-md-4.col-lg-3( |
96 | 100 | :disable='!hasPermission("/settings/passwdadm", "update")' |
97 | 101 | dense |
|
140 | 144 | dense |
141 | 145 | ) |
142 | 146 | q-select.col-12.col-sm-6.col-md-5.col-lg-4( |
143 | | - :disable='!hasPermission("/settings/passwdadm", "update")' |
| 147 | + :disable='!hasPermission("/settings/passwdadm", "update") || !payload.pwnedRecheckEnabled || !hibpKeyStatus.valid' |
144 | 148 | outlined |
145 | 149 | dense |
146 | 150 | emit-value |
|
187 | 191 | </template> |
188 | 192 |
|
189 | 193 | <script lang="ts"> |
190 | | -import { ref } from 'vue' |
| 194 | +import { ref, watch } from 'vue' |
191 | 195 |
|
192 | 196 | type PasswordPolicySettings = { |
193 | 197 | len: number |
@@ -275,6 +279,16 @@ export default defineComponent({ |
275 | 279 | payload.value.pwnedRecheckEnabled = false |
276 | 280 | } |
277 | 281 |
|
| 282 | + watch( |
| 283 | + () => payload.value.checkPwned, |
| 284 | + (enabled) => { |
| 285 | + if (!enabled) { |
| 286 | + payload.value.pwnedRecheckEnabled = false |
| 287 | + payload.value.pwnedRecheckAction = 'none' |
| 288 | + } |
| 289 | + }, |
| 290 | + ) |
| 291 | +
|
278 | 292 | return { |
279 | 293 | payload, |
280 | 294 | pwnedActions, |
|
0 commit comments