diff --git a/console/src/components/login/LoginForm.vue b/console/src/components/login/LoginForm.vue index 168f24b73..4e25c18ee 100644 --- a/console/src/components/login/LoginForm.vue +++ b/console/src/components/login/LoginForm.vue @@ -155,6 +155,7 @@ const { data: socialAuthProviders } = useQuery({ :placeholder="$t('core.login.fields.password.placeholder')" type="password" validation="required" + autocomplete="current-password" > diff --git a/console/src/formkit/formkit.config.ts b/console/src/formkit/formkit.config.ts index 5b302894b..5e7034f48 100644 --- a/console/src/formkit/formkit.config.ts +++ b/console/src/formkit/formkit.config.ts @@ -18,12 +18,13 @@ import { tagCheckbox } from "./inputs/tag-checkbox"; import radioAlt from "./plugins/radio-alt"; import stopImplicitSubmission from "./plugins/stop-implicit-submission"; +import passwordPreventAutocomplete from "./plugins/password-prevent-autocomplete"; const config: DefaultConfigOptions = { config: { classes: generateClasses(theme), }, - plugins: [radioAlt, stopImplicitSubmission], + plugins: [radioAlt, stopImplicitSubmission, passwordPreventAutocomplete], inputs: { form, attachment, diff --git a/console/src/formkit/plugins/password-prevent-autocomplete.ts b/console/src/formkit/plugins/password-prevent-autocomplete.ts new file mode 100644 index 000000000..c323b47dd --- /dev/null +++ b/console/src/formkit/plugins/password-prevent-autocomplete.ts @@ -0,0 +1,9 @@ +import type { FormKitNode } from "@formkit/core"; + +export default function passwordPreventAutocomplete(node: FormKitNode) { + if (node.props.type === "password" && !node.props.attrs?.autocomplete) { + if (!node.props.attrs) node.props.attrs = {}; + // https://developer.mozilla.org/en-US/docs/Web/Security/Securing_your_site/Turning_off_form_autocompletion#preventing_autofilling_with_autocompletenew-password + node.props.attrs.autocomplete = "new-password"; + } +}