@osaas/client-web 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cat.d.ts +36 -0
- package/lib/cat.d.ts.map +1 -1
- package/lib/cat.js +61 -1
- package/lib/cat.js.map +1 -1
- package/package.json +2 -2
package/lib/cat.d.ts
CHANGED
|
@@ -6,6 +6,13 @@ interface CatOptions {
|
|
|
6
6
|
signingKey: string;
|
|
7
7
|
instanceName?: string;
|
|
8
8
|
}
|
|
9
|
+
/**
|
|
10
|
+
* Cat options
|
|
11
|
+
* @typedef CatOptions
|
|
12
|
+
* @type object
|
|
13
|
+
* @property {string} signingKey - The signing key to use
|
|
14
|
+
* @property {string} [instanceName] - The instance name to use (default: 'default')
|
|
15
|
+
*/
|
|
9
16
|
/**
|
|
10
17
|
* Generate a Common Access Token (CTA-5007) using Andersnas Nodecat open webservice
|
|
11
18
|
*
|
|
@@ -36,5 +43,34 @@ interface CatOptions {
|
|
|
36
43
|
* // 2D3RhEOhAQWhBFBha2FtYWlfa2V5X2hzMjU2WB2kAWdleWV2aW5uAmVqb25hcwYaZ9TH9QUaZ9TH9Vgg40JB9G77k5RWOlayUSLDl7oFVnnyb4aHYc1qls148WY
|
|
37
44
|
*/
|
|
38
45
|
export declare function generateCommonAccessToken(ctx: Context, claims: Claims, opts: CatOptions): Promise<string>;
|
|
46
|
+
/**
|
|
47
|
+
* Validate a Common Access Token (CTA-5007) using Andersnas Nodecat open webservice
|
|
48
|
+
*
|
|
49
|
+
* @memberof module:@osaas/client-web
|
|
50
|
+
* @async
|
|
51
|
+
* @param {Context} ctx - Eyevinn OSC context
|
|
52
|
+
* @param {string} token - A Common Access Token
|
|
53
|
+
* @param {CatOptions} opts - Service options
|
|
54
|
+
* @returns - The status and payload of the token
|
|
55
|
+
*
|
|
56
|
+
* @example
|
|
57
|
+
* import { Context } from '@osaas/client-core';
|
|
58
|
+
* import { validateCommonAccessToken } from '@osaas/client-web';
|
|
59
|
+
* const ctx = new Context();
|
|
60
|
+
* const result = await validateCommonAccessToken(
|
|
61
|
+
* ctx,
|
|
62
|
+
* '2D3RhEOhAQWhBFBha2FtYWlfa2V5X2hzMjU2WB2kAWdleWV2aW5uAmVqb25hcwYaZ9TH9QUaZ9TH9Vgg40JB9G77k5RWOlayUSLDl7oFVnnyb4aHYc1qls148WY',
|
|
63
|
+
* {
|
|
64
|
+
* signingKey:
|
|
65
|
+
* '403697de87af64611c1d32a05dab0fe1fcb715a86ab435f1ec99192d79569388'
|
|
66
|
+
* }
|
|
67
|
+
* );
|
|
68
|
+
* console.log(result.status);
|
|
69
|
+
* console.log(result.payload);
|
|
70
|
+
*/
|
|
71
|
+
export declare function validateCommonAccessToken(ctx: Context, token: string, opts: CatOptions): Promise<{
|
|
72
|
+
status: string;
|
|
73
|
+
payload: Claims;
|
|
74
|
+
}>;
|
|
39
75
|
export {};
|
|
40
76
|
//# sourceMappingURL=cat.d.ts.map
|
package/lib/cat.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat.d.ts","sourceRoot":"","sources":["../src/cat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwB,MAAM,oBAAoB,CAAC;AAOnE,KAAK,MAAM,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEjD,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,mBA4BjB"}
|
|
1
|
+
{"version":3,"file":"cat.d.ts","sourceRoot":"","sources":["../src/cat.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAwB,MAAM,oBAAoB,CAAC;AAOnE,KAAK,MAAM,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAAA;CAAE,CAAC;AAEjD,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;GAMG;AAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,OAAO,EACZ,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,UAAU,mBA4BjB;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAsB,yBAAyB,CAC7C,GAAG,EAAE,OAAO,EACZ,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,UAAU,GACf,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA0B9C"}
|
package/lib/cat.js
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.generateCommonAccessToken = void 0;
|
|
3
|
+
exports.validateCommonAccessToken = exports.generateCommonAccessToken = void 0;
|
|
4
4
|
const client_core_1 = require("@osaas/client-core");
|
|
5
5
|
const client_services_1 = require("@osaas/client-services");
|
|
6
|
+
/**
|
|
7
|
+
* Cat options
|
|
8
|
+
* @typedef CatOptions
|
|
9
|
+
* @type object
|
|
10
|
+
* @property {string} signingKey - The signing key to use
|
|
11
|
+
* @property {string} [instanceName] - The instance name to use (default: 'default')
|
|
12
|
+
*/
|
|
6
13
|
/**
|
|
7
14
|
* Generate a Common Access Token (CTA-5007) using Andersnas Nodecat open webservice
|
|
8
15
|
*
|
|
@@ -60,4 +67,57 @@ async function generateCommonAccessToken(ctx, claims, opts) {
|
|
|
60
67
|
return token;
|
|
61
68
|
}
|
|
62
69
|
exports.generateCommonAccessToken = generateCommonAccessToken;
|
|
70
|
+
/**
|
|
71
|
+
* Validate a Common Access Token (CTA-5007) using Andersnas Nodecat open webservice
|
|
72
|
+
*
|
|
73
|
+
* @memberof module:@osaas/client-web
|
|
74
|
+
* @async
|
|
75
|
+
* @param {Context} ctx - Eyevinn OSC context
|
|
76
|
+
* @param {string} token - A Common Access Token
|
|
77
|
+
* @param {CatOptions} opts - Service options
|
|
78
|
+
* @returns - The status and payload of the token
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* import { Context } from '@osaas/client-core';
|
|
82
|
+
* import { validateCommonAccessToken } from '@osaas/client-web';
|
|
83
|
+
* const ctx = new Context();
|
|
84
|
+
* const result = await validateCommonAccessToken(
|
|
85
|
+
* ctx,
|
|
86
|
+
* '2D3RhEOhAQWhBFBha2FtYWlfa2V5X2hzMjU2WB2kAWdleWV2aW5uAmVqb25hcwYaZ9TH9QUaZ9TH9Vgg40JB9G77k5RWOlayUSLDl7oFVnnyb4aHYc1qls148WY',
|
|
87
|
+
* {
|
|
88
|
+
* signingKey:
|
|
89
|
+
* '403697de87af64611c1d32a05dab0fe1fcb715a86ab435f1ec99192d79569388'
|
|
90
|
+
* }
|
|
91
|
+
* );
|
|
92
|
+
* console.log(result.status);
|
|
93
|
+
* console.log(result.payload);
|
|
94
|
+
*/
|
|
95
|
+
async function validateCommonAccessToken(ctx, token, opts) {
|
|
96
|
+
const instanceName = opts.instanceName || 'default';
|
|
97
|
+
let instance = await (0, client_services_1.getAndersnasNodecatInstance)(ctx, instanceName);
|
|
98
|
+
if (!instance) {
|
|
99
|
+
const config = {
|
|
100
|
+
name: instanceName,
|
|
101
|
+
SigningKey: opts.signingKey
|
|
102
|
+
};
|
|
103
|
+
instance = await (0, client_services_1.createAndersnasNodecatInstance)(ctx, config);
|
|
104
|
+
await (0, client_core_1.waitForInstanceReady)('andersnas-nodecat', instanceName, ctx);
|
|
105
|
+
}
|
|
106
|
+
const sat = await ctx.getServiceAccessToken('andersnas-nodecat');
|
|
107
|
+
const apiUrl = new URL('/validateToken', instance.url);
|
|
108
|
+
const response = await fetch(apiUrl, {
|
|
109
|
+
method: 'POST',
|
|
110
|
+
headers: {
|
|
111
|
+
Authorization: `Bearer ${sat}`,
|
|
112
|
+
'Content-Type': 'application/json'
|
|
113
|
+
},
|
|
114
|
+
body: JSON.stringify({ token })
|
|
115
|
+
});
|
|
116
|
+
if (!response.ok) {
|
|
117
|
+
throw new Error(`Failed to validate token: ${response.statusText}`);
|
|
118
|
+
}
|
|
119
|
+
const result = (await response.json());
|
|
120
|
+
return result;
|
|
121
|
+
}
|
|
122
|
+
exports.validateCommonAccessToken = validateCommonAccessToken;
|
|
63
123
|
//# sourceMappingURL=cat.js.map
|
package/lib/cat.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cat.js","sourceRoot":"","sources":["../src/cat.ts"],"names":[],"mappings":";;;AAAA,oDAAmE;AACnE,4DAIgC;AAShC;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACI,KAAK,UAAU,yBAAyB,CAC7C,GAAY,EACZ,MAAc,EACd,IAAgB;IAEhB,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,CAAC;IACpD,IAAI,QAAQ,GAAG,MAAM,IAAA,6CAA2B,EAAC,GAAG,EAAE,YAAY,CAAC,CAAC;IACpE,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,MAAM,GAA2B;YACrC,IAAI,EAAE,YAAY;YAClB,UAAU,EAAE,IAAI,CAAC,UAAU;SAC5B,CAAC;QACF,QAAQ,GAAG,MAAM,IAAA,gDAA8B,EAAC,GAAG,EAAE,MAAM,CAAC,CAAC;QAC7D,MAAM,IAAA,kCAAoB,EAAC,mBAAmB,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC;KACpE;IAED,MAAM,GAAG,GAAG,MAAM,GAAG,CAAC,qBAAqB,CAAC,mBAAmB,CAAC,CAAC;IACjE,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,MAAM,EAAE;QACnC,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACP,aAAa,EAAE,UAAU,GAAG,EAAE;YAC9B,cAAc,EAAE,kBAAkB;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;KAC7B,CAAC,CAAC;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE;QAChB,MAAM,IAAI,KAAK,CAAC,6BAA6B,QAAQ,CAAC,UAAU,EAAE,CAAC,CAAC;KACrE;IACD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IACpC,OAAO,KAAK,CAAC;AACf,CAAC;AA/BD,8DA+BC"}
|
|
1
|
+
{"version":3,"file":"cat.js","sourceRoot":"","sources":["../src/cat.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@osaas/client-web",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Open Source Cloud Client SDK web library",
|
|
5
5
|
"author": "Eyevinn Open Source Cloud <osc@eyevinn.se>",
|
|
6
6
|
"homepage": "https://www.osaas.io",
|
|
@@ -35,5 +35,5 @@
|
|
|
35
35
|
"publishConfig": {
|
|
36
36
|
"access": "public"
|
|
37
37
|
},
|
|
38
|
-
"gitHead": "
|
|
38
|
+
"gitHead": "825e15d07d86e9be1cff495c5c708add26ad372b"
|
|
39
39
|
}
|