1description: > 2 This interface defines methods and properties required for Time-based 3 One-time Password (TOTP) multi-factor authentication at user level to 4 support multi-factor authentication secret key setup for each user. This 5 interface implemented by each user object to support TOTP based 6 authenticators like google, microsoft, etc. 7 8methods: 9 - name: CreateSecretKey 10 description: > 11 This method setup Time-based One-time Password (TOTP) authenticator 12 secret key for the given user and returns secret key string to share 13 secret key to user. 14 returns: 15 - name: SecretKey 16 type: string 17 description: > 18 Secret key string which will be shared to user to setup TOTP 19 applications to generate TOTP token. 20 21 - name: VerifyOTP 22 description: > 23 This method verifies OTP with Time-based One-time Password 24 authenticator secret key for the given user and returns weather this 25 OTP is valid or not which make sure user has setup valid secret key 26 for two factor authentication. 27 parameters: 28 - name: OTP 29 type: string 30 description: > 31 One-time password string 32 returns: 33 - name: Status 34 type: boolean 35 description: > 36 Returns true if provided OTP is valid otherwise returns false. 37 38properties: 39 - name: SecretKeyIsValid 40 type: boolean 41 default: false 42 description: > 43 This property indicates whether TOTP authenticator secret key setup 44 for the given user 45 46 - name: BypassedProtocol 47 type: enum[xyz.openbmc_project.User.MultiFactorAuthConfiguration.Type] 48 default: None 49 description: > 50 User level multi-factor authentication bypass settings. This interface 51 will be implemented by user D-bus object to support user's MFA bypass 52 configuration. 53