aboutsummaryrefslogtreecommitdiffstats
path: root/sdnr/wt/odlux/framework/src/models/authentication.ts
diff options
context:
space:
mode:
authorDan Timoney <dtimoney@att.com>2019-03-25 14:27:10 +0000
committerGerrit Code Review <gerrit@onap.org>2019-03-25 14:27:10 +0000
commit1f68c64e8bcf88ee485c69d36c67b0ad6590a293 (patch)
tree34ab01010c3a8b3bb4086d4b683a6fd8040f2992 /sdnr/wt/odlux/framework/src/models/authentication.ts
parent528f6391de8495f3346b5e22ede404c00b9955b7 (diff)
parent2d4424c28ac35763ef44c42ae2f01664d42b268c (diff)
Merge "Security provider for UX-Client-Login"
Diffstat (limited to 'sdnr/wt/odlux/framework/src/models/authentication.ts')
-rw-r--r--sdnr/wt/odlux/framework/src/models/authentication.ts59
1 files changed, 25 insertions, 34 deletions
diff --git a/sdnr/wt/odlux/framework/src/models/authentication.ts b/sdnr/wt/odlux/framework/src/models/authentication.ts
index 44b5ae436..6c463ad05 100644
--- a/sdnr/wt/odlux/framework/src/models/authentication.ts
+++ b/sdnr/wt/odlux/framework/src/models/authentication.ts
@@ -1,50 +1,41 @@
-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 type AuthToken = {
+ username: string;
+ access_token: string;
+ token_type: string;
+ expires: number;
}
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;
- }
+ constructor (private _bearerToken: AuthToken) {
+
}
public get user(): string | null {
- return this._userInfo && this._userInfo.email;
+ return this._bearerToken && this._bearerToken.username;
};
- public get roles(): string[] | null {
- return this._userInfo && this._userInfo.role;
- }
public get token(): string | null {
- return this._userInfo && this._bearerToken;
+ return this._bearerToken && this._bearerToken.access_token;
}
- public isInRole(role: string | string[]): boolean {
- return false;
+ public get tokenType(): string | null {
+ return this._bearerToken && this._bearerToken.token_type;
}
-}
+ public get isValid(): boolean {
+ return (this._bearerToken && (new Date().valueOf()) < this._bearerToken.expires) || false;
+ }
-// key:kFfAgpf806IKa4z88EEk6Lim7NMGicrw99OmIB38myM9CS44nEmMNJxnFu3ImViS248wSwkuZ3HvrhsPrA1ZFRNb1a6CEtGN4DaPJbfuo35qMp50tIEpy8nsSFpayOBE
-// token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJPRExVWCIsImlhdCI6MTUzODQ2NDMyMCwiZXhwIjoxNTcwMDAwMzIwLCJhdWQiOiJsb2NhbGhvc3QiLCJzdWIiOiJsb2NhbGhvc3QiLCJmaXJzdE5hbWUiOiJNYXgiLCJsYXN0TmFtZSI6Ik11c3Rlcm1hbm4iLCJlbWFpbCI6Im1heEBvZGx1eC5jb20iLCJyb2xlIjpbInVzZXIiLCJhZG1pbiJdfQ.9e5hDi2uxmIXNwHkJoScBZsHBk0jQ8CcZ7YIcZhDtuI \ No newline at end of file
+ public toString() {
+ return JSON.stringify(this._bearerToken);
+ }
+
+ public static fromString(data: string) {
+ return new User(JSON.parse(data));
+ }
+
+
+}