requestOTPLogin function
Implementation
Future<void> requestOTPLogin(
BuildContext context,
Locale? locale,
String phoneNumber,
String clientID,
String secret,
String scope,
var route,
bool isFromConfirm, String? fromApp) async {
showDialog(
context: context,
builder: (_) {
return DialogLoading(title: locale == const Locale('en') ? 'Loading' : 'ກຳລັງໂຫຼດ');
});
String grantTypeCredentials = ConstData.grantTypeCredentials;
String payload = jsonEncode({
"clientID": clientID,
"secret": secret,
"grantType": grantTypeCredentials,
"scope": scope,
"username": '',
"password": ''
});
ConnectRefreshTokenModel? connectTokenData =
await connectTokenLogin(payload, context, locale, 0);
if (connectTokenData != null) {
String accessToken = connectTokenData.accessToken!;
OneIDResetOTP? oneIDResetOTP =
await oneIDReset(context, phoneNumber, accessToken, 0);
if (oneIDResetOTP != null) {
if (isFromConfirm) {
Navigator.pop(context);
} else {
Navigator.pushReplacement(context, MaterialPageRoute(builder: (_) {
return ConfirmOTP(
clientID: clientID,
secret: secret,
scope: scope,
phoneNumber: phoneNumber,
route: route,
fromApp: fromApp,
locale: locale,
);
}));
}
}
}
}