From c1eb5816911398d1ca6a02aec9312097c07522e4 Mon Sep 17 00:00:00 2001 From: Andreas Date: Sun, 10 Sep 2017 20:06:23 +0200 Subject: [PATCH] Add IDtoken decoded view --- package-lock.json | 5 +++++ package.json | 1 + src/components/TokenView.jsx | 19 ++++++++++++++++++- 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/package-lock.json b/package-lock.json index 90c880a..5bfb657 100644 --- a/package-lock.json +++ b/package-lock.json @@ -4242,6 +4242,11 @@ "resolved": "https://registry.npmjs.org/jsonify/-/jsonify-0.0.0.tgz", "integrity": "sha1-LHS27kHZPKUbe1qu6PUDYx0lKnM=" }, + "jwt-decode": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jwt-decode/-/jwt-decode-2.2.0.tgz", + "integrity": "sha1-fYa9VmefWM5qhHBKZX3TkruoGnk=" + }, "keycode": { "version": "2.1.9", "resolved": "https://registry.npmjs.org/keycode/-/keycode-2.1.9.tgz", diff --git a/package.json b/package.json index 0ccfd44..f37a78c 100644 --- a/package.json +++ b/package.json @@ -32,6 +32,7 @@ "express": "^4.15.4", "extract-text-webpack-plugin": "^3.0.0", "history": "^4.6.3", + "jwt-decode": "^2.2.0", "lodash": "^4.17.4", "moment": "^2.18.1", "react": "^15.6.1", diff --git a/src/components/TokenView.jsx b/src/components/TokenView.jsx index f3f7fbe..40a2fcb 100644 --- a/src/components/TokenView.jsx +++ b/src/components/TokenView.jsx @@ -5,7 +5,7 @@ import {Row, Col, Collapse, FormControl, FormGroup, ControlLabel, HelpBlock, Pan import HostnameController from '../containers/HostnameController' import ServerConfigController from '../containers/ServerConfigController' import WhiteBox from './WhiteBox' - +import jwtDecode from 'jwt-decode' import moment from 'moment' import 'moment/locale/nb'; @@ -21,6 +21,16 @@ export function expiresText(expires) { class Component extends PureComponent { + getIDTokenView(idtoken) { + let str = JSON.stringify(jwtDecode(idtoken), undefined, 4) + return ( +
+

ID Token decoded

+
{str}
+
+ ) + } + render() { console.error("Component", this.props) @@ -30,14 +40,21 @@ class Component extends PureComponent { ) } + let idtokenView = null let extxt = expiresText(this.props.token.expires) + if (this.props.token.id_token) { + idtokenView = this.getIDTokenView(this.props.token.id_token) + } + return (

This access token expires {extxt}

{this.props.tokenstring}
+ {idtokenView} +
) } -- GitLab