angular 2 auto logout using ng2-idle

Angular 2 - Auto Logout using ng2-idle

Why use Auto Logout in Angular 1 or Angular 2?
1.     A user must be logged out after 10 to 15 minutes (As per you).
2.     Every click interaction must reset the timer.
3.     The timer must be synchronized between tabs and so on.
4.     If users close the tab before your timer expires, he gets logged out when he visits again.

Stayed Informed - Angular 1 auto logout!

The below example helps us to handling the “Auto Logout” mechanism to maintain to web applications using “ng2-idle”.

import {Component } from '@angular/core';
import {Idle, DEFAULT_INTERRUPTSOURCES } from 'ng2-idle/core';
import {Router} from "@angular/router";
import {Http, Headers} from "@angular/http";
import {NgClass} from '@angular/common';
import {Observable} from "rxjs/Observable";
import 'rxjs/Rx';
import {HeaderService} from './header.service';

@Component({
    selector: 'appHeader',
    templateUrl: './header.component.html',
    styleUrls: ['./header.component.css']
})

export class AppHeaderComponent {
    nome :any = localStorage['app-appHeader'];

    constructor(private router: Router,
        private http: Http,
        private headerService: HeaderService,
        private idle: Idle) {

        idle.setIdle(10);
        idle.setTimeout(3600);
        idle.setInterrupts(DEFAULT_INTERRUPTSOURCES);

        idle.onTimeoutWarning.subscribe((countdown: number) => {
            alert('Timeout Warning - ' + countdown);
        });

        idle.onTimeout.subscribe(() => {
          alert('Timeout');
          localStorage.clear();

          this.router.navigate(['/auth', {sessionExpirate: 'true'}]);
        });

        idle.watch();
    }

    logout() {
        this.idle.stop();
        this.idle.ngOnDestroy(); //includes this.idle.stop() and this.clearInterrupts() both.
        this.headerService.exit()
            .subscribe(
                data => {
                    localStorage.clear();
                    this.router.navigate(['/auth']);
                },
                error => console.log(error)
            )
    }  
}

I hope you are enjoying with this post! Please share with you friends. Thank you!!
ANIL SINGH

Anil Singh is an author, tech blogger, and software programmer. Book writing, tech blogging is something do extra and Anil love doing it. For more detail, kindly refer to this link..
My Blogs - https://code-sample.com and https://code-sample.xyz
My Book1 - BEST SELLING ANGULAR BOOK (INCLUDING ALL VERSIONS 2, 4, 5, 6, 7)
My Book2 - ANGULAR 2 INTERVIEW QUESTIONS BOOK - Both Books are Available on WorldWide.

www.code-sample.com/. Powered by Blogger.