@cubist-labs/cubesigner-sdk 0.3.26 → 0.3.28
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/cjs/package.json +1 -1
- package/dist/cjs/src/client.d.ts +4 -4
- package/dist/cjs/src/index.js +7 -4
- package/dist/cjs/src/key.d.ts +35 -2
- package/dist/cjs/src/key.js +79 -5
- package/dist/cjs/src/org_event_processor.d.ts +57 -0
- package/dist/cjs/src/org_event_processor.js +137 -0
- package/dist/cjs/src/schema.d.ts +41 -24
- package/dist/cjs/src/schema.js +1 -1
- package/dist/cjs/src/util.d.ts +2 -0
- package/dist/cjs/src/util.js +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/src/client.d.ts +4 -4
- package/dist/esm/src/index.js +4 -4
- package/dist/esm/src/key.d.ts +35 -2
- package/dist/esm/src/key.js +79 -5
- package/dist/esm/src/org_event_processor.d.ts +57 -0
- package/dist/esm/src/org_event_processor.js +133 -0
- package/dist/esm/src/schema.d.ts +41 -24
- package/dist/esm/src/schema.js +1 -1
- package/dist/esm/src/util.d.ts +2 -0
- package/dist/esm/src/util.js +1 -1
- package/dist/package.json +36 -0
- package/dist/spec/env/beta.json +9 -0
- package/dist/spec/env/gamma.json +9 -0
- package/dist/spec/env/prod.json +9 -0
- package/dist/src/api.d.ts +634 -0
- package/dist/src/api.js +1309 -0
- package/dist/src/client.d.ts +575 -0
- package/dist/src/client.js +381 -0
- package/dist/src/env.d.ts +15 -0
- package/dist/src/env.js +35 -0
- package/dist/src/error.d.ts +29 -0
- package/dist/src/error.js +36 -0
- package/dist/src/events.d.ts +84 -0
- package/dist/src/events.js +195 -0
- package/dist/src/index.d.ts +207 -0
- package/dist/src/index.js +308 -0
- package/dist/src/key.d.ts +152 -0
- package/dist/src/key.js +242 -0
- package/dist/src/mfa.d.ts +94 -0
- package/dist/src/mfa.js +169 -0
- package/dist/src/org.d.ts +99 -0
- package/dist/src/org.js +95 -0
- package/dist/src/paginator.d.ts +76 -0
- package/dist/src/paginator.js +99 -0
- package/dist/src/response.d.ts +101 -0
- package/dist/src/response.js +164 -0
- package/dist/src/role.d.ts +283 -0
- package/dist/src/role.js +253 -0
- package/dist/src/schema.d.ts +6209 -0
- package/dist/src/schema.js +7 -0
- package/dist/src/schema_types.d.ts +113 -0
- package/dist/src/schema_types.js +3 -0
- package/dist/src/session/session_storage.d.ts +47 -0
- package/dist/src/session/session_storage.js +76 -0
- package/dist/src/session/signer_session_manager.d.ts +125 -0
- package/dist/src/session/signer_session_manager.js +239 -0
- package/dist/src/signer_session.d.ts +41 -0
- package/dist/src/signer_session.js +77 -0
- package/dist/src/user_export.d.ts +52 -0
- package/dist/src/user_export.js +129 -0
- package/dist/src/util.d.ts +61 -0
- package/dist/src/util.js +97 -0
- package/package.json +1 -1
- package/src/index.ts +3 -3
- package/src/key.ts +83 -4
- package/src/schema.ts +42 -25
- package/src/util.ts +3 -0
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { MfaPolicy } from "./role";
|
|
2
|
+
import { components } from "./schema";
|
|
3
|
+
import { JsonMap } from "./util";
|
|
4
|
+
type schemas = components["schemas"];
|
|
5
|
+
export type UserInfo = schemas["UserInfo"];
|
|
6
|
+
export type ConfiguredMfa = schemas["ConfiguredMfa"];
|
|
7
|
+
export type RatchetConfig = schemas["RatchetConfig"];
|
|
8
|
+
export type IdentityProof = schemas["IdentityProof"];
|
|
9
|
+
export type TotpInfo = schemas["TotpInfo"];
|
|
10
|
+
export type OidcAuthResponse = schemas["NewSessionResponse"];
|
|
11
|
+
export type ApiAddFidoChallenge = schemas["FidoCreateChallengeResponse"];
|
|
12
|
+
export type ApiMfaFidoChallenge = schemas["FidoAssertChallenge"];
|
|
13
|
+
export type PublicKeyCredentialCreationOptions = schemas["PublicKeyCredentialCreationOptions"];
|
|
14
|
+
export type PublicKeyCredentialRequestOptions = schemas["PublicKeyCredentialRequestOptions"];
|
|
15
|
+
export type PublicKeyCredentialParameters = schemas["PublicKeyCredentialParameters"];
|
|
16
|
+
export type PublicKeyCredentialDescriptor = schemas["PublicKeyCredentialDescriptor"];
|
|
17
|
+
export type AuthenticatorSelectionCriteria = schemas["AuthenticatorSelectionCriteria"];
|
|
18
|
+
export type PublicKeyCredentialUserEntity = schemas["PublicKeyCredentialUserEntity"];
|
|
19
|
+
export type PublicKeyCredential = schemas["PublicKeyCredential"];
|
|
20
|
+
export type OrgInfo = schemas["OrgInfo"];
|
|
21
|
+
export type UserIdInfo = schemas["UserIdInfo"];
|
|
22
|
+
export type UpdateOrgRequest = schemas["UpdateOrgRequest"];
|
|
23
|
+
export type UpdateOrgResponse = schemas["UpdateOrgResponse"];
|
|
24
|
+
export type OidcIdentity = schemas["OIDCIdentity"];
|
|
25
|
+
export type MemberRole = schemas["MemberRole"];
|
|
26
|
+
export type SchemaKeyType = schemas["KeyType"];
|
|
27
|
+
export type ListKeysResponse = schemas["PaginatedListKeysResponse"];
|
|
28
|
+
export type UpdateKeyRequest = schemas["UpdateKeyRequest"];
|
|
29
|
+
export type KeyInfoApi = schemas["KeyInfo"];
|
|
30
|
+
export type KeyInRoleInfo = schemas["KeyInRoleInfo"];
|
|
31
|
+
export type UserInRoleInfo = schemas["UserInRoleInfo"];
|
|
32
|
+
export type KeyTypeApi = schemas["KeyType"];
|
|
33
|
+
export type ListRolesResponse = schemas["PaginatedListRolesResponse"];
|
|
34
|
+
export type ListRoleKeysResponse = schemas["PaginatedListRoleKeysResponse"];
|
|
35
|
+
export type ListRoleUsersResponse = schemas["PaginatedListRoleUsersResponse"];
|
|
36
|
+
export type UpdateRoleRequest = schemas["UpdateRoleRequest"];
|
|
37
|
+
export type KeyWithPoliciesInfo = schemas["KeyInRoleInfo"];
|
|
38
|
+
export type RoleInfo = schemas["RoleInfo"];
|
|
39
|
+
export type SessionInfo = schemas["SessionInfo"];
|
|
40
|
+
export type ClientSessionInfo = schemas["ClientSessionInfo"];
|
|
41
|
+
export type NewSessionResponse = schemas["NewSessionResponse"];
|
|
42
|
+
export type SessionsResponse = schemas["PaginatedSessionsResponse"];
|
|
43
|
+
export type CreateSignerSessionRequest = schemas["CreateTokenRequest"];
|
|
44
|
+
export type RefreshSignerSessionRequest = schemas["AuthData"];
|
|
45
|
+
export type EvmSignRequest = schemas["Eth1SignRequest"];
|
|
46
|
+
export type EvmSignResponse = schemas["Eth1SignResponse"];
|
|
47
|
+
export type Eip191SignRequest = schemas["Eip191SignRequest"];
|
|
48
|
+
export type Eip712SignRequest = schemas["Eip712SignRequest"];
|
|
49
|
+
export type Eip191Or712SignResponse = schemas["Eip191Or712SignResponse"];
|
|
50
|
+
export type Eth2SignRequest = schemas["Eth2SignRequest"];
|
|
51
|
+
export type Eth2SignResponse = schemas["Eth2SignResponse"];
|
|
52
|
+
export type Eth2StakeRequest = schemas["StakeRequest"];
|
|
53
|
+
export type Eth2StakeResponse = schemas["StakeResponse"];
|
|
54
|
+
export type Eth2UnstakeRequest = schemas["UnstakeRequest"];
|
|
55
|
+
export type Eth2UnstakeResponse = schemas["UnstakeResponse"];
|
|
56
|
+
export type BlobSignRequest = schemas["BlobSignRequest"];
|
|
57
|
+
export type BlobSignResponse = schemas["BlobSignResponse"];
|
|
58
|
+
export type BtcSignRequest = schemas["BtcSignRequest"];
|
|
59
|
+
export type BtcSignResponse = schemas["BtcSignResponse"];
|
|
60
|
+
export type SolanaSignRequest = schemas["SolanaSignRequest"];
|
|
61
|
+
export type SolanaSignResponse = schemas["SolanaSignResponse"];
|
|
62
|
+
export type AvaSignRequest = schemas["AvaSignRequest"];
|
|
63
|
+
export type AvaSignResponse = schemas["AvaSignResponse"];
|
|
64
|
+
export type AcceptedResponse = schemas["AcceptedResponse"];
|
|
65
|
+
export type ErrorResponse = schemas["ErrorResponse"];
|
|
66
|
+
export type BtcSignatureKind = schemas["BtcSignatureKind"];
|
|
67
|
+
export type MfaType = schemas["MfaType"];
|
|
68
|
+
export type MfaRequestInfo = schemas["MfaRequestInfo"];
|
|
69
|
+
export type UserExportInitRequest = schemas["UserExportInitRequest"];
|
|
70
|
+
export type UserExportInitResponse = schemas["UserExportInitResponse"];
|
|
71
|
+
export type UserExportCompleteRequest = schemas["UserExportCompleteRequest"];
|
|
72
|
+
export type UserExportCompleteResponse = schemas["UserExportCompleteResponse"];
|
|
73
|
+
export type UserExportListResponse = schemas["PaginatedUserExportListResponse"];
|
|
74
|
+
export type UserExportKeyMaterial = schemas["JsonKeyPackage"];
|
|
75
|
+
export type Empty = schemas["EmptyImpl"];
|
|
76
|
+
/** Options for a new OIDC user */
|
|
77
|
+
export interface CreateOidcUserOptions {
|
|
78
|
+
/** The role of an OIDC user, default is "Alien" */
|
|
79
|
+
memberRole?: MemberRole;
|
|
80
|
+
/** Optional MFA policy to associate with the user account */
|
|
81
|
+
mfaPolicy?: MfaPolicy;
|
|
82
|
+
}
|
|
83
|
+
/** Ava P- or X-chain transaction */
|
|
84
|
+
export type AvaTx = {
|
|
85
|
+
P: AvaPChainTx;
|
|
86
|
+
} | {
|
|
87
|
+
X: AvaXChainTx;
|
|
88
|
+
};
|
|
89
|
+
/** Ava P-chain transaction */
|
|
90
|
+
export type AvaPChainTx = {
|
|
91
|
+
AddPermissionlessValidator: JsonMap;
|
|
92
|
+
} | {
|
|
93
|
+
AddSubnetValidator: JsonMap;
|
|
94
|
+
} | {
|
|
95
|
+
AddValidator: JsonMap;
|
|
96
|
+
} | {
|
|
97
|
+
CreateChain: JsonMap;
|
|
98
|
+
} | {
|
|
99
|
+
CreateSubnet: JsonMap;
|
|
100
|
+
} | {
|
|
101
|
+
Export: JsonMap;
|
|
102
|
+
} | {
|
|
103
|
+
Import: JsonMap;
|
|
104
|
+
};
|
|
105
|
+
/** Ava X-chain transaction */
|
|
106
|
+
export type AvaXChainTx = {
|
|
107
|
+
Base: JsonMap;
|
|
108
|
+
} | {
|
|
109
|
+
Export: JsonMap;
|
|
110
|
+
} | {
|
|
111
|
+
Import: JsonMap;
|
|
112
|
+
};
|
|
113
|
+
export {};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2NoZW1hX3R5cGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3NjaGVtYV90eXBlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWZhUG9saWN5IH0gZnJvbSBcIi4vcm9sZVwiO1xuaW1wb3J0IHsgY29tcG9uZW50cyB9IGZyb20gXCIuL3NjaGVtYVwiO1xuaW1wb3J0IHsgSnNvbk1hcCB9IGZyb20gXCIuL3V0aWxcIjtcblxudHlwZSBzY2hlbWFzID0gY29tcG9uZW50c1tcInNjaGVtYXNcIl07XG5cbmV4cG9ydCB0eXBlIFVzZXJJbmZvID0gc2NoZW1hc1tcIlVzZXJJbmZvXCJdO1xuZXhwb3J0IHR5cGUgQ29uZmlndXJlZE1mYSA9IHNjaGVtYXNbXCJDb25maWd1cmVkTWZhXCJdO1xuZXhwb3J0IHR5cGUgUmF0Y2hldENvbmZpZyA9IHNjaGVtYXNbXCJSYXRjaGV0Q29uZmlnXCJdO1xuZXhwb3J0IHR5cGUgSWRlbnRpdHlQcm9vZiA9IHNjaGVtYXNbXCJJZGVudGl0eVByb29mXCJdO1xuZXhwb3J0IHR5cGUgVG90cEluZm8gPSBzY2hlbWFzW1wiVG90cEluZm9cIl07XG5cbmV4cG9ydCB0eXBlIE9pZGNBdXRoUmVzcG9uc2UgPSBzY2hlbWFzW1wiTmV3U2Vzc2lvblJlc3BvbnNlXCJdO1xuZXhwb3J0IHR5cGUgQXBpQWRkRmlkb0NoYWxsZW5nZSA9IHNjaGVtYXNbXCJGaWRvQ3JlYXRlQ2hhbGxlbmdlUmVzcG9uc2VcIl07XG5leHBvcnQgdHlwZSBBcGlNZmFGaWRvQ2hhbGxlbmdlID0gc2NoZW1hc1tcIkZpZG9Bc3NlcnRDaGFsbGVuZ2VcIl07XG5cbmV4cG9ydCB0eXBlIFB1YmxpY0tleUNyZWRlbnRpYWxDcmVhdGlvbk9wdGlvbnMgPSBzY2hlbWFzW1wiUHVibGljS2V5Q3JlZGVudGlhbENyZWF0aW9uT3B0aW9uc1wiXTtcbmV4cG9ydCB0eXBlIFB1YmxpY0tleUNyZWRlbnRpYWxSZXF1ZXN0T3B0aW9ucyA9IHNjaGVtYXNbXCJQdWJsaWNLZXlDcmVkZW50aWFsUmVxdWVzdE9wdGlvbnNcIl07XG5leHBvcnQgdHlwZSBQdWJsaWNLZXlDcmVkZW50aWFsUGFyYW1ldGVycyA9IHNjaGVtYXNbXCJQdWJsaWNLZXlDcmVkZW50aWFsUGFyYW1ldGVyc1wiXTtcbmV4cG9ydCB0eXBlIFB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yID0gc2NoZW1hc1tcIlB1YmxpY0tleUNyZWRlbnRpYWxEZXNjcmlwdG9yXCJdO1xuZXhwb3J0IHR5cGUgQXV0aGVudGljYXRvclNlbGVjdGlvbkNyaXRlcmlhID0gc2NoZW1hc1tcIkF1dGhlbnRpY2F0b3JTZWxlY3Rpb25Dcml0ZXJpYVwiXTtcbmV4cG9ydCB0eXBlIFB1YmxpY0tleUNyZWRlbnRpYWxVc2VyRW50aXR5ID0gc2NoZW1hc1tcIlB1YmxpY0tleUNyZWRlbnRpYWxVc2VyRW50aXR5XCJdO1xuZXhwb3J0IHR5cGUgUHVibGljS2V5Q3JlZGVudGlhbCA9IHNjaGVtYXNbXCJQdWJsaWNLZXlDcmVkZW50aWFsXCJdO1xuXG5leHBvcnQgdHlwZSBPcmdJbmZvID0gc2NoZW1hc1tcIk9yZ0luZm9cIl07XG5leHBvcnQgdHlwZSBVc2VySWRJbmZvID0gc2NoZW1hc1tcIlVzZXJJZEluZm9cIl07XG5leHBvcnQgdHlwZSBVcGRhdGVPcmdSZXF1ZXN0ID0gc2NoZW1hc1tcIlVwZGF0ZU9yZ1JlcXVlc3RcIl07XG5leHBvcnQgdHlwZSBVcGRhdGVPcmdSZXNwb25zZSA9IHNjaGVtYXNbXCJVcGRhdGVPcmdSZXNwb25zZVwiXTtcblxuZXhwb3J0IHR5cGUgT2lkY0lkZW50aXR5ID0gc2NoZW1hc1tcIk9JRENJZGVudGl0eVwiXTtcbmV4cG9ydCB0eXBlIE1lbWJlclJvbGUgPSBzY2hlbWFzW1wiTWVtYmVyUm9sZVwiXTtcblxuZXhwb3J0IHR5cGUgU2NoZW1hS2V5VHlwZSA9IHNjaGVtYXNbXCJLZXlUeXBlXCJdO1xuXG5leHBvcnQgdHlwZSBMaXN0S2V5c1Jlc3BvbnNlID0gc2NoZW1hc1tcIlBhZ2luYXRlZExpc3RLZXlzUmVzcG9uc2VcIl07XG5leHBvcnQgdHlwZSBVcGRhdGVLZXlSZXF1ZXN0ID0gc2NoZW1hc1tcIlVwZGF0ZUtleVJlcXVlc3RcIl07XG5leHBvcnQgdHlwZSBLZXlJbmZvQXBpID0gc2NoZW1hc1tcIktleUluZm9cIl07XG5leHBvcnQgdHlwZSBLZXlJblJvbGVJbmZvID0gc2NoZW1hc1tcIktleUluUm9sZUluZm9cIl07XG5leHBvcnQgdHlwZSBVc2VySW5Sb2xlSW5mbyA9IHNjaGVtYXNbXCJVc2VySW5Sb2xlSW5mb1wiXTtcbmV4cG9ydCB0eXBlIEtleVR5cGVBcGkgPSBzY2hlbWFzW1wiS2V5VHlwZVwiXTtcblxuZXhwb3J0IHR5cGUgTGlzdFJvbGVzUmVzcG9uc2UgPSBzY2hlbWFzW1wiUGFnaW5hdGVkTGlzdFJvbGVzUmVzcG9uc2VcIl07XG5leHBvcnQgdHlwZSBMaXN0Um9sZUtleXNSZXNwb25zZSA9IHNjaGVtYXNbXCJQYWdpbmF0ZWRMaXN0Um9sZUtleXNSZXNwb25zZVwiXTtcbmV4cG9ydCB0eXBlIExpc3RSb2xlVXNlcnNSZXNwb25zZSA9IHNjaGVtYXNbXCJQYWdpbmF0ZWRMaXN0Um9sZVVzZXJzUmVzcG9uc2VcIl07XG5leHBvcnQgdHlwZSBVcGRhdGVSb2xlUmVxdWVzdCA9IHNjaGVtYXNbXCJVcGRhdGVSb2xlUmVxdWVzdFwiXTtcbmV4cG9ydCB0eXBlIEtleVdpdGhQb2xpY2llc0luZm8gPSBzY2hlbWFzW1wiS2V5SW5Sb2xlSW5mb1wiXTtcbmV4cG9ydCB0eXBlIFJvbGVJbmZvID0gc2NoZW1hc1tcIlJvbGVJbmZvXCJdO1xuXG5leHBvcnQgdHlwZSBTZXNzaW9uSW5mbyA9IHNjaGVtYXNbXCJTZXNzaW9uSW5mb1wiXTtcbmV4cG9ydCB0eXBlIENsaWVudFNlc3Npb25JbmZvID0gc2NoZW1hc1tcIkNsaWVudFNlc3Npb25JbmZvXCJdO1xuZXhwb3J0IHR5cGUgTmV3U2Vzc2lvblJlc3BvbnNlID0gc2NoZW1hc1tcIk5ld1Nlc3Npb25SZXNwb25zZVwiXTtcbmV4cG9ydCB0eXBlIFNlc3Npb25zUmVzcG9uc2UgPSBzY2hlbWFzW1wiUGFnaW5hdGVkU2Vzc2lvbnNSZXNwb25zZVwiXTtcblxuZXhwb3J0IHR5cGUgQ3JlYXRlU2lnbmVyU2Vzc2lvblJlcXVlc3QgPSBzY2hlbWFzW1wiQ3JlYXRlVG9rZW5SZXF1ZXN0XCJdO1xuZXhwb3J0IHR5cGUgUmVmcmVzaFNpZ25lclNlc3Npb25SZXF1ZXN0ID0gc2NoZW1hc1tcIkF1dGhEYXRhXCJdO1xuXG5leHBvcnQgdHlwZSBFdm1TaWduUmVxdWVzdCA9IHNjaGVtYXNbXCJFdGgxU2lnblJlcXVlc3RcIl07XG5leHBvcnQgdHlwZSBFdm1TaWduUmVzcG9uc2UgPSBzY2hlbWFzW1wiRXRoMVNpZ25SZXNwb25zZVwiXTtcbmV4cG9ydCB0eXBlIEVpcDE5MVNpZ25SZXF1ZXN0ID0gc2NoZW1hc1tcIkVpcDE5MVNpZ25SZXF1ZXN0XCJdO1xuZXhwb3J0IHR5cGUgRWlwNzEyU2lnblJlcXVlc3QgPSBzY2hlbWFzW1wiRWlwNzEyU2lnblJlcXVlc3RcIl07XG5leHBvcnQgdHlwZSBFaXAxOTFPcjcxMlNpZ25SZXNwb25zZSA9IHNjaGVtYXNbXCJFaXAxOTFPcjcxMlNpZ25SZXNwb25zZVwiXTtcbmV4cG9ydCB0eXBlIEV0aDJTaWduUmVxdWVzdCA9IHNjaGVtYXNbXCJFdGgyU2lnblJlcXVlc3RcIl07XG5leHBvcnQgdHlwZSBFdGgyU2lnblJlc3BvbnNlID0gc2NoZW1hc1tcIkV0aDJTaWduUmVzcG9uc2VcIl07XG5leHBvcnQgdHlwZSBFdGgyU3Rha2VSZXF1ZXN0ID0gc2NoZW1hc1tcIlN0YWtlUmVxdWVzdFwiXTtcbmV4cG9ydCB0eXBlIEV0aDJTdGFrZVJlc3BvbnNlID0gc2NoZW1hc1tcIlN0YWtlUmVzcG9uc2VcIl07XG5leHBvcnQgdHlwZSBFdGgyVW5zdGFrZVJlcXVlc3QgPSBzY2hlbWFzW1wiVW5zdGFrZVJlcXVlc3RcIl07XG5leHBvcnQgdHlwZSBFdGgyVW5zdGFrZVJlc3BvbnNlID0gc2NoZW1hc1tcIlVuc3Rha2VSZXNwb25zZVwiXTtcbmV4cG9ydCB0eXBlIEJsb2JTaWduUmVxdWVzdCA9IHNjaGVtYXNbXCJCbG9iU2lnblJlcXVlc3RcIl07XG5leHBvcnQgdHlwZSBCbG9iU2lnblJlc3BvbnNlID0gc2NoZW1hc1tcIkJsb2JTaWduUmVzcG9uc2VcIl07XG5leHBvcnQgdHlwZSBCdGNTaWduUmVxdWVzdCA9IHNjaGVtYXNbXCJCdGNTaWduUmVxdWVzdFwiXTtcbmV4cG9ydCB0eXBlIEJ0Y1NpZ25SZXNwb25zZSA9IHNjaGVtYXNbXCJCdGNTaWduUmVzcG9uc2VcIl07XG5leHBvcnQgdHlwZSBTb2xhbmFTaWduUmVxdWVzdCA9IHNjaGVtYXNbXCJTb2xhbmFTaWduUmVxdWVzdFwiXTtcbmV4cG9ydCB0eXBlIFNvbGFuYVNpZ25SZXNwb25zZSA9IHNjaGVtYXNbXCJTb2xhbmFTaWduUmVzcG9uc2VcIl07XG5leHBvcnQgdHlwZSBBdmFTaWduUmVxdWVzdCA9IHNjaGVtYXNbXCJBdmFTaWduUmVxdWVzdFwiXTtcbmV4cG9ydCB0eXBlIEF2YVNpZ25SZXNwb25zZSA9IHNjaGVtYXNbXCJBdmFTaWduUmVzcG9uc2VcIl07XG5cbmV4cG9ydCB0eXBlIEFjY2VwdGVkUmVzcG9uc2UgPSBzY2hlbWFzW1wiQWNjZXB0ZWRSZXNwb25zZVwiXTtcbmV4cG9ydCB0eXBlIEVycm9yUmVzcG9uc2UgPSBzY2hlbWFzW1wiRXJyb3JSZXNwb25zZVwiXTtcbmV4cG9ydCB0eXBlIEJ0Y1NpZ25hdHVyZUtpbmQgPSBzY2hlbWFzW1wiQnRjU2lnbmF0dXJlS2luZFwiXTtcblxuZXhwb3J0IHR5cGUgTWZhVHlwZSA9IHNjaGVtYXNbXCJNZmFUeXBlXCJdO1xuZXhwb3J0IHR5cGUgTWZhUmVxdWVzdEluZm8gPSBzY2hlbWFzW1wiTWZhUmVxdWVzdEluZm9cIl07XG5cbmV4cG9ydCB0eXBlIFVzZXJFeHBvcnRJbml0UmVxdWVzdCA9IHNjaGVtYXNbXCJVc2VyRXhwb3J0SW5pdFJlcXVlc3RcIl07XG5leHBvcnQgdHlwZSBVc2VyRXhwb3J0SW5pdFJlc3BvbnNlID0gc2NoZW1hc1tcIlVzZXJFeHBvcnRJbml0UmVzcG9uc2VcIl07XG5leHBvcnQgdHlwZSBVc2VyRXhwb3J0Q29tcGxldGVSZXF1ZXN0ID0gc2NoZW1hc1tcIlVzZXJFeHBvcnRDb21wbGV0ZVJlcXVlc3RcIl07XG5leHBvcnQgdHlwZSBVc2VyRXhwb3J0Q29tcGxldGVSZXNwb25zZSA9IHNjaGVtYXNbXCJVc2VyRXhwb3J0Q29tcGxldGVSZXNwb25zZVwiXTtcbmV4cG9ydCB0eXBlIFVzZXJFeHBvcnRMaXN0UmVzcG9uc2UgPSBzY2hlbWFzW1wiUGFnaW5hdGVkVXNlckV4cG9ydExpc3RSZXNwb25zZVwiXTtcbmV4cG9ydCB0eXBlIFVzZXJFeHBvcnRLZXlNYXRlcmlhbCA9IHNjaGVtYXNbXCJKc29uS2V5UGFja2FnZVwiXTtcblxuZXhwb3J0IHR5cGUgRW1wdHkgPSBzY2hlbWFzW1wiRW1wdHlJbXBsXCJdO1xuXG4vKiogT3B0aW9ucyBmb3IgYSBuZXcgT0lEQyB1c2VyICovXG5leHBvcnQgaW50ZXJmYWNlIENyZWF0ZU9pZGNVc2VyT3B0aW9ucyB7XG4gIC8qKiBUaGUgcm9sZSBvZiBhbiBPSURDIHVzZXIsIGRlZmF1bHQgaXMgXCJBbGllblwiICovXG4gIG1lbWJlclJvbGU/OiBNZW1iZXJSb2xlO1xuICAvKiogT3B0aW9uYWwgTUZBIHBvbGljeSB0byBhc3NvY2lhdGUgd2l0aCB0aGUgdXNlciBhY2NvdW50ICovXG4gIG1mYVBvbGljeT86IE1mYVBvbGljeTtcbn1cblxuLyoqIEF2YSBQLSBvciBYLWNoYWluIHRyYW5zYWN0aW9uICovXG5leHBvcnQgdHlwZSBBdmFUeCA9IHsgUDogQXZhUENoYWluVHggfSB8IHsgWDogQXZhWENoYWluVHggfTtcblxuLyoqIEF2YSBQLWNoYWluIHRyYW5zYWN0aW9uICovXG5leHBvcnQgdHlwZSBBdmFQQ2hhaW5UeCA9XG4gIHwgeyBBZGRQZXJtaXNzaW9ubGVzc1ZhbGlkYXRvcjogSnNvbk1hcCB9XG4gIHwgeyBBZGRTdWJuZXRWYWxpZGF0b3I6IEpzb25NYXAgfVxuICB8IHsgQWRkVmFsaWRhdG9yOiBKc29uTWFwIH1cbiAgfCB7IENyZWF0ZUNoYWluOiBKc29uTWFwIH1cbiAgfCB7IENyZWF0ZVN1Ym5ldDogSnNvbk1hcCB9XG4gIHwgeyBFeHBvcnQ6IEpzb25NYXAgfVxuICB8IHsgSW1wb3J0OiBKc29uTWFwIH07XG5cbi8qKiBBdmEgWC1jaGFpbiB0cmFuc2FjdGlvbiAqL1xuZXhwb3J0IHR5cGUgQXZhWENoYWluVHggPSB7IEJhc2U6IEpzb25NYXAgfSB8IHsgRXhwb3J0OiBKc29uTWFwIH0gfCB7IEltcG9ydDogSnNvbk1hcCB9O1xuIl19
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
/** Interface for storing sessions. */
|
|
2
|
+
export interface SessionStorage<U> {
|
|
3
|
+
/** Store session information */
|
|
4
|
+
save(data: U): Promise<void>;
|
|
5
|
+
/** Retrieve session information */
|
|
6
|
+
retrieve(): Promise<U>;
|
|
7
|
+
}
|
|
8
|
+
/** Stores session information in memory */
|
|
9
|
+
export declare class MemorySessionStorage<U> implements SessionStorage<U> {
|
|
10
|
+
#private;
|
|
11
|
+
/**
|
|
12
|
+
* Store session information.
|
|
13
|
+
* @param {U} data The session information to store
|
|
14
|
+
* @return {Promise<void>}
|
|
15
|
+
*/
|
|
16
|
+
save(data: U): Promise<void>;
|
|
17
|
+
/**
|
|
18
|
+
* Retrieve session information.
|
|
19
|
+
* @return {Promise<U>} The session information
|
|
20
|
+
*/
|
|
21
|
+
retrieve(): Promise<U>;
|
|
22
|
+
/**
|
|
23
|
+
* Constructor.
|
|
24
|
+
* @param {U?} data The initial data
|
|
25
|
+
*/
|
|
26
|
+
constructor(data?: U);
|
|
27
|
+
}
|
|
28
|
+
/** Stores session information in a JSON file */
|
|
29
|
+
export declare class JsonFileSessionStorage<U> implements SessionStorage<U> {
|
|
30
|
+
#private;
|
|
31
|
+
/**
|
|
32
|
+
* Store session information.
|
|
33
|
+
* @param {U} data The session information to store
|
|
34
|
+
* @return {Promise<void>}
|
|
35
|
+
*/
|
|
36
|
+
save(data: U): Promise<void>;
|
|
37
|
+
/**
|
|
38
|
+
* Retrieve session information.
|
|
39
|
+
* @return {Promise<U>} The session information
|
|
40
|
+
*/
|
|
41
|
+
retrieve(): Promise<U>;
|
|
42
|
+
/**
|
|
43
|
+
* Constructor.
|
|
44
|
+
* @param {string} filePath The file path to use for storage
|
|
45
|
+
*/
|
|
46
|
+
constructor(filePath: string);
|
|
47
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
3
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
4
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
5
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
6
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
7
|
+
};
|
|
8
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
9
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
10
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
11
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
12
|
+
};
|
|
13
|
+
var _MemorySessionStorage_data, _JsonFileSessionStorage_filePath;
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.JsonFileSessionStorage = exports.MemorySessionStorage = void 0;
|
|
16
|
+
const fs_1 = require("fs");
|
|
17
|
+
/** Stores session information in memory */
|
|
18
|
+
class MemorySessionStorage {
|
|
19
|
+
/**
|
|
20
|
+
* Store session information.
|
|
21
|
+
* @param {U} data The session information to store
|
|
22
|
+
* @return {Promise<void>}
|
|
23
|
+
*/
|
|
24
|
+
async save(data) {
|
|
25
|
+
__classPrivateFieldSet(this, _MemorySessionStorage_data, data, "f");
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Retrieve session information.
|
|
29
|
+
* @return {Promise<U>} The session information
|
|
30
|
+
*/
|
|
31
|
+
async retrieve() {
|
|
32
|
+
if (!__classPrivateFieldGet(this, _MemorySessionStorage_data, "f")) {
|
|
33
|
+
throw new Error("Missing session information");
|
|
34
|
+
}
|
|
35
|
+
return __classPrivateFieldGet(this, _MemorySessionStorage_data, "f");
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Constructor.
|
|
39
|
+
* @param {U?} data The initial data
|
|
40
|
+
*/
|
|
41
|
+
constructor(data) {
|
|
42
|
+
_MemorySessionStorage_data.set(this, void 0);
|
|
43
|
+
__classPrivateFieldSet(this, _MemorySessionStorage_data, data, "f");
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
exports.MemorySessionStorage = MemorySessionStorage;
|
|
47
|
+
_MemorySessionStorage_data = new WeakMap();
|
|
48
|
+
/** Stores session information in a JSON file */
|
|
49
|
+
class JsonFileSessionStorage {
|
|
50
|
+
/**
|
|
51
|
+
* Store session information.
|
|
52
|
+
* @param {U} data The session information to store
|
|
53
|
+
* @return {Promise<void>}
|
|
54
|
+
*/
|
|
55
|
+
async save(data) {
|
|
56
|
+
await fs_1.promises.writeFile(__classPrivateFieldGet(this, _JsonFileSessionStorage_filePath, "f"), JSON.stringify(data), "utf-8");
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Retrieve session information.
|
|
60
|
+
* @return {Promise<U>} The session information
|
|
61
|
+
*/
|
|
62
|
+
async retrieve() {
|
|
63
|
+
return JSON.parse(await fs_1.promises.readFile(__classPrivateFieldGet(this, _JsonFileSessionStorage_filePath, "f"), "utf-8"));
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Constructor.
|
|
67
|
+
* @param {string} filePath The file path to use for storage
|
|
68
|
+
*/
|
|
69
|
+
constructor(filePath) {
|
|
70
|
+
_JsonFileSessionStorage_filePath.set(this, void 0);
|
|
71
|
+
__classPrivateFieldSet(this, _JsonFileSessionStorage_filePath, filePath, "f");
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
exports.JsonFileSessionStorage = JsonFileSessionStorage;
|
|
75
|
+
_JsonFileSessionStorage_filePath = new WeakMap();
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbl9zdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL3Nlc3Npb24vc2Vzc2lvbl9zdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7OztBQUFBLDJCQUFvQztBQVdwQywyQ0FBMkM7QUFDM0MsTUFBYSxvQkFBb0I7SUFHL0I7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBTztRQUNoQix1QkFBQSxJQUFJLDhCQUFTLElBQUksTUFBQSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxLQUFLLENBQUMsUUFBUTtRQUNaLElBQUksQ0FBQyx1QkFBQSxJQUFJLGtDQUFNLEVBQUUsQ0FBQztZQUNoQixNQUFNLElBQUksS0FBSyxDQUFDLDZCQUE2QixDQUFDLENBQUM7UUFDakQsQ0FBQztRQUNELE9BQU8sdUJBQUEsSUFBSSxrQ0FBTSxDQUFDO0lBQ3BCLENBQUM7SUFFRDs7O09BR0c7SUFDSCxZQUFZLElBQVE7UUExQnBCLDZDQUFVO1FBMkJSLHVCQUFBLElBQUksOEJBQVMsSUFBSSxNQUFBLENBQUM7SUFDcEIsQ0FBQztDQUNGO0FBOUJELG9EQThCQzs7QUFFRCxnREFBZ0Q7QUFDaEQsTUFBYSxzQkFBc0I7SUFHakM7Ozs7T0FJRztJQUNILEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBTztRQUNoQixNQUFNLGFBQUUsQ0FBQyxTQUFTLENBQUMsdUJBQUEsSUFBSSx3Q0FBVSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsT0FBTyxDQUFDLENBQUM7SUFDcEUsQ0FBQztJQUVEOzs7T0FHRztJQUNILEtBQUssQ0FBQyxRQUFRO1FBQ1osT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sYUFBRSxDQUFDLFFBQVEsQ0FBQyx1QkFBQSxJQUFJLHdDQUFVLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FBQztJQUNoRSxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsWUFBWSxRQUFnQjtRQXZCbkIsbURBQWtCO1FBd0J6Qix1QkFBQSxJQUFJLG9DQUFhLFFBQVEsTUFBQSxDQUFDO0lBQzVCLENBQUM7Q0FDRjtBQTNCRCx3REEyQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwcm9taXNlcyBhcyBmcyB9IGZyb20gXCJmc1wiO1xuXG4vKiogSW50ZXJmYWNlIGZvciBzdG9yaW5nIHNlc3Npb25zLiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZXNzaW9uU3RvcmFnZTxVPiB7XG4gIC8qKiBTdG9yZSBzZXNzaW9uIGluZm9ybWF0aW9uICovXG4gIHNhdmUoZGF0YTogVSk6IFByb21pc2U8dm9pZD47XG5cbiAgLyoqIFJldHJpZXZlIHNlc3Npb24gaW5mb3JtYXRpb24gKi9cbiAgcmV0cmlldmUoKTogUHJvbWlzZTxVPjtcbn1cblxuLyoqIFN0b3JlcyBzZXNzaW9uIGluZm9ybWF0aW9uIGluIG1lbW9yeSAqL1xuZXhwb3J0IGNsYXNzIE1lbW9yeVNlc3Npb25TdG9yYWdlPFU+IGltcGxlbWVudHMgU2Vzc2lvblN0b3JhZ2U8VT4ge1xuICAjZGF0YT86IFU7XG5cbiAgLyoqXG4gICAqIFN0b3JlIHNlc3Npb24gaW5mb3JtYXRpb24uXG4gICAqIEBwYXJhbSB7VX0gZGF0YSBUaGUgc2Vzc2lvbiBpbmZvcm1hdGlvbiB0byBzdG9yZVxuICAgKiBAcmV0dXJuIHtQcm9taXNlPHZvaWQ+fVxuICAgKi9cbiAgYXN5bmMgc2F2ZShkYXRhOiBVKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgdGhpcy4jZGF0YSA9IGRhdGE7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgc2Vzc2lvbiBpbmZvcm1hdGlvbi5cbiAgICogQHJldHVybiB7UHJvbWlzZTxVPn0gVGhlIHNlc3Npb24gaW5mb3JtYXRpb25cbiAgICovXG4gIGFzeW5jIHJldHJpZXZlKCk6IFByb21pc2U8VT4ge1xuICAgIGlmICghdGhpcy4jZGF0YSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiTWlzc2luZyBzZXNzaW9uIGluZm9ybWF0aW9uXCIpO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy4jZGF0YTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtVP30gZGF0YSBUaGUgaW5pdGlhbCBkYXRhXG4gICAqL1xuICBjb25zdHJ1Y3RvcihkYXRhPzogVSkge1xuICAgIHRoaXMuI2RhdGEgPSBkYXRhO1xuICB9XG59XG5cbi8qKiBTdG9yZXMgc2Vzc2lvbiBpbmZvcm1hdGlvbiBpbiBhIEpTT04gZmlsZSAqL1xuZXhwb3J0IGNsYXNzIEpzb25GaWxlU2Vzc2lvblN0b3JhZ2U8VT4gaW1wbGVtZW50cyBTZXNzaW9uU3RvcmFnZTxVPiB7XG4gIHJlYWRvbmx5ICNmaWxlUGF0aDogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTdG9yZSBzZXNzaW9uIGluZm9ybWF0aW9uLlxuICAgKiBAcGFyYW0ge1V9IGRhdGEgVGhlIHNlc3Npb24gaW5mb3JtYXRpb24gdG8gc3RvcmVcbiAgICogQHJldHVybiB7UHJvbWlzZTx2b2lkPn1cbiAgICovXG4gIGFzeW5jIHNhdmUoZGF0YTogVSk6IFByb21pc2U8dm9pZD4ge1xuICAgIGF3YWl0IGZzLndyaXRlRmlsZSh0aGlzLiNmaWxlUGF0aCwgSlNPTi5zdHJpbmdpZnkoZGF0YSksIFwidXRmLThcIik7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmUgc2Vzc2lvbiBpbmZvcm1hdGlvbi5cbiAgICogQHJldHVybiB7UHJvbWlzZTxVPn0gVGhlIHNlc3Npb24gaW5mb3JtYXRpb25cbiAgICovXG4gIGFzeW5jIHJldHJpZXZlKCk6IFByb21pc2U8VT4ge1xuICAgIHJldHVybiBKU09OLnBhcnNlKGF3YWl0IGZzLnJlYWRGaWxlKHRoaXMuI2ZpbGVQYXRoLCBcInV0Zi04XCIpKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb25zdHJ1Y3Rvci5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZpbGVQYXRoIFRoZSBmaWxlIHBhdGggdG8gdXNlIGZvciBzdG9yYWdlXG4gICAqL1xuICBjb25zdHJ1Y3RvcihmaWxlUGF0aDogc3RyaW5nKSB7XG4gICAgdGhpcy4jZmlsZVBhdGggPSBmaWxlUGF0aDtcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
import { Events } from "../events";
|
|
2
|
+
import { EnvInterface } from "../env";
|
|
3
|
+
import { Client } from "../api";
|
|
4
|
+
import { SessionStorage } from "./session_storage";
|
|
5
|
+
import { ClientSessionInfo, NewSessionResponse } from "../schema_types";
|
|
6
|
+
import { operations } from "../schema";
|
|
7
|
+
/** JSON representation of our "signer session" file format */
|
|
8
|
+
export interface SignerSessionData {
|
|
9
|
+
/** The organization ID */
|
|
10
|
+
org_id: string;
|
|
11
|
+
/** The role ID */
|
|
12
|
+
role_id?: string;
|
|
13
|
+
/** The purpose of the session token */
|
|
14
|
+
purpose?: string;
|
|
15
|
+
/** The token to include in Authorization header */
|
|
16
|
+
token: string;
|
|
17
|
+
/** Session info */
|
|
18
|
+
session_info: ClientSessionInfo;
|
|
19
|
+
/** Session expiration (in seconds since UNIX epoch) beyond which it cannot be refreshed */
|
|
20
|
+
session_exp: number | undefined;
|
|
21
|
+
/** The environment */
|
|
22
|
+
env: {
|
|
23
|
+
["Dev-CubeSignerStack"]: EnvInterface;
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
/** Type of storage required for signer sessions */
|
|
27
|
+
export type SignerSessionStorage = SessionStorage<SignerSessionData>;
|
|
28
|
+
export interface SignerSessionLifetime {
|
|
29
|
+
/** Session lifetime (in seconds). Defaults to one week (604800). */
|
|
30
|
+
session?: number;
|
|
31
|
+
/** Auth token lifetime (in seconds). Defaults to five minutes (300). */
|
|
32
|
+
auth: number;
|
|
33
|
+
/** Refresh token lifetime (in seconds). Defaults to one day (86400). */
|
|
34
|
+
refresh?: number;
|
|
35
|
+
/** Grace lifetime (in seconds). Defaults to 30 seconds (30). */
|
|
36
|
+
grace?: number;
|
|
37
|
+
}
|
|
38
|
+
/** Generic session manager interface. */
|
|
39
|
+
export declare class SignerSessionManager {
|
|
40
|
+
#private;
|
|
41
|
+
readonly env: EnvInterface;
|
|
42
|
+
readonly orgId: string;
|
|
43
|
+
readonly storage: SignerSessionStorage;
|
|
44
|
+
readonly events: Events;
|
|
45
|
+
/**
|
|
46
|
+
* @return {string} The current auth token.
|
|
47
|
+
* @internal
|
|
48
|
+
*/
|
|
49
|
+
token(): Promise<string>;
|
|
50
|
+
/**
|
|
51
|
+
* Refreshes the current session if needed, then returns a client using the current session.
|
|
52
|
+
*
|
|
53
|
+
* May **UPDATE/MUTATE** self.
|
|
54
|
+
*
|
|
55
|
+
* @param {operations} operation The operation that this client will be
|
|
56
|
+
* used for. This parameter is used exclusively for more accurate error
|
|
57
|
+
* reporting and does not affect functionality.
|
|
58
|
+
* @return {Client} The client with the current session
|
|
59
|
+
*/
|
|
60
|
+
client(operation?: keyof operations): Promise<Client>;
|
|
61
|
+
/** Revokes the session. */
|
|
62
|
+
revoke(): Promise<void>;
|
|
63
|
+
/**
|
|
64
|
+
* Refreshes the session and **UPDATES/MUTATES** self.
|
|
65
|
+
*/
|
|
66
|
+
refresh(): Promise<void>;
|
|
67
|
+
/**
|
|
68
|
+
* Returns whether it's time to refresh this token.
|
|
69
|
+
* @return {boolean} Whether it's time to refresh this token.
|
|
70
|
+
* @internal
|
|
71
|
+
*/
|
|
72
|
+
isStale(): Promise<boolean>;
|
|
73
|
+
/**
|
|
74
|
+
* Return whether this session has expired and cannot be refreshed anymore.
|
|
75
|
+
* @return {boolean} Whether this session has expired.
|
|
76
|
+
* @internal
|
|
77
|
+
*/
|
|
78
|
+
hasExpired(): boolean;
|
|
79
|
+
/**
|
|
80
|
+
* Refreshes the session if it is about to expire.
|
|
81
|
+
* @return {boolean} Whether the session token was refreshed.
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
refreshIfNeeded(): Promise<boolean>;
|
|
85
|
+
/**
|
|
86
|
+
* Automatically refreshes the session in the background (if needed) every
|
|
87
|
+
* minute. This is a simple wrapper around `setInterval`.
|
|
88
|
+
* @return {number} The interval ID of the refresh timer.
|
|
89
|
+
*/
|
|
90
|
+
autoRefresh(): RefreshId;
|
|
91
|
+
/**
|
|
92
|
+
* Clears the auto refresh timer.
|
|
93
|
+
* @param {number} timer The timer ID to clear.
|
|
94
|
+
*/
|
|
95
|
+
clearAutoRefresh(timer: RefreshId): void;
|
|
96
|
+
/**
|
|
97
|
+
* @param {EnvInterface} env The CubeSigner environment
|
|
98
|
+
* @param {string} orgId The organization ID
|
|
99
|
+
* @param {NewSessionResponse} session The session information.
|
|
100
|
+
* @param {SignerSessionStorage} storage The storage to use for saving the session.
|
|
101
|
+
* @return {Promise<SignerSessionManager>} New signer session manager.
|
|
102
|
+
*/
|
|
103
|
+
static createFromSessionInfo(env: EnvInterface, orgId: string, session: NewSessionResponse, storage?: SignerSessionStorage): Promise<SignerSessionManager>;
|
|
104
|
+
/**
|
|
105
|
+
* @param {SignerSessionData} sessionData The session information.
|
|
106
|
+
* @param {SignerSessionStorage} storage The storage to use for saving the session.
|
|
107
|
+
* @return {Promise<SignerSessionManager>} New signer session manager.
|
|
108
|
+
*/
|
|
109
|
+
static createFromSessionData(sessionData: SignerSessionData, storage?: SignerSessionStorage): Promise<SignerSessionManager>;
|
|
110
|
+
/**
|
|
111
|
+
* Uses an existing session to create a new signer session manager.
|
|
112
|
+
*
|
|
113
|
+
* @param {SignerSessionStorage} storage The session storage to use
|
|
114
|
+
* @return {Promise<SingerSession>} New signer session manager
|
|
115
|
+
*/
|
|
116
|
+
static loadFromStorage(storage: SignerSessionStorage): Promise<SignerSessionManager>;
|
|
117
|
+
/**
|
|
118
|
+
* Constructor.
|
|
119
|
+
* @param {SignerSessionData} sessionData Session data
|
|
120
|
+
* @param {SignerSessionStorage} storage The session storage to use.
|
|
121
|
+
*/
|
|
122
|
+
constructor(sessionData: SignerSessionData, storage: SignerSessionStorage);
|
|
123
|
+
}
|
|
124
|
+
/** Type of the refresh timer ID. */
|
|
125
|
+
export type RefreshId = ReturnType<typeof setInterval>;
|