sendToBackend method
Implementation
Future<void> sendToBackend(String accessToken, BuildContext context,
[String? tokenType]) async {
try {
final model = AzureTokenInputModel(
accessToken: accessToken,
idpName: idpName_shared_preferences ?? '',
tokenType: tokenType);
final response = await _dio.post(
'${Configuration.AuthUrl}/auth',
data: model.toJson(),
);
if (response.statusCode == 200) {
final responseData = AuthResponseModel.fromJson(response.data);
print('Entities Length: ${responseData.entities.length}');
if (responseData.entities.length == 1) {
final entityDta = responseData.entities[0];
print('Single Entity');
final FlutterSecureStorage secureStorage = FlutterSecureStorage();
String jsonString = jsonEncode(response.data);
await secureStorage.write(key: "Entities_List", value: jsonString);
await secureStorage.write(
key: "idpname_backend", value: responseData.idpname_backend);
if (context.mounted) {
getJwtFromBackend(
responseData.username,
responseData.idpname_backend,
entityDta.tenant,
entityDta.refreshToken,
deviceId_shared_preferences ?? '',
context);
}
} else {
print('Multiple Entities');
final FlutterSecureStorage secureStorage = FlutterSecureStorage();
String jsonString = jsonEncode(response.data);
await secureStorage.write(key: "Entities_List", value: jsonString);
await secureStorage.write(key: "idpname_backend", value: responseData.idpname_backend);
await secureStorage.delete(key: "JWT_Token");
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}');
}
}
}