123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- import u2f from 'u2f-api';
- import {Field} from 'sentry/views/settings/components/forms/type';
- export type AuthenticatorDevice = {
- key_handle: string;
- authId: string;
- name: string;
- timestamp?: string;
- };
- export type Authenticator = {
- /**
- * String used to display on button for user as CTA to enroll
- */
- enrollButton: string;
- /**
- * Display name for the authenticator
- */
- name: string;
- /**
- * Allows multiple enrollments to authenticator
- */
- allowMultiEnrollment: boolean;
- /**
- * Allows authenticator's secret to be rotated without disabling
- */
- allowRotationInPlace: boolean;
- /**
- * String to display on button for user to remove authenticator
- */
- removeButton: string | null;
- canValidateOtp: boolean;
- /**
- * Is user enrolled to this authenticator
- */
- isEnrolled: boolean;
- /**
- * String to display on button for additional information about authenticator
- */
- configureButton: string;
- /**
- * Is this used as a backup interface?
- */
- isBackupInterface: boolean;
- /**
- * Description of the authenticator
- */
- description: string;
- rotationWarning: string | null;
- status: string;
- createdAt: string | null;
- lastUsedAt: string | null;
- codes: string[];
- devices: AuthenticatorDevice[];
- phone?: string;
- secret?: string;
- /**
- * The form configuration for the authenticator is present during enrollment
- */
- form?: Field[];
- } & Partial<EnrolledAuthenticator> &
- (
- | {
- id: 'sms';
- }
- | {
- id: 'totp';
- qrcode: string;
- }
- | {
- id: 'u2f';
- challenge: ChallengeData;
- }
- );
- export type ChallengeData = {
- // will have only authenticateRequest or registerRequest
- authenticateRequests: u2f.SignRequest;
- registerRequests: u2f.RegisterRequest;
- registeredKeys: u2f.RegisteredKey[];
- };
- export type EnrolledAuthenticator = {
- lastUsedAt: string | null;
- createdAt: string;
- authId: string;
- name: string;
- };
- /**
- * This is an authenticator that a user is enrolled in
- */
- export type UserEnrolledAuthenticator = {
- dateUsed: EnrolledAuthenticator['lastUsedAt'];
- dateCreated: EnrolledAuthenticator['createdAt'];
- type: Authenticator['id'];
- id: EnrolledAuthenticator['authId'];
- name: EnrolledAuthenticator['name'];
- };
|