Two factor auth support

This commit is contained in:
Igor Kulikov
2022-08-17 17:12:19 +03:00
parent 519e67cce8
commit 4cc90ca20b
9 changed files with 816 additions and 6 deletions

View File

@@ -20,6 +20,15 @@ typedef String MessageIfAbsent(String messageStr, List<dynamic> args);
class MessageLookup extends MessageLookupByLibrary {
String get localeName => 'en';
static String m0(contact) =>
"A security code has been sent to your email address at ${contact}.";
static String m1(time) =>
"Resend code in ${Intl.plural(time, one: '1 second', other: '${time} seconds')}";
static String m2(contact) =>
"A security code has been sent to your phone at ${contact}.";
final messages = _notInlinedMessages(_notInlinedMessages);
static Map<String, Function> _notInlinedMessages(_) => <String, Function>{
"No": MessageLookupByLibrary.simpleMessage("No"),
@@ -46,9 +55,14 @@ class MessageLookup extends MessageLookupByLibrary {
"auditLogDetails":
MessageLookupByLibrary.simpleMessage("Audit log details"),
"auditLogs": MessageLookupByLibrary.simpleMessage("Audit Logs"),
"backupCodeAuthDescription": MessageLookupByLibrary.simpleMessage(
"Please enter one of your backup codes."),
"backupCodeAuthPlaceholder":
MessageLookupByLibrary.simpleMessage("Backup code"),
"changePassword":
MessageLookupByLibrary.simpleMessage("Change Password"),
"city": MessageLookupByLibrary.simpleMessage("City"),
"continueText": MessageLookupByLibrary.simpleMessage("Continue"),
"country": MessageLookupByLibrary.simpleMessage("Country"),
"currentPassword":
MessageLookupByLibrary.simpleMessage("currentPassword"),
@@ -60,6 +74,9 @@ class MessageLookup extends MessageLookupByLibrary {
"customers": MessageLookupByLibrary.simpleMessage("Customers"),
"devices": MessageLookupByLibrary.simpleMessage("Devices"),
"email": MessageLookupByLibrary.simpleMessage("Email"),
"emailAuthDescription": m0,
"emailAuthPlaceholder":
MessageLookupByLibrary.simpleMessage("Email code"),
"emailInvalidText":
MessageLookupByLibrary.simpleMessage("Invalid email format."),
"emailRequireText":
@@ -83,6 +100,12 @@ class MessageLookup extends MessageLookupByLibrary {
"logoDefaultValue":
MessageLookupByLibrary.simpleMessage("Thingsboard Logo"),
"logout": MessageLookupByLibrary.simpleMessage("Log Out"),
"mfaProviderBackupCode":
MessageLookupByLibrary.simpleMessage("Backup code"),
"mfaProviderEmail": MessageLookupByLibrary.simpleMessage("Email"),
"mfaProviderSms": MessageLookupByLibrary.simpleMessage("SMS"),
"mfaProviderTopt":
MessageLookupByLibrary.simpleMessage("Authenticator app"),
"more": MessageLookupByLibrary.simpleMessage("More"),
"newPassword": MessageLookupByLibrary.simpleMessage("newPassword"),
"newPassword2": MessageLookupByLibrary.simpleMessage("newPassword2"),
@@ -117,6 +140,12 @@ class MessageLookup extends MessageLookupByLibrary {
"Profile successfully updated"),
"requestPasswordReset":
MessageLookupByLibrary.simpleMessage("Request password reset"),
"resendCode": MessageLookupByLibrary.simpleMessage("Resend code"),
"resendCodeWait": m1,
"selectWayToVerify":
MessageLookupByLibrary.simpleMessage("Select a way to verify"),
"smsAuthDescription": m2,
"smsAuthPlaceholder": MessageLookupByLibrary.simpleMessage("SMS code"),
"stateOrProvince":
MessageLookupByLibrary.simpleMessage("State / Province"),
"systemAdministrator":
@@ -124,8 +153,21 @@ class MessageLookup extends MessageLookupByLibrary {
"tenantAdministrator":
MessageLookupByLibrary.simpleMessage("Tenant Administrator"),
"title": MessageLookupByLibrary.simpleMessage("Title"),
"toptAuthPlaceholder": MessageLookupByLibrary.simpleMessage("Code"),
"totpAuthDescription": MessageLookupByLibrary.simpleMessage(
"Please enter the security code from your authenticator app."),
"tryAgain": MessageLookupByLibrary.simpleMessage("Try Again"),
"tryAnotherWay":
MessageLookupByLibrary.simpleMessage("Try another way"),
"type": MessageLookupByLibrary.simpleMessage("Type"),
"username": MessageLookupByLibrary.simpleMessage("username")
"username": MessageLookupByLibrary.simpleMessage("username"),
"verificationCodeIncorrect": MessageLookupByLibrary.simpleMessage(
"Verification code is incorrect"),
"verificationCodeInvalid": MessageLookupByLibrary.simpleMessage(
"Invalid verification code format"),
"verificationCodeManyRequest": MessageLookupByLibrary.simpleMessage(
"Too many requests check verification code"),
"verifyYourIdentity":
MessageLookupByLibrary.simpleMessage("Verify your identity")
};
}

View File

@@ -779,6 +779,216 @@ class S {
args: [],
);
}
/// `Verify your identity`
String get verifyYourIdentity {
return Intl.message(
'Verify your identity',
name: 'verifyYourIdentity',
desc: '',
args: [],
);
}
/// `Continue`
String get continueText {
return Intl.message(
'Continue',
name: 'continueText',
desc: '',
args: [],
);
}
/// `Resend code`
String get resendCode {
return Intl.message(
'Resend code',
name: 'resendCode',
desc: '',
args: [],
);
}
/// `Resend code in {time,plural, =1{1 second}other{{time} seconds}}`
String resendCodeWait(num time) {
return Intl.message(
'Resend code in ${Intl.plural(time, one: '1 second', other: '$time seconds')}',
name: 'resendCodeWait',
desc: '',
args: [time],
);
}
/// `Please enter the security code from your authenticator app.`
String get totpAuthDescription {
return Intl.message(
'Please enter the security code from your authenticator app.',
name: 'totpAuthDescription',
desc: '',
args: [],
);
}
/// `A security code has been sent to your phone at {contact}.`
String smsAuthDescription(Object contact) {
return Intl.message(
'A security code has been sent to your phone at $contact.',
name: 'smsAuthDescription',
desc: '',
args: [contact],
);
}
/// `A security code has been sent to your email address at {contact}.`
String emailAuthDescription(Object contact) {
return Intl.message(
'A security code has been sent to your email address at $contact.',
name: 'emailAuthDescription',
desc: '',
args: [contact],
);
}
/// `Please enter one of your backup codes.`
String get backupCodeAuthDescription {
return Intl.message(
'Please enter one of your backup codes.',
name: 'backupCodeAuthDescription',
desc: '',
args: [],
);
}
/// `Invalid verification code format`
String get verificationCodeInvalid {
return Intl.message(
'Invalid verification code format',
name: 'verificationCodeInvalid',
desc: '',
args: [],
);
}
/// `Code`
String get toptAuthPlaceholder {
return Intl.message(
'Code',
name: 'toptAuthPlaceholder',
desc: '',
args: [],
);
}
/// `SMS code`
String get smsAuthPlaceholder {
return Intl.message(
'SMS code',
name: 'smsAuthPlaceholder',
desc: '',
args: [],
);
}
/// `Email code`
String get emailAuthPlaceholder {
return Intl.message(
'Email code',
name: 'emailAuthPlaceholder',
desc: '',
args: [],
);
}
/// `Backup code`
String get backupCodeAuthPlaceholder {
return Intl.message(
'Backup code',
name: 'backupCodeAuthPlaceholder',
desc: '',
args: [],
);
}
/// `Verification code is incorrect`
String get verificationCodeIncorrect {
return Intl.message(
'Verification code is incorrect',
name: 'verificationCodeIncorrect',
desc: '',
args: [],
);
}
/// `Too many requests check verification code`
String get verificationCodeManyRequest {
return Intl.message(
'Too many requests check verification code',
name: 'verificationCodeManyRequest',
desc: '',
args: [],
);
}
/// `Try another way`
String get tryAnotherWay {
return Intl.message(
'Try another way',
name: 'tryAnotherWay',
desc: '',
args: [],
);
}
/// `Select a way to verify`
String get selectWayToVerify {
return Intl.message(
'Select a way to verify',
name: 'selectWayToVerify',
desc: '',
args: [],
);
}
/// `Authenticator app`
String get mfaProviderTopt {
return Intl.message(
'Authenticator app',
name: 'mfaProviderTopt',
desc: '',
args: [],
);
}
/// `SMS`
String get mfaProviderSms {
return Intl.message(
'SMS',
name: 'mfaProviderSms',
desc: '',
args: [],
);
}
/// `Email`
String get mfaProviderEmail {
return Intl.message(
'Email',
name: 'mfaProviderEmail',
desc: '',
args: [],
);
}
/// `Backup code`
String get mfaProviderBackupCode {
return Intl.message(
'Backup code',
name: 'mfaProviderBackupCode',
desc: '',
args: [],
);
}
}
class AppLocalizationDelegate extends LocalizationsDelegate<S> {