[iOS] Sécurité: Alamofire – désactivation de NSURL cache
lundi 30 janvier 2017Par défaut et pour un soucis de rapidité d’appel à des webservices, les urls sont sauvés dans une base de données
sqlite locale dans l’application.
Cette base de donnée se trouve dans /library/Cache/…../Cache.db
Dans cette db on peut retrouver les appels vers nos webservices avec les paramètres envoyés.
Suite à un audit de sécurité, il m’a été demandé de désactiver ce caching des urls/
Il faut donc modifier la configuration du composant Alamofire qui se charge d’appeler les webservices au backend en demandant de ne plus sauver ces urls dans le cache via le code suivant:
private func executeLoad() { self.status = .Loading if let URLRequest = self.createURLRequest() { NetworkActivityIndicatorService.sharedInstance.networkActivityStarted() let config = NSURLSessionConfiguration.defaultSessionConfiguration() config.URLCache = nil config.requestCachePolicy = NSURLRequestCachePolicy.ReloadIgnoringLocalCacheData let manager = Alamofire.Manager(configuration: config) self.request = manager.request(URLRequest).responseData(completionHandler: { (response) in self.handleRequestResult(response) }) } }