diff options
author | Herbert Eiselt <herbert.eiselt@highstreet-technologies.com> | 2019-02-11 14:54:12 +0100 |
---|---|---|
committer | Herbert Eiselt <herbert.eiselt@highstreet-technologies.com> | 2019-02-11 14:54:53 +0100 |
commit | 3d202a04b99f0e61b6ccf8b7a5610e1a15ca58e7 (patch) | |
tree | ab756cfa8de5eced886d3947423d198be8c0ce62 /sdnr/wt/odlux/framework/src/models/authentication.ts | |
parent | 12a8c669f52c0e84d580c078cee849b25133b585 (diff) |
Add sdnr wt odlux
Add complete sdnr wireless transport app odlux core and apps
Change-Id: I5dcbfb8f3b790e3bda7c8df67bd69d81958f65e5
Issue-ID: SDNC-576
Signed-off-by: Herbert Eiselt <herbert.eiselt@highstreet-technologies.com>
Diffstat (limited to 'sdnr/wt/odlux/framework/src/models/authentication.ts')
-rw-r--r-- | sdnr/wt/odlux/framework/src/models/authentication.ts | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/sdnr/wt/odlux/framework/src/models/authentication.ts b/sdnr/wt/odlux/framework/src/models/authentication.ts new file mode 100644 index 000000000..44b5ae436 --- /dev/null +++ b/sdnr/wt/odlux/framework/src/models/authentication.ts @@ -0,0 +1,50 @@ +import * as JWT from 'jsonwebtoken'; + +export interface IUserInfo { + iss: string, + iat: number, + exp: number, + aud: string, + sub: string, + firstName: string, + lastName: string, + email: string, + role: string[] +} + + +export class User { + + public _userInfo: IUserInfo | null; + + constructor(private _bearerToken: string) { + //const pem = require('raw-loader!../assets/publicKey.pem'); + const pem = "kFfAgpf806IKa4z88EEk6Lim7NMGicrw99OmIB38myM9CS44nEmMNJxnFu3ImViS248wSwkuZ3HvrhsPrA1ZFRNb1a6CEtGN4DaPJbfuo35qMp50tIEpy8nsSFpayOBE"; + + try { + const dec = (JWT.verify(_bearerToken, pem)) as IUserInfo; + this._userInfo = dec; + } catch (ex) { + this._userInfo = null; + } + } + + public get user(): string | null { + return this._userInfo && this._userInfo.email; + }; + + public get roles(): string[] | null { + return this._userInfo && this._userInfo.role; + } + public get token(): string | null { + return this._userInfo && this._bearerToken; + } + + public isInRole(role: string | string[]): boolean { + return false; + } + +} + +// key:kFfAgpf806IKa4z88EEk6Lim7NMGicrw99OmIB38myM9CS44nEmMNJxnFu3ImViS248wSwkuZ3HvrhsPrA1ZFRNb1a6CEtGN4DaPJbfuo35qMp50tIEpy8nsSFpayOBE +// token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPRExVWCIsImlhdCI6MTUzODQ2NDMyMCwiZXhwIjoxNTcwMDAwMzIwLCJhdWQiOiJsb2NhbGhvc3QiLCJzdWIiOiJsb2NhbGhvc3QiLCJmaXJzdE5hbWUiOiJNYXgiLCJsYXN0TmFtZSI6Ik11c3Rlcm1hbm4iLCJlbWFpbCI6Im1heEBvZGx1eC5jb20iLCJyb2xlIjpbInVzZXIiLCJhZG1pbiJdfQ.9e5hDi2uxmIXNwHkJoScBZsHBk0jQ8CcZ7YIcZhDtuI
\ No newline at end of file |