user1457957
user1457957

Reputation: 305

Auto Logout in Angular js

How do I implement auto logout after 30 minutes of idle time using the ng-idle module of Angularjs?

Upvotes: 1

Views: 4906

Answers (1)

Doggy-B
Doggy-B

Reputation: 47

I really don't know much about angularjs, i'm doing a course on it but i'm just getting started. Though I do know someone on github who could help you. I've just included snippets here, but you should check out this site if you want to know more: https://github.com/HackedByChinese/ng-idle

Anyway, here it is:

Include angular-idle.js after angular.js. You can install using Bower with this command: bower install --save ng-idle.

Bare bones example:

// include the `ngIdle` module
var app = angular.module('demo', ['ngIdle']);

app
.controller('EventsCtrl', function($scope, Idle) {
    $scope.events = [];

    $scope.$on('IdleStart', function() {
        // the user appears to have gone idle
    });

    $scope.$on('IdleWarn', function(e, countdown) {
        // follows after the IdleStart event, but includes a countdown until         the user is considered timed out
        // the countdown arg is the number of seconds remaining until then.
        // you can change the title or display a warning dialog from here.
        // you can let them resume their session by calling Idle.watch()
    });

    $scope.$on('IdleTimeout', function() {
        // the user has timed out (meaning idleDuration + timeout has passed     without any activity)
        // this is where you'd log them
    });

    $scope.$on('IdleEnd', function() {
        // the user has come back from AFK and is doing stuff. if you are     warning them, you can use this to hide the dialog
    });

    $scope.$on('Keepalive', function() {
        // do something to keep the user's session alive
    });

 })
.config(function(IdleProvider, KeepaliveProvider) {
   // configure Idle settings
    IdleProvider.idle(5); // in seconds
    IdleProvider.timeout(5); // in seconds
    KeepaliveProvider.interval(2); // in seconds
})
.run(function(Idle){
    // start watching when the app runs. also starts the Keepalive service     by default.
    Idle.watch();
});

Hope that helped :)

Upvotes: 1

Related Questions