@fluidframework/tinylicious-driver 2.0.0-internal.2.0.4 → 2.0.0-internal.2.1.1

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/dist/index.d.ts CHANGED
@@ -2,6 +2,6 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export * from "./insecureTinyliciousUrlResolver";
6
- export * from "./insecureTinyliciousTokenProvider";
5
+ export { InsecureTinyliciousTokenProvider } from "./insecureTinyliciousTokenProvider";
6
+ export { createTinyliciousCreateNewRequest, defaultTinyliciousEndpoint, defaultTinyliciousPort, InsecureTinyliciousUrlResolver, } from "./insecureTinyliciousUrlResolver";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EACN,iCAAiC,EACjC,0BAA0B,EAC1B,sBAAsB,EACtB,8BAA8B,GAC9B,MAAM,kCAAkC,CAAC"}
package/dist/index.js CHANGED
@@ -3,17 +3,13 @@
3
3
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
4
  * Licensed under the MIT License.
5
5
  */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
6
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./insecureTinyliciousUrlResolver"), exports);
18
- __exportStar(require("./insecureTinyliciousTokenProvider"), exports);
7
+ exports.InsecureTinyliciousUrlResolver = exports.defaultTinyliciousPort = exports.defaultTinyliciousEndpoint = exports.createTinyliciousCreateNewRequest = exports.InsecureTinyliciousTokenProvider = void 0;
8
+ var insecureTinyliciousTokenProvider_1 = require("./insecureTinyliciousTokenProvider");
9
+ Object.defineProperty(exports, "InsecureTinyliciousTokenProvider", { enumerable: true, get: function () { return insecureTinyliciousTokenProvider_1.InsecureTinyliciousTokenProvider; } });
10
+ var insecureTinyliciousUrlResolver_1 = require("./insecureTinyliciousUrlResolver");
11
+ Object.defineProperty(exports, "createTinyliciousCreateNewRequest", { enumerable: true, get: function () { return insecureTinyliciousUrlResolver_1.createTinyliciousCreateNewRequest; } });
12
+ Object.defineProperty(exports, "defaultTinyliciousEndpoint", { enumerable: true, get: function () { return insecureTinyliciousUrlResolver_1.defaultTinyliciousEndpoint; } });
13
+ Object.defineProperty(exports, "defaultTinyliciousPort", { enumerable: true, get: function () { return insecureTinyliciousUrlResolver_1.defaultTinyliciousPort; } });
14
+ Object.defineProperty(exports, "InsecureTinyliciousUrlResolver", { enumerable: true, get: function () { return insecureTinyliciousUrlResolver_1.InsecureTinyliciousUrlResolver; } });
19
15
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAEH,mEAAiD;AACjD,qEAAmD","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport * from \"./insecureTinyliciousUrlResolver\";\nexport * from \"./insecureTinyliciousTokenProvider\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uFAAsF;AAA7E,oJAAA,gCAAgC,OAAA;AACzC,mFAK0C;AAJzC,mJAAA,iCAAiC,OAAA;AACjC,4IAAA,0BAA0B,OAAA;AAC1B,wIAAA,sBAAsB,OAAA;AACtB,gJAAA,8BAA8B,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { InsecureTinyliciousTokenProvider } from \"./insecureTinyliciousTokenProvider\";\nexport {\n\tcreateTinyliciousCreateNewRequest,\n\tdefaultTinyliciousEndpoint,\n\tdefaultTinyliciousPort,\n\tInsecureTinyliciousUrlResolver,\n} from \"./insecureTinyliciousUrlResolver\";\n"]}
@@ -2,12 +2,32 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+ import { ScopeType } from "@fluidframework/protocol-definitions";
5
6
  import { ITokenProvider, ITokenResponse } from "@fluidframework/routerlicious-driver";
6
7
  /**
7
8
  * As the name implies this is not secure and should not be used in production. It simply makes the example easier
8
9
  * to get up and running.
9
10
  */
10
11
  export declare class InsecureTinyliciousTokenProvider implements ITokenProvider {
12
+ /**
13
+ * Optional. Override of scopes. If a param is not provided, InsecureTinyliciousTokenProvider
14
+ * will use the default scopes which are document read, write and summarizer write.
15
+ *
16
+ * @param scopes - See {@link @fluidframework/protocol-definitions#ITokenClaims.scopes}
17
+ *
18
+ * @defaultValue - [ ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite ]
19
+ */
20
+ private readonly scopes?;
21
+ constructor(
22
+ /**
23
+ * Optional. Override of scopes. If a param is not provided, InsecureTinyliciousTokenProvider
24
+ * will use the default scopes which are document read, write and summarizer write.
25
+ *
26
+ * @param scopes - See {@link @fluidframework/protocol-definitions#ITokenClaims.scopes}
27
+ *
28
+ * @defaultValue - [ ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite ]
29
+ */
30
+ scopes?: ScopeType[] | undefined);
11
31
  fetchOrdererToken(tenantId: string, documentId?: string): Promise<ITokenResponse>;
12
32
  fetchStorageToken(tenantId: string, documentId: string): Promise<ITokenResponse>;
13
33
  private getSignedToken;
@@ -1 +1 @@
1
- {"version":3,"file":"insecureTinyliciousTokenProvider.d.ts","sourceRoot":"","sources":["../src/insecureTinyliciousTokenProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAKtF;;;GAGG;AACH,qBAAa,gCAAiC,YAAW,cAAc;IACtD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAOjF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAO7F,OAAO,CAAC,cAAc;CAsBzB"}
1
+ {"version":3,"file":"insecureTinyliciousTokenProvider.d.ts","sourceRoot":"","sources":["../src/insecureTinyliciousTokenProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAgB,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EACH,cAAc,EACd,cAAc,EACjB,MAAM,sCAAsC,CAAC;AAK9C;;;GAGG;AACH,qBAAa,gCAAiC,YAAW,cAAc;IAE/D;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;;IARxB;;;;;;;OAOG;IACc,MAAM,CAAC,yBAAa;IAG5B,iBAAiB,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,CAAC;IAOb,iBAAiB,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,CAAC;IAO1B,OAAO,CAAC,cAAc;CAgCzB"}
@@ -14,6 +14,18 @@ const uuid_1 = require("uuid");
14
14
  * to get up and running.
15
15
  */
16
16
  class InsecureTinyliciousTokenProvider {
17
+ constructor(
18
+ /**
19
+ * Optional. Override of scopes. If a param is not provided, InsecureTinyliciousTokenProvider
20
+ * will use the default scopes which are document read, write and summarizer write.
21
+ *
22
+ * @param scopes - See {@link @fluidframework/protocol-definitions#ITokenClaims.scopes}
23
+ *
24
+ * @defaultValue - [ ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite ]
25
+ */
26
+ scopes) {
27
+ this.scopes = scopes;
28
+ }
17
29
  async fetchOrdererToken(tenantId, documentId) {
18
30
  return {
19
31
  fromCache: true,
@@ -27,12 +39,17 @@ class InsecureTinyliciousTokenProvider {
27
39
  };
28
40
  }
29
41
  getSignedToken(tenantId, documentId, lifetime = 60 * 60, ver = "1.0") {
42
+ var _a;
30
43
  // Current time in seconds
31
- const now = Math.round((new Date()).getTime() / 1000);
44
+ const now = Math.round(new Date().getTime() / 1000);
32
45
  const user = { id: (0, uuid_1.v4)(), name: (0, server_services_client_1.getRandomName)() };
33
46
  const claims = {
34
47
  documentId: documentId !== null && documentId !== void 0 ? documentId : "",
35
- scopes: [protocol_definitions_1.ScopeType.DocRead, protocol_definitions_1.ScopeType.DocWrite, protocol_definitions_1.ScopeType.SummaryWrite],
48
+ scopes: (_a = this.scopes) !== null && _a !== void 0 ? _a : [
49
+ protocol_definitions_1.ScopeType.DocRead,
50
+ protocol_definitions_1.ScopeType.DocWrite,
51
+ protocol_definitions_1.ScopeType.SummaryWrite,
52
+ ],
36
53
  tenantId,
37
54
  user,
38
55
  iat: now,
@@ -1 +1 @@
1
- {"version":3,"file":"insecureTinyliciousTokenProvider.js","sourceRoot":"","sources":["../src/insecureTinyliciousTokenProvider.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+EAA+E;AAE/E,mFAAuE;AACvE,yCAA8C;AAC9C,+BAAkC;AAElC;;;GAGG;AACH,MAAa,gCAAgC;IAClC,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,UAAmB;QAChE,OAAO;YACH,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;SACjD,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,UAAkB;QAC/D,OAAO;YACH,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;SACjD,CAAC;IACN,CAAC;IAEO,cAAc,CAClB,QAAgB,EAChB,UAA8B,EAC9B,WAAmB,EAAE,GAAG,EAAE,EAC1B,MAAc,KAAK;QACnB,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,IAAA,SAAI,GAAE,EAAE,IAAI,EAAE,IAAA,sCAAa,GAAE,EAAE,CAAC;QAEnD,MAAM,MAAM,GAAiB;YACzB,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;YAC5B,MAAM,EAAE,CAAC,gCAAS,CAAC,OAAO,EAAE,gCAAS,CAAC,QAAQ,EAAE,gCAAS,CAAC,YAAY,CAAC;YACvE,QAAQ;YACR,IAAI;YACJ,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,GAAG,GAAG,QAAQ;YACnB,GAAG;SACN,CAAC;QAEF,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAClC,OAAO,gBAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvG,CAAC;CACJ;AArCD,4EAqCC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ScopeType, ITokenClaims } from \"@fluidframework/protocol-definitions\";\nimport { ITokenProvider, ITokenResponse } from \"@fluidframework/routerlicious-driver\";\nimport { getRandomName } from \"@fluidframework/server-services-client\";\nimport { KJUR as jsrsasign } from \"jsrsasign\";\nimport { v4 as uuid } from \"uuid\";\n\n/**\n * As the name implies this is not secure and should not be used in production. It simply makes the example easier\n * to get up and running.\n */\nexport class InsecureTinyliciousTokenProvider implements ITokenProvider {\n public async fetchOrdererToken(tenantId: string, documentId?: string): Promise<ITokenResponse> {\n return {\n fromCache: true,\n jwt: this.getSignedToken(tenantId, documentId),\n };\n }\n\n public async fetchStorageToken(tenantId: string, documentId: string): Promise<ITokenResponse> {\n return {\n fromCache: true,\n jwt: this.getSignedToken(tenantId, documentId),\n };\n }\n\n private getSignedToken(\n tenantId: string,\n documentId: string | undefined,\n lifetime: number = 60 * 60,\n ver: string = \"1.0\"): string {\n // Current time in seconds\n const now = Math.round((new Date()).getTime() / 1000);\n const user = { id: uuid(), name: getRandomName() };\n\n const claims: ITokenClaims = {\n documentId: documentId ?? \"\",\n scopes: [ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite],\n tenantId,\n user,\n iat: now,\n exp: now + lifetime,\n ver,\n };\n\n const utf8Key = { utf8: \"12345\" };\n return jsrsasign.jws.JWS.sign(null, JSON.stringify({ alg: \"HS256\", typ: \"JWT\" }), claims, utf8Key);\n }\n}\n"]}
1
+ {"version":3,"file":"insecureTinyliciousTokenProvider.js","sourceRoot":"","sources":["../src/insecureTinyliciousTokenProvider.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+EAA+E;AAK/E,mFAAuE;AACvE,yCAA8C;AAC9C,+BAAkC;AAElC;;;GAGG;AACH,MAAa,gCAAgC;IACzC;IACI;;;;;;;OAOG;IACc,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IACtC,CAAC;IAEG,KAAK,CAAC,iBAAiB,CAC1B,QAAgB,EAChB,UAAmB;QAEnB,OAAO;YACH,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;SACjD,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC1B,QAAgB,EAChB,UAAkB;QAElB,OAAO;YACH,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;SACjD,CAAC;IACN,CAAC;IAEO,cAAc,CAClB,QAAgB,EAChB,UAA8B,EAC9B,WAAmB,EAAE,GAAG,EAAE,EAC1B,MAAc,KAAK;;QAEnB,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,IAAA,SAAI,GAAE,EAAE,IAAI,EAAE,IAAA,sCAAa,GAAE,EAAE,CAAC;QAEnD,MAAM,MAAM,GAAiB;YACzB,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;YAC5B,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI;gBACnB,gCAAS,CAAC,OAAO;gBACjB,gCAAS,CAAC,QAAQ;gBAClB,gCAAS,CAAC,YAAY;aACzB;YACD,QAAQ;YACR,IAAI;YACJ,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,GAAG,GAAG,QAAQ;YACnB,GAAG;SACN,CAAC;QAEF,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAClC,OAAO,gBAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CACzB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAC5C,MAAM,EACN,OAAO,CACV,CAAC;IACN,CAAC;CACJ;AAjED,4EAiEC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ScopeType, ITokenClaims } from \"@fluidframework/protocol-definitions\";\nimport {\n ITokenProvider,\n ITokenResponse,\n} from \"@fluidframework/routerlicious-driver\";\nimport { getRandomName } from \"@fluidframework/server-services-client\";\nimport { KJUR as jsrsasign } from \"jsrsasign\";\nimport { v4 as uuid } from \"uuid\";\n\n/**\n * As the name implies this is not secure and should not be used in production. It simply makes the example easier\n * to get up and running.\n */\nexport class InsecureTinyliciousTokenProvider implements ITokenProvider {\n constructor(\n /**\n * Optional. Override of scopes. If a param is not provided, InsecureTinyliciousTokenProvider\n * will use the default scopes which are document read, write and summarizer write.\n *\n * @param scopes - See {@link @fluidframework/protocol-definitions#ITokenClaims.scopes}\n *\n * @defaultValue - [ ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite ]\n */\n private readonly scopes?: ScopeType[],\n ) {}\n\n public async fetchOrdererToken(\n tenantId: string,\n documentId?: string,\n ): Promise<ITokenResponse> {\n return {\n fromCache: true,\n jwt: this.getSignedToken(tenantId, documentId),\n };\n }\n\n public async fetchStorageToken(\n tenantId: string,\n documentId: string,\n ): Promise<ITokenResponse> {\n return {\n fromCache: true,\n jwt: this.getSignedToken(tenantId, documentId),\n };\n }\n\n private getSignedToken(\n tenantId: string,\n documentId: string | undefined,\n lifetime: number = 60 * 60,\n ver: string = \"1.0\"\n ): string {\n // Current time in seconds\n const now = Math.round(new Date().getTime() / 1000);\n const user = { id: uuid(), name: getRandomName() };\n\n const claims: ITokenClaims = {\n documentId: documentId ?? \"\",\n scopes: this.scopes ?? [\n ScopeType.DocRead,\n ScopeType.DocWrite,\n ScopeType.SummaryWrite,\n ],\n tenantId,\n user,\n iat: now,\n exp: now + lifetime,\n ver,\n };\n\n const utf8Key = { utf8: \"12345\" };\n return jsrsasign.jws.JWS.sign(\n null,\n JSON.stringify({ alg: \"HS256\", typ: \"JWT\" }),\n claims,\n utf8Key,\n );\n }\n}\n"]}
package/lib/index.d.ts CHANGED
@@ -2,6 +2,6 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export * from "./insecureTinyliciousUrlResolver";
6
- export * from "./insecureTinyliciousTokenProvider";
5
+ export { InsecureTinyliciousTokenProvider } from "./insecureTinyliciousTokenProvider";
6
+ export { createTinyliciousCreateNewRequest, defaultTinyliciousEndpoint, defaultTinyliciousPort, InsecureTinyliciousUrlResolver, } from "./insecureTinyliciousUrlResolver";
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EACN,iCAAiC,EACjC,0BAA0B,EAC1B,sBAAsB,EACtB,8BAA8B,GAC9B,MAAM,kCAAkC,CAAC"}
package/lib/index.js CHANGED
@@ -2,6 +2,6 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- export * from "./insecureTinyliciousUrlResolver";
6
- export * from "./insecureTinyliciousTokenProvider";
5
+ export { InsecureTinyliciousTokenProvider } from "./insecureTinyliciousTokenProvider";
6
+ export { createTinyliciousCreateNewRequest, defaultTinyliciousEndpoint, defaultTinyliciousPort, InsecureTinyliciousUrlResolver, } from "./insecureTinyliciousUrlResolver";
7
7
  //# sourceMappingURL=index.js.map
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,cAAc,kCAAkC,CAAC;AACjD,cAAc,oCAAoC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport * from \"./insecureTinyliciousUrlResolver\";\nexport * from \"./insecureTinyliciousTokenProvider\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,gCAAgC,EAAE,MAAM,oCAAoC,CAAC;AACtF,OAAO,EACN,iCAAiC,EACjC,0BAA0B,EAC1B,sBAAsB,EACtB,8BAA8B,GAC9B,MAAM,kCAAkC,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport { InsecureTinyliciousTokenProvider } from \"./insecureTinyliciousTokenProvider\";\nexport {\n\tcreateTinyliciousCreateNewRequest,\n\tdefaultTinyliciousEndpoint,\n\tdefaultTinyliciousPort,\n\tInsecureTinyliciousUrlResolver,\n} from \"./insecureTinyliciousUrlResolver\";\n"]}
@@ -2,12 +2,32 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+ import { ScopeType } from "@fluidframework/protocol-definitions";
5
6
  import { ITokenProvider, ITokenResponse } from "@fluidframework/routerlicious-driver";
6
7
  /**
7
8
  * As the name implies this is not secure and should not be used in production. It simply makes the example easier
8
9
  * to get up and running.
9
10
  */
10
11
  export declare class InsecureTinyliciousTokenProvider implements ITokenProvider {
12
+ /**
13
+ * Optional. Override of scopes. If a param is not provided, InsecureTinyliciousTokenProvider
14
+ * will use the default scopes which are document read, write and summarizer write.
15
+ *
16
+ * @param scopes - See {@link @fluidframework/protocol-definitions#ITokenClaims.scopes}
17
+ *
18
+ * @defaultValue - [ ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite ]
19
+ */
20
+ private readonly scopes?;
21
+ constructor(
22
+ /**
23
+ * Optional. Override of scopes. If a param is not provided, InsecureTinyliciousTokenProvider
24
+ * will use the default scopes which are document read, write and summarizer write.
25
+ *
26
+ * @param scopes - See {@link @fluidframework/protocol-definitions#ITokenClaims.scopes}
27
+ *
28
+ * @defaultValue - [ ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite ]
29
+ */
30
+ scopes?: ScopeType[] | undefined);
11
31
  fetchOrdererToken(tenantId: string, documentId?: string): Promise<ITokenResponse>;
12
32
  fetchStorageToken(tenantId: string, documentId: string): Promise<ITokenResponse>;
13
33
  private getSignedToken;
@@ -1 +1 @@
1
- {"version":3,"file":"insecureTinyliciousTokenProvider.d.ts","sourceRoot":"","sources":["../src/insecureTinyliciousTokenProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAKtF;;;GAGG;AACH,qBAAa,gCAAiC,YAAW,cAAc;IACtD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAOjF,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAO7F,OAAO,CAAC,cAAc;CAsBzB"}
1
+ {"version":3,"file":"insecureTinyliciousTokenProvider.d.ts","sourceRoot":"","sources":["../src/insecureTinyliciousTokenProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAgB,MAAM,sCAAsC,CAAC;AAC/E,OAAO,EACH,cAAc,EACd,cAAc,EACjB,MAAM,sCAAsC,CAAC;AAK9C;;;GAGG;AACH,qBAAa,gCAAiC,YAAW,cAAc;IAE/D;;;;;;;OAOG;IACH,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;;IARxB;;;;;;;OAOG;IACc,MAAM,CAAC,yBAAa;IAG5B,iBAAiB,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,cAAc,CAAC;IAOb,iBAAiB,CAC1B,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,MAAM,GACnB,OAAO,CAAC,cAAc,CAAC;IAO1B,OAAO,CAAC,cAAc;CAgCzB"}
@@ -11,6 +11,18 @@ import { v4 as uuid } from "uuid";
11
11
  * to get up and running.
12
12
  */
13
13
  export class InsecureTinyliciousTokenProvider {
14
+ constructor(
15
+ /**
16
+ * Optional. Override of scopes. If a param is not provided, InsecureTinyliciousTokenProvider
17
+ * will use the default scopes which are document read, write and summarizer write.
18
+ *
19
+ * @param scopes - See {@link @fluidframework/protocol-definitions#ITokenClaims.scopes}
20
+ *
21
+ * @defaultValue - [ ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite ]
22
+ */
23
+ scopes) {
24
+ this.scopes = scopes;
25
+ }
14
26
  async fetchOrdererToken(tenantId, documentId) {
15
27
  return {
16
28
  fromCache: true,
@@ -24,12 +36,17 @@ export class InsecureTinyliciousTokenProvider {
24
36
  };
25
37
  }
26
38
  getSignedToken(tenantId, documentId, lifetime = 60 * 60, ver = "1.0") {
39
+ var _a;
27
40
  // Current time in seconds
28
- const now = Math.round((new Date()).getTime() / 1000);
41
+ const now = Math.round(new Date().getTime() / 1000);
29
42
  const user = { id: uuid(), name: getRandomName() };
30
43
  const claims = {
31
44
  documentId: documentId !== null && documentId !== void 0 ? documentId : "",
32
- scopes: [ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite],
45
+ scopes: (_a = this.scopes) !== null && _a !== void 0 ? _a : [
46
+ ScopeType.DocRead,
47
+ ScopeType.DocWrite,
48
+ ScopeType.SummaryWrite,
49
+ ],
33
50
  tenantId,
34
51
  user,
35
52
  iat: now,
@@ -1 +1 @@
1
- {"version":3,"file":"insecureTinyliciousTokenProvider.js","sourceRoot":"","sources":["../src/insecureTinyliciousTokenProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAgB,MAAM,sCAAsC,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,OAAO,gCAAgC;IAClC,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,UAAmB;QAChE,OAAO;YACH,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;SACjD,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,QAAgB,EAAE,UAAkB;QAC/D,OAAO;YACH,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;SACjD,CAAC;IACN,CAAC;IAEO,cAAc,CAClB,QAAgB,EAChB,UAA8B,EAC9B,WAAmB,EAAE,GAAG,EAAE,EAC1B,MAAc,KAAK;QACnB,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACtD,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;QAEnD,MAAM,MAAM,GAAiB;YACzB,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;YAC5B,MAAM,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,QAAQ,EAAE,SAAS,CAAC,YAAY,CAAC;YACvE,QAAQ;YACR,IAAI;YACJ,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,GAAG,GAAG,QAAQ;YACnB,GAAG;SACN,CAAC;QAEF,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvG,CAAC;CACJ","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ScopeType, ITokenClaims } from \"@fluidframework/protocol-definitions\";\nimport { ITokenProvider, ITokenResponse } from \"@fluidframework/routerlicious-driver\";\nimport { getRandomName } from \"@fluidframework/server-services-client\";\nimport { KJUR as jsrsasign } from \"jsrsasign\";\nimport { v4 as uuid } from \"uuid\";\n\n/**\n * As the name implies this is not secure and should not be used in production. It simply makes the example easier\n * to get up and running.\n */\nexport class InsecureTinyliciousTokenProvider implements ITokenProvider {\n public async fetchOrdererToken(tenantId: string, documentId?: string): Promise<ITokenResponse> {\n return {\n fromCache: true,\n jwt: this.getSignedToken(tenantId, documentId),\n };\n }\n\n public async fetchStorageToken(tenantId: string, documentId: string): Promise<ITokenResponse> {\n return {\n fromCache: true,\n jwt: this.getSignedToken(tenantId, documentId),\n };\n }\n\n private getSignedToken(\n tenantId: string,\n documentId: string | undefined,\n lifetime: number = 60 * 60,\n ver: string = \"1.0\"): string {\n // Current time in seconds\n const now = Math.round((new Date()).getTime() / 1000);\n const user = { id: uuid(), name: getRandomName() };\n\n const claims: ITokenClaims = {\n documentId: documentId ?? \"\",\n scopes: [ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite],\n tenantId,\n user,\n iat: now,\n exp: now + lifetime,\n ver,\n };\n\n const utf8Key = { utf8: \"12345\" };\n return jsrsasign.jws.JWS.sign(null, JSON.stringify({ alg: \"HS256\", typ: \"JWT\" }), claims, utf8Key);\n }\n}\n"]}
1
+ {"version":3,"file":"insecureTinyliciousTokenProvider.js","sourceRoot":"","sources":["../src/insecureTinyliciousTokenProvider.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,SAAS,EAAgB,MAAM,sCAAsC,CAAC;AAK/E,OAAO,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AACvE,OAAO,EAAE,IAAI,IAAI,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,EAAE,EAAE,IAAI,IAAI,EAAE,MAAM,MAAM,CAAC;AAElC;;;GAGG;AACH,MAAM,OAAO,gCAAgC;IACzC;IACI;;;;;;;OAOG;IACc,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IACtC,CAAC;IAEG,KAAK,CAAC,iBAAiB,CAC1B,QAAgB,EAChB,UAAmB;QAEnB,OAAO;YACH,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;SACjD,CAAC;IACN,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAC1B,QAAgB,EAChB,UAAkB;QAElB,OAAO;YACH,SAAS,EAAE,IAAI;YACf,GAAG,EAAE,IAAI,CAAC,cAAc,CAAC,QAAQ,EAAE,UAAU,CAAC;SACjD,CAAC;IACN,CAAC;IAEO,cAAc,CAClB,QAAgB,EAChB,UAA8B,EAC9B,WAAmB,EAAE,GAAG,EAAE,EAC1B,MAAc,KAAK;;QAEnB,0BAA0B;QAC1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,IAAI,CAAC,CAAC;QACpD,MAAM,IAAI,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,EAAE,CAAC;QAEnD,MAAM,MAAM,GAAiB;YACzB,UAAU,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE;YAC5B,MAAM,EAAE,MAAA,IAAI,CAAC,MAAM,mCAAI;gBACnB,SAAS,CAAC,OAAO;gBACjB,SAAS,CAAC,QAAQ;gBAClB,SAAS,CAAC,YAAY;aACzB;YACD,QAAQ;YACR,IAAI;YACJ,GAAG,EAAE,GAAG;YACR,GAAG,EAAE,GAAG,GAAG,QAAQ;YACnB,GAAG;SACN,CAAC;QAEF,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;QAClC,OAAO,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CACzB,IAAI,EACJ,IAAI,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,EAC5C,MAAM,EACN,OAAO,CACV,CAAC;IACN,CAAC;CACJ","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ScopeType, ITokenClaims } from \"@fluidframework/protocol-definitions\";\nimport {\n ITokenProvider,\n ITokenResponse,\n} from \"@fluidframework/routerlicious-driver\";\nimport { getRandomName } from \"@fluidframework/server-services-client\";\nimport { KJUR as jsrsasign } from \"jsrsasign\";\nimport { v4 as uuid } from \"uuid\";\n\n/**\n * As the name implies this is not secure and should not be used in production. It simply makes the example easier\n * to get up and running.\n */\nexport class InsecureTinyliciousTokenProvider implements ITokenProvider {\n constructor(\n /**\n * Optional. Override of scopes. If a param is not provided, InsecureTinyliciousTokenProvider\n * will use the default scopes which are document read, write and summarizer write.\n *\n * @param scopes - See {@link @fluidframework/protocol-definitions#ITokenClaims.scopes}\n *\n * @defaultValue - [ ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite ]\n */\n private readonly scopes?: ScopeType[],\n ) {}\n\n public async fetchOrdererToken(\n tenantId: string,\n documentId?: string,\n ): Promise<ITokenResponse> {\n return {\n fromCache: true,\n jwt: this.getSignedToken(tenantId, documentId),\n };\n }\n\n public async fetchStorageToken(\n tenantId: string,\n documentId: string,\n ): Promise<ITokenResponse> {\n return {\n fromCache: true,\n jwt: this.getSignedToken(tenantId, documentId),\n };\n }\n\n private getSignedToken(\n tenantId: string,\n documentId: string | undefined,\n lifetime: number = 60 * 60,\n ver: string = \"1.0\"\n ): string {\n // Current time in seconds\n const now = Math.round(new Date().getTime() / 1000);\n const user = { id: uuid(), name: getRandomName() };\n\n const claims: ITokenClaims = {\n documentId: documentId ?? \"\",\n scopes: this.scopes ?? [\n ScopeType.DocRead,\n ScopeType.DocWrite,\n ScopeType.SummaryWrite,\n ],\n tenantId,\n user,\n iat: now,\n exp: now + lifetime,\n ver,\n };\n\n const utf8Key = { utf8: \"12345\" };\n return jsrsasign.jws.JWS.sign(\n null,\n JSON.stringify({ alg: \"HS256\", typ: \"JWT\" }),\n claims,\n utf8Key,\n );\n }\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/tinylicious-driver",
3
- "version": "2.0.0-internal.2.0.4",
3
+ "version": "2.0.0-internal.2.1.1",
4
4
  "description": "Driver for tinylicious",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -27,24 +27,23 @@
27
27
  "lint": "npm run eslint",
28
28
  "lint:fix": "npm run eslint:fix",
29
29
  "tsc": "tsc",
30
- "tsfmt": "tsfmt --verify",
31
- "tsfmt:fix": "tsfmt --replace",
32
30
  "typetests:gen": "fluid-type-validator -g -d ."
33
31
  },
34
32
  "dependencies": {
35
- "@fluidframework/core-interfaces": ">=2.0.0-internal.2.0.4 <2.0.0-internal.3.0.0",
36
- "@fluidframework/driver-definitions": ">=2.0.0-internal.2.0.4 <2.0.0-internal.3.0.0",
37
- "@fluidframework/driver-utils": ">=2.0.0-internal.2.0.4 <2.0.0-internal.3.0.0",
33
+ "@fluidframework/core-interfaces": ">=2.0.0-internal.2.1.1 <2.0.0-internal.3.0.0",
34
+ "@fluidframework/driver-definitions": ">=2.0.0-internal.2.1.1 <2.0.0-internal.3.0.0",
35
+ "@fluidframework/driver-utils": ">=2.0.0-internal.2.1.1 <2.0.0-internal.3.0.0",
38
36
  "@fluidframework/protocol-definitions": "^1.1.0",
39
- "@fluidframework/routerlicious-driver": ">=2.0.0-internal.2.0.4 <2.0.0-internal.3.0.0",
37
+ "@fluidframework/routerlicious-driver": ">=2.0.0-internal.2.1.1 <2.0.0-internal.3.0.0",
40
38
  "@fluidframework/server-services-client": "^0.1038.2000",
41
39
  "jsrsasign": "^10.5.25",
42
40
  "uuid": "^8.3.1"
43
41
  },
44
42
  "devDependencies": {
45
- "@fluidframework/build-common": "^1.0.0",
46
- "@fluidframework/build-tools": "^0.4.6000",
47
- "@fluidframework/eslint-config-fluid": "^1.0.0",
43
+ "@fluid-tools/build-cli": "^0.5.0",
44
+ "@fluidframework/build-common": "^1.1.0",
45
+ "@fluidframework/build-tools": "^0.5.0",
46
+ "@fluidframework/eslint-config-fluid": "^1.1.0",
48
47
  "@fluidframework/test-tools": "^0.2.3074",
49
48
  "@fluidframework/tinylicious-driver-previous": "npm:@fluidframework/tinylicious-driver@2.0.0-internal.2.0.0",
50
49
  "@rushstack/eslint-config": "^2.5.1",
@@ -55,11 +54,10 @@
55
54
  "eslint": "~8.6.0",
56
55
  "mocha": "^10.0.0",
57
56
  "rimraf": "^2.6.2",
58
- "typescript": "~4.5.5",
59
- "typescript-formatter": "7.1.0"
57
+ "typescript": "~4.5.5"
60
58
  },
61
59
  "typeValidation": {
62
- "version": "2.0.0-internal.2.0.1",
60
+ "version": "2.0.0-internal.2.1.0",
63
61
  "broken": {}
64
62
  }
65
63
  }
package/src/index.ts CHANGED
@@ -3,5 +3,10 @@
3
3
  * Licensed under the MIT License.
4
4
  */
5
5
 
6
- export * from "./insecureTinyliciousUrlResolver";
7
- export * from "./insecureTinyliciousTokenProvider";
6
+ export { InsecureTinyliciousTokenProvider } from "./insecureTinyliciousTokenProvider";
7
+ export {
8
+ createTinyliciousCreateNewRequest,
9
+ defaultTinyliciousEndpoint,
10
+ defaultTinyliciousPort,
11
+ InsecureTinyliciousUrlResolver,
12
+ } from "./insecureTinyliciousUrlResolver";
@@ -4,7 +4,10 @@
4
4
  */
5
5
 
6
6
  import { ScopeType, ITokenClaims } from "@fluidframework/protocol-definitions";
7
- import { ITokenProvider, ITokenResponse } from "@fluidframework/routerlicious-driver";
7
+ import {
8
+ ITokenProvider,
9
+ ITokenResponse,
10
+ } from "@fluidframework/routerlicious-driver";
8
11
  import { getRandomName } from "@fluidframework/server-services-client";
9
12
  import { KJUR as jsrsasign } from "jsrsasign";
10
13
  import { v4 as uuid } from "uuid";
@@ -14,14 +17,32 @@ import { v4 as uuid } from "uuid";
14
17
  * to get up and running.
15
18
  */
16
19
  export class InsecureTinyliciousTokenProvider implements ITokenProvider {
17
- public async fetchOrdererToken(tenantId: string, documentId?: string): Promise<ITokenResponse> {
20
+ constructor(
21
+ /**
22
+ * Optional. Override of scopes. If a param is not provided, InsecureTinyliciousTokenProvider
23
+ * will use the default scopes which are document read, write and summarizer write.
24
+ *
25
+ * @param scopes - See {@link @fluidframework/protocol-definitions#ITokenClaims.scopes}
26
+ *
27
+ * @defaultValue - [ ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite ]
28
+ */
29
+ private readonly scopes?: ScopeType[],
30
+ ) {}
31
+
32
+ public async fetchOrdererToken(
33
+ tenantId: string,
34
+ documentId?: string,
35
+ ): Promise<ITokenResponse> {
18
36
  return {
19
37
  fromCache: true,
20
38
  jwt: this.getSignedToken(tenantId, documentId),
21
39
  };
22
40
  }
23
41
 
24
- public async fetchStorageToken(tenantId: string, documentId: string): Promise<ITokenResponse> {
42
+ public async fetchStorageToken(
43
+ tenantId: string,
44
+ documentId: string,
45
+ ): Promise<ITokenResponse> {
25
46
  return {
26
47
  fromCache: true,
27
48
  jwt: this.getSignedToken(tenantId, documentId),
@@ -32,14 +53,19 @@ export class InsecureTinyliciousTokenProvider implements ITokenProvider {
32
53
  tenantId: string,
33
54
  documentId: string | undefined,
34
55
  lifetime: number = 60 * 60,
35
- ver: string = "1.0"): string {
56
+ ver: string = "1.0"
57
+ ): string {
36
58
  // Current time in seconds
37
- const now = Math.round((new Date()).getTime() / 1000);
59
+ const now = Math.round(new Date().getTime() / 1000);
38
60
  const user = { id: uuid(), name: getRandomName() };
39
61
 
40
62
  const claims: ITokenClaims = {
41
63
  documentId: documentId ?? "",
42
- scopes: [ScopeType.DocRead, ScopeType.DocWrite, ScopeType.SummaryWrite],
64
+ scopes: this.scopes ?? [
65
+ ScopeType.DocRead,
66
+ ScopeType.DocWrite,
67
+ ScopeType.SummaryWrite,
68
+ ],
43
69
  tenantId,
44
70
  user,
45
71
  iat: now,
@@ -48,6 +74,11 @@ export class InsecureTinyliciousTokenProvider implements ITokenProvider {
48
74
  };
49
75
 
50
76
  const utf8Key = { utf8: "12345" };
51
- return jsrsasign.jws.JWS.sign(null, JSON.stringify({ alg: "HS256", typ: "JWT" }), claims, utf8Key);
77
+ return jsrsasign.jws.JWS.sign(
78
+ null,
79
+ JSON.stringify({ alg: "HS256", typ: "JWT" }),
80
+ claims,
81
+ utf8Key,
82
+ );
52
83
  }
53
84
  }