在没有访问服务器的情况下使JS中的Django会话无效

时间:2018-06-05 21:15:12

标签: django authentication session-cookies progressive-web-apps

我需要能够使Django会话无效,即使没有Internet连接(或服务器已关闭,或任何事情)。会话cookie默认为httpOnly,我不想更改它,因此只是删除它不是一个选项。有没有标准的方法来处理这个问题?

相对简单的解决方案是在Django会话之上编写自定义中间件。这个中间件可以添加一个辅助会话令牌,比如<script> // This example creates a 2-pixel-wide red polyline showing the path of // the first trans-Pacific flight between Oakland, CA, and Brisbane, // Australia which was made by Charles Kingsford Smith. function initMap() { var map = new google.maps.Map(document.getElementById('map'), { zoom: 3, center: {lat: 0, lng: -180}, mapTypeId: 'terrain' }); var flightPlanCoordinates = [ {lat: 37.772, lng: -122.214}, {lat: 21.291, lng: -157.821}, {lat: -18.142, lng: 178.431}, {lat: -27.467, lng: 153.027} ]; var flightPath = new google.maps.Polyline({ path: flightPlanCoordinates, geodesic: true, strokeColor: '#FF0000', strokeOpacity: 1.0, strokeWeight: 2 }); flightPath.setMap(map); } </script> ,它可以从Javascript中访问(和删除)。两者都将被同时检查,因此只有一个丢失会使会话无效。但是,我强烈希望使用一些现成的解决方案,如果存在的话。

该应用程序可以作为Chrome的渐进式Web应用程序使用,因此如果有的话,我会对Chrome特定的解决方案感到满意。

0 个答案:

没有答案