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,
1,
);
if (connectTokenData != null) {
String accessToken = connectTokenData.accessToken!;
OneIDResetOTP? oneIDResetOTP = await oneIDReset(
context,
phoneNumber,
accessToken,
1,
);
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,
);
}));
}
}
}
}