web/flows: use dompurify for footer links (#11773)
Signed-off-by: Jens Langhammer <jens@goauthentik.io>
This commit is contained in:
17
web/src/common/purify.ts
Normal file
17
web/src/common/purify.ts
Normal file
@ -0,0 +1,17 @@
|
||||
import DOMPurify from "dompurify";
|
||||
|
||||
import { render } from "@lit-labs/ssr";
|
||||
import { collectResult } from "@lit-labs/ssr/lib/render-result.js";
|
||||
import { TemplateResult, html } from "lit";
|
||||
import { unsafeHTML } from "lit/directives/unsafe-html.js";
|
||||
import { until } from "lit/directives/until.js";
|
||||
|
||||
export function purify(input: TemplateResult): TemplateResult {
|
||||
return html`${until(
|
||||
(async () => {
|
||||
const rendered = await collectResult(render(input));
|
||||
const purified = DOMPurify.sanitize(rendered);
|
||||
return html`${unsafeHTML(purified)}`;
|
||||
})(),
|
||||
)}`;
|
||||
}
|
||||
Reference in New Issue
Block a user