frontend/src/app/last-login-ip/last-login-ip.component.ts
/*
* Copyright (c) 2014-2024 Bjoern Kimminich & the OWASP Juice Shop contributors.
* SPDX-License-Identifier: MIT
*/
import { Component } from '@angular/core'
import { DomSanitizer } from '@angular/platform-browser'
import * as jwtDecode from 'jwt-decode'
@Component({
selector: 'app-last-login-ip',
templateUrl: './last-login-ip.component.html',
styleUrls: ['./last-login-ip.component.scss']
})
export class LastLoginIpComponent {
lastLoginIp: any = '?'
constructor (private readonly sanitizer: DomSanitizer) {}
ngOnInit () {
try {
this.parseAuthToken()
} catch (err) {
console.log(err)
}
}
parseAuthToken () {
let payload = {} as any
const token = localStorage.getItem('token')
if (token) {
payload = jwtDecode(token)
if (payload.data.lastLoginIp) {
// eslint-disable-next-line @typescript-eslint/restrict-template-expressions
this.lastLoginIp = this.sanitizer.bypassSecurityTrustHtml(`<small>${payload.data.lastLoginIp}</small>`)
}
}
}
}