From 709dc7280e8b4aab2b173c3897b418f6e1759ae7 Mon Sep 17 00:00:00 2001 From: Puyodead1 Date: Sun, 29 Jan 2023 21:30:42 -0500 Subject: Implement WebAuthn (#967) * implement webauthn * code review --------- Co-authored-by: Madeline <46743919+MaddyUnderStars@users.noreply.github.com> --- src/util/entities/User.ts | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/util/entities/User.ts') diff --git a/src/util/entities/User.ts b/src/util/entities/User.ts index 658584c3..fa8c7aa7 100644 --- a/src/util/entities/User.ts +++ b/src/util/entities/User.ts @@ -33,6 +33,7 @@ import { UserSettings } from "./UserSettings"; import { Session } from "./Session"; import { Config, FieldErrors, Snowflake, trimSpecial, adjustEmail } from ".."; import { Request } from "express"; +import { SecurityKey } from "./SecurityKey"; export enum PublicUserEnum { username, @@ -138,6 +139,9 @@ export class User extends BaseClass { @Column({ select: false }) mfa_enabled: boolean = false; // if multi factor authentication is enabled + @Column({ select: false, default: false }) + webauthn_enabled: boolean = false; // if webauthn multi factor authentication is enabled + @Column({ select: false, nullable: true }) totp_secret?: string = ""; @@ -223,6 +227,9 @@ export class User extends BaseClass { @Column({ type: "simple-json", select: false }) extended_settings: string = "{}"; + @OneToMany(() => SecurityKey, (key: SecurityKey) => key.user) + security_keys: SecurityKey[]; + // TODO: I don't like this method? validate() { if (this.email) { -- cgit 1.5.1