getJwtFromBackend static method
Implementation
static Future<void> getJwtFromBackend(
String username,
String idpName,
String tenant,
String refreshToken,
String deviceId,
BuildContext context) async {
try {
final model = AudModel(
username: username,
idpname_backend: idpName,
tenant: tenant,
refreshToken: refreshToken,
deviceId: deviceId);
final response = await dio2.post(
'${Configuration.AuthUrl}/aud',
data: model.toJson(),
options: Options(
extra: {'_database_name': tenant}, // Set in request options
),
);
if (response.statusCode == 200) {
final responseData = AuthTokenModel.fromJson(response.data);
final FlutterSecureStorage secureStorage = FlutterSecureStorage();
await secureStorage.write(key: "JWT_Token", value: responseData.token);
await secureStorage.write(
key: "Refresh_Token", value: responseData.refreshToken);
await secureStorage.write(key: "Username", value: username);
context.goNamed('/');
} else {
print('Backend error: ${response.statusCode} ${response.data}');
}
} catch (e) {
print('Error sending tokens to backend: $e');
if (e is DioError) {
print('Request data: ${e.requestOptions.data}');
print('Response data: ${e.response?.data}');
}
}
}