web/flow: render prompt inputs without unsafeHTML (#5404)

Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
Jens L
2023-04-28 22:46:34 +03:00
committed by GitHub
parent af7cc8d42d
commit a8332eced6
2 changed files with 69 additions and 72 deletions

View File

@ -5,17 +5,16 @@ import { t } from "@lingui/macro";
import { TemplateResult, html } from "lit";
import { customElement } from "lit/decorators.js";
import { unsafeHTML } from "lit/directives/unsafe-html.js";
import { PromptTypeEnum, StagePrompt } from "@goauthentik/api";
@customElement("ak-user-stage-prompt")
export class UserSettingsPromptStage extends PromptStage {
renderPromptInner(prompt: StagePrompt): string {
renderPromptInner(prompt: StagePrompt): TemplateResult {
switch (prompt.type) {
// Checkbox requires slightly different rendering here due to the use of horizontal form elements
case PromptTypeEnum.Checkbox:
return `<input
return html`<input
type="checkbox"
class="pf-c-check__input"
name="${prompt.fieldKey}"
@ -41,14 +40,11 @@ export class UserSettingsPromptStage extends PromptStage {
return error.string;
})}
>
${unsafeHTML(this.renderPromptInner(prompt))}
${this.renderPromptHelpText(prompt)}
${this.renderPromptInner(prompt)} ${this.renderPromptHelpText(prompt)}
</ak-form-element-horizontal>
`;
}
return html`
${unsafeHTML(this.renderPromptInner(prompt))} ${this.renderPromptHelpText(prompt)}
`;
return html` ${this.renderPromptInner(prompt)} ${this.renderPromptHelpText(prompt)} `;
}
renderContinue(): TemplateResult {