web/flows: attempt to fix bitwareden android compatibility (#7455)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
parent
fe1a06ebf2
commit
a7933c84c1
|
@ -80,11 +80,12 @@ export class IdentificationStage extends BaseStage<
|
||||||
}
|
}
|
||||||
|
|
||||||
createHelperForm(): void {
|
createHelperForm(): void {
|
||||||
|
const compatMode = "ShadyDOM" in window;
|
||||||
this.form = document.createElement("form");
|
this.form = document.createElement("form");
|
||||||
document.documentElement.appendChild(this.form);
|
document.documentElement.appendChild(this.form);
|
||||||
// Only add the additional username input if we're in a shadow dom
|
// Only add the additional username input if we're in a shadow dom
|
||||||
// otherwise it just confuses browsers
|
// otherwise it just confuses browsers
|
||||||
if (!("ShadyDOM" in window)) {
|
if (!compatMode) {
|
||||||
// This is a workaround for the fact that we're in a shadow dom
|
// This is a workaround for the fact that we're in a shadow dom
|
||||||
// adapted from https://github.com/home-assistant/frontend/issues/3133
|
// adapted from https://github.com/home-assistant/frontend/issues/3133
|
||||||
const username = document.createElement("input");
|
const username = document.createElement("input");
|
||||||
|
@ -104,6 +105,8 @@ export class IdentificationStage extends BaseStage<
|
||||||
};
|
};
|
||||||
this.form.appendChild(username);
|
this.form.appendChild(username);
|
||||||
}
|
}
|
||||||
|
// Only add the password field when we don't already show a password field
|
||||||
|
if (!compatMode && !this.challenge.passwordFields) {
|
||||||
const password = document.createElement("input");
|
const password = document.createElement("input");
|
||||||
password.setAttribute("type", "password");
|
password.setAttribute("type", "password");
|
||||||
password.setAttribute("name", "password");
|
password.setAttribute("name", "password");
|
||||||
|
@ -128,6 +131,7 @@ export class IdentificationStage extends BaseStage<
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
this.form.appendChild(password);
|
this.form.appendChild(password);
|
||||||
|
}
|
||||||
const totp = document.createElement("input");
|
const totp = document.createElement("input");
|
||||||
totp.setAttribute("type", "text");
|
totp.setAttribute("type", "text");
|
||||||
totp.setAttribute("name", "code");
|
totp.setAttribute("name", "code");
|
||||||
|
|
Reference in New Issue