Auto Logout from android application after 15min of inactivity (Session managment) -
i have android application talks server through rest apis web services. need apply session management in android application. @ server side if there 15 mins of inactivity user logged out , new authentication token generated.i want session management in android application. using volley network calls.
reason behind doing this:
i want apply session management because after 15 mins of inactivity server generate new token key , invalidate session. android application needs have new token key generated server authentication , successful web service call.
what have till session management in android:
my mainactivity code:
public class mainactivity extends appcompatactivity { public static final long disconnect_timeout = 600000;// 15 min private handler disconnecthandler = new handler() { public void handlemessage(message msg) { } }; private runnable disconnectcallback = new runnable() { @override public void run() { // perform required operation log out intent intent = new intent(mainactivity.this, secondactivity.class); startactivity(intent); } }; public void resetdisconnecttimer() { disconnecthandler.removecallbacks(disconnectcallback); disconnecthandler.postdelayed(disconnectcallback, disconnect_timeout); } public void stopdisconnecttimer() { disconnecthandler.removecallbacks(disconnectcallback); } @override protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); } @override public void onuserinteraction() { resetdisconnecttimer(); } @override public void onresume() { super.onresume(); resetdisconnecttimer(); } @override public void onstop() { super.onstop(); stopdisconnecttimer(); } } how can check if session has timed out @ server side or how can logout user after 15mins of inactivity.
as previous answers stated should let server ( rest api ) handle that.
on every request android application send token have header ( best practice ) , let server validate token first @ times before doing else. if token not valid anymore can let him send special response http 401 or other http code, telling session timed out.
in android application have handle response , automatically start/redirect login. once logged in usual.
if want can try remember user before getting thrown out , redirect activity after authorized again.
here resources rest session management:
https://www.quora.com/what-is-the-best-way-of-session-management-in-rest-architecture
if rest applications supposed stateless, how manage sessions?
http://blog.synopse.info/post/2011/05/24/how-to-implement-restful-authentication
Comments
Post a Comment