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

https://www.owasp.org/index.php/rest_security_cheat_sheet


Comments

Popular posts from this blog

python - Selenium remoteWebDriver (& SauceLabs) Firefox moseMoveTo action exception -

html - How to custom Bootstrap grid height? -

transpose - Maple isnt executing function but prints function term -