@globus/sdk 5.2.0 → 5.4.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/dist/cjs/core/authorization/index.js +10 -5
- package/dist/cjs/core/authorization/index.js.map +2 -2
- package/dist/cjs/core/info/index.js +1 -1
- package/dist/cjs/core/info/index.js.map +1 -1
- package/dist/cjs/index.js +104 -15
- package/dist/cjs/index.js.map +4 -4
- package/dist/cjs/services/globus-connect-server/client.js +1 -1
- package/dist/cjs/services/globus-connect-server/client.js.map +1 -1
- package/dist/esm/core/authorization/AuthorizationManager.d.ts +2 -1
- package/dist/esm/core/authorization/AuthorizationManager.d.ts.map +1 -1
- package/dist/esm/core/authorization/AuthorizationManager.js +1 -0
- package/dist/esm/core/authorization/AuthorizationManager.js.map +1 -1
- package/dist/esm/core/authorization/RedirectTransport.d.ts +8 -0
- package/dist/esm/core/authorization/RedirectTransport.d.ts.map +1 -1
- package/dist/esm/core/authorization/RedirectTransport.js +6 -1
- package/dist/esm/core/authorization/RedirectTransport.js.map +1 -1
- package/dist/esm/core/authorization/TokenManager.d.ts +1 -0
- package/dist/esm/core/authorization/TokenManager.d.ts.map +1 -1
- package/dist/esm/core/authorization/TokenManager.js +3 -0
- package/dist/esm/core/authorization/TokenManager.js.map +1 -1
- package/dist/esm/core/info/version.d.ts +1 -1
- package/dist/esm/core/info/version.js +1 -1
- package/dist/esm/package.json +1 -1
- package/dist/esm/services/auth/index.d.ts +1 -0
- package/dist/esm/services/auth/index.d.ts.map +1 -1
- package/dist/esm/services/auth/index.js +1 -0
- package/dist/esm/services/auth/index.js.map +1 -1
- package/dist/esm/services/auth/service/identities/consents.js +1 -1
- package/dist/esm/services/auth/service/identities/consents.js.map +1 -1
- package/dist/esm/services/auth/service/identities/index.js +2 -2
- package/dist/esm/services/auth/service/identities/index.js.map +1 -1
- package/dist/esm/services/auth/service/oauth2/token.d.ts +14 -0
- package/dist/esm/services/auth/service/oauth2/token.d.ts.map +1 -1
- package/dist/esm/services/auth/service/oauth2/token.js.map +1 -1
- package/dist/esm/services/auth/utils.d.ts +24 -0
- package/dist/esm/services/auth/utils.d.ts.map +1 -0
- package/dist/esm/services/auth/utils.js +122 -0
- package/dist/esm/services/auth/utils.js.map +1 -0
- package/dist/umd/globus.production.js +2 -2
- package/dist/umd/globus.production.js.map +4 -4
- package/package.json +1 -1
|
@@ -75,6 +75,9 @@ export class TokenManager {
|
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
|
+
remove(token) {
|
|
79
|
+
__classPrivateFieldGet(this, _TokenManager_manager, "f").storage.removeItem(`${__classPrivateFieldGet(this, _TokenManager_manager, "f").storageKeyPrefix}${token.resource_server}`);
|
|
80
|
+
}
|
|
78
81
|
/**
|
|
79
82
|
* Determines whether or not a stored token is expired.
|
|
80
83
|
* @param token The token to check.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../../../../src/core/authorization/TokenManager.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"TokenManager.js","sourceRoot":"","sources":["../../../../src/core/authorization/TokenManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare const VERSION = "5.
|
|
1
|
+
export declare const VERSION = "5.4.0";
|
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
package/dist/esm/package.json
CHANGED
|
@@ -25,4 +25,5 @@ export * as oauth2 from './service/oauth2/index.js';
|
|
|
25
25
|
export declare function isToken(check: unknown): check is Token;
|
|
26
26
|
export declare function isRefreshToken(check: unknown): check is TokenWithRefresh;
|
|
27
27
|
export declare function isGlobusAuthTokenResponse(check: unknown): check is TokenResponse;
|
|
28
|
+
export * as utils from './utils.js';
|
|
28
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/auth/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,MAAM,aAAO,CAAC;AAE3B;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,wBAAgB,wBAAwB,WAEvC;AAED,wBAAgB,gBAAgB,WAE/B;AAED,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAEpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAExE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAKhF"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/auth/index.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAEpC,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEzE;;;GAGG;AACH,eAAO,MAAM,MAAM,aAAO,CAAC;AAE3B;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG;IACzC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,2BAA2B,CAAC,EAAE,MAAM,CAAC;IACrC,8BAA8B,CAAC,EAAE,MAAM,CAAC;IACxC,oBAAoB,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxC,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,CAAC;AAEF,wBAAgB,wBAAwB,WAEvC;AAED,wBAAgB,gBAAgB,WAE/B;AAED,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAEpD,wBAAgB,OAAO,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,KAAK,CAEtD;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,gBAAgB,CAExE;AAED,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAKhF;AAED,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAIpC;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAgB3B,MAAM,UAAU,wBAAwB;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC5C,CAAC;AAED,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAEpD,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,cAAc,IAAI,KAAK,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,eAAe,IAAI,KAAK,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD;;OAEG;IACH,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,iBAAiB,IAAI,KAAK,CAAC;AACxE,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/services/auth/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,IAAI,MAAM,aAAa,CAAC;AAIpC;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,CAAC;AAgB3B,MAAM,UAAU,wBAAwB;IACtC,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,sBAAsB,CAAC,CAAC;AAChD,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC;AAC5C,CAAC;AAED,OAAO,KAAK,UAAU,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,MAAM,MAAM,2BAA2B,CAAC;AAEpD,MAAM,UAAU,OAAO,CAAC,KAAc;IACpC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,cAAc,IAAI,KAAK,CAAC;AAChF,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,eAAe,IAAI,KAAK,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,yBAAyB,CAAC,KAAc;IACtD;;OAEG;IACH,OAAO,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,iBAAiB,IAAI,KAAK,CAAC;AACxE,CAAC;AAED,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC"}
|
|
@@ -4,7 +4,7 @@ export const getAll = function (identity_id, options = {}, sdkOptions) {
|
|
|
4
4
|
return serviceRequest({
|
|
5
5
|
service: ID,
|
|
6
6
|
scope: SCOPES.VIEW_IDENTITIES,
|
|
7
|
-
path: `/identities/${identity_id}/consents`,
|
|
7
|
+
path: `/v2/api/identities/${identity_id}/consents`,
|
|
8
8
|
}, options, sdkOptions);
|
|
9
9
|
};
|
|
10
10
|
//# sourceMappingURL=consents.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"consents.js","sourceRoot":"","sources":["../../../../../../src/services/auth/service/identities/consents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAuBhE,MAAM,CAAC,MAAM,MAAM,GAAG,UACpB,WAAW,EACX,OAAO,GAAG,EAAE,EACZ,UAAW;IAEX,OAAO,cAAc,CACnB;QACE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,MAAM,CAAC,eAAe;QAC7B,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"consents.js","sourceRoot":"","sources":["../../../../../../src/services/auth/service/identities/consents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAuBhE,MAAM,CAAC,MAAM,MAAM,GAAG,UACpB,WAAW,EACX,OAAO,GAAG,EAAE,EACZ,UAAW;IAEX,OAAO,cAAc,CACnB;QACE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,MAAM,CAAC,eAAe;QAC7B,IAAI,EAAE,sBAAsB,WAAW,WAAW;KACnD,EACD,OAAO,EACP,UAAU,CACX,CAAC;AACJ,CAAqE,CAAC"}
|
|
@@ -9,7 +9,7 @@ export const get = function (identity_id, options = {}, sdkOptions) {
|
|
|
9
9
|
return serviceRequest({
|
|
10
10
|
service: ID,
|
|
11
11
|
scope: SCOPES.VIEW_IDENTITIES,
|
|
12
|
-
path: `/identities/${identity_id}`,
|
|
12
|
+
path: `/v2/api/identities/${identity_id}`,
|
|
13
13
|
}, options, sdkOptions);
|
|
14
14
|
};
|
|
15
15
|
/**
|
|
@@ -20,7 +20,7 @@ export const getAll = function (options = {}, sdkOptions) {
|
|
|
20
20
|
return serviceRequest({
|
|
21
21
|
service: ID,
|
|
22
22
|
scope: SCOPES.VIEW_IDENTITIES,
|
|
23
|
-
path: `/identities`,
|
|
23
|
+
path: `/v2/api/identities`,
|
|
24
24
|
}, options, sdkOptions);
|
|
25
25
|
};
|
|
26
26
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/services/auth/service/identities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIhE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,WAAW,EAAE,OAAO,GAAG,EAAE,EAAE,UAAW;IACjE,OAAO,cAAc,CACnB;QACE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,MAAM,CAAC,eAAe;QAC7B,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../src/services/auth/service/identities/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAIhE,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAE1C;;;GAGG;AACH,MAAM,CAAC,MAAM,GAAG,GAAG,UAAU,WAAW,EAAE,OAAO,GAAG,EAAE,EAAE,UAAW;IACjE,OAAO,cAAc,CACnB;QACE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,MAAM,CAAC,eAAe;QAC7B,IAAI,EAAE,sBAAsB,WAAW,EAAE;KAC1C,EACD,OAAO,EACP,UAAU,CACX,CAAC;AACJ,CAAqE,CAAC;AAEtE;;;GAGG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,UAAU,OAAO,GAAG,EAAE,EAAE,UAAW;IACvD,OAAO,cAAc,CACnB;QACE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,MAAM,CAAC,eAAe;QAC7B,IAAI,EAAE,oBAAoB;KAC3B,EACD,OAAO,EACP,UAAU,CACX,CAAC;AACJ,CAOE,CAAC"}
|
|
@@ -33,12 +33,26 @@ type ExchangePayload = {
|
|
|
33
33
|
*/
|
|
34
34
|
export declare const token: (options?: ({
|
|
35
35
|
payload?: ExchangePayload;
|
|
36
|
+
query?: {
|
|
37
|
+
/**
|
|
38
|
+
* Include tokens for all scopes that the user has consented to, for the requesting client.
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
include_consented_scopes?: boolean;
|
|
42
|
+
};
|
|
36
43
|
} & import("../../../types.js").BaseServiceMethodOptions) | undefined, sdkOptions?: import("../../../types.js").SDKOptions | undefined) => Promise<Response>;
|
|
37
44
|
/**
|
|
38
45
|
* @see https://docs.globus.org/api/auth/developer-guide/#obtaining-authorization
|
|
39
46
|
*/
|
|
40
47
|
export declare const exchange: (options?: ({
|
|
41
48
|
payload?: ExchangePayload;
|
|
49
|
+
query?: {
|
|
50
|
+
/**
|
|
51
|
+
* Include tokens for all scopes that the user has consented to, for the requesting client.
|
|
52
|
+
* @private
|
|
53
|
+
*/
|
|
54
|
+
include_consented_scopes?: boolean;
|
|
55
|
+
};
|
|
42
56
|
} & import("../../../types.js").BaseServiceMethodOptions) | undefined, sdkOptions?: import("../../../types.js").SDKOptions | undefined) => Promise<Response>;
|
|
43
57
|
/**
|
|
44
58
|
* Token Introspection
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../../../src/services/auth/service/oauth2/token.ts"],"names":[],"mappings":"AAKA,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,oBAAoB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAuCF;;GAEG;AACH,eAAO,MAAM,KAAK;cAaN,eAAe;
|
|
1
|
+
{"version":3,"file":"token.d.ts","sourceRoot":"","sources":["../../../../../../src/services/auth/service/oauth2/token.ts"],"names":[],"mappings":"AAKA,KAAK,iBAAiB,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,KAAK,aAAa,GAAG;IACnB,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,cAAc,GAAG;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,eAAe,CAAC;IAC5B;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,GAAG;IACrB,UAAU,EAAE,oBAAoB,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAuCF;;GAEG;AACH,eAAO,MAAM,KAAK;cAaN,eAAe;YACjB;QACN;;;WAGG;QACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC;4JACD,CAAC;AAEH;;GAEG;AACH,eAAO,MAAM,QAAQ;cAbT,eAAe;YACjB;QACN;;;WAGG;QACH,wBAAwB,CAAC,EAAE,OAAO,CAAC;KACpC;4JAM0B,CAAC;AAE9B;;;GAGG;AACH,eAAO,MAAM,UAAU;aAgBZ,iBAAiB;4JAC1B,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,MAAM;aAgBR,aAAa;4JACtB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,OAAO;aAgBT,cAAc;4JACvB,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,QAAQ;aAgBV,eAAe;4JACxB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../../../src/services/auth/service/oauth2/token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AA8C9E,SAAS,SAAS,CAAC,OAA2B;IAC5C,OAAO,IAAI,eAAe,CAAC,OAAO,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,SAAS,oBAAoB,CAC3B,OAEC;IAED,uCACK,OAAO;QACV;;;WAGG;QACH,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,SAAS,EAC9D,OAAO,kCACF,CAAC,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,KAAI,EAAE,CAAC,KAC3B,MAAM,EAAE,kBAAkB;YAC1B;;eAEG;YACH,cAAc,EAAE,kDAAkD,OAEpE;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG,UAAU,OAAO,GAAG,EAAE,EAAE,UAAW;IACtD,OAAO,cAAc,CACnB;QACE,OAAO,EAAE,EAAE;QACX,KAAK,EAAE,SAAS;QAChB,IAAI,EAAE,kBAAkB;QACxB,MAAM,EAAE,YAAY,CAAC,IAAI;QACzB,YAAY,EAAE,IAAI;KACnB,EACD,oBAAoB,CAAC,OAAO,CAAC,EAC7B,UAAU,CACX,CAAC;AACJ,
|
|
1
|
+
{"version":3,"file":"token.js","sourceRoot":"","sources":["../../../../../../src/services/auth/service/oauth2/token.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Consent } from './service/identities/consents';
|
|
2
|
+
export type ScopeTreeLeaf = {
|
|
3
|
+
scope: string;
|
|
4
|
+
atomically_revocable: boolean;
|
|
5
|
+
children: ScopeTreeLeaf[];
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Splits a scope string into an array of individual scopes, accounting for nested, space-separated scopes.
|
|
9
|
+
* @private
|
|
10
|
+
*/
|
|
11
|
+
export declare function splitScopeString(scope: string): string[];
|
|
12
|
+
/**
|
|
13
|
+
* Converts a scope string into a tree structure for easier comparison.
|
|
14
|
+
*/
|
|
15
|
+
export declare function toScopeTree(scope: string): ScopeTreeLeaf[];
|
|
16
|
+
/**
|
|
17
|
+
* Given a list of consent entries and a scope string, determine if **all** scopes have been approved.
|
|
18
|
+
*
|
|
19
|
+
* @param consents An array of consent entries (sourced from the Globus Auth API) that will be used as the "haystack" for the search.
|
|
20
|
+
* @param scope A full scope string that will be parsed into a tree, and compared against the `consents`.
|
|
21
|
+
* @returns boolean
|
|
22
|
+
*/
|
|
23
|
+
export declare function hasConsentForScope(consents: Consent[], scope: string): boolean;
|
|
24
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/services/auth/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAExD,MAAM,MAAM,aAAa,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,oBAAoB,EAAE,OAAO,CAAC;IAC9B,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B,CAAC;AAEF;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAsBxD;AAuCD;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,CAE1D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAkD9E"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Splits a scope string into an array of individual scopes, accounting for nested, space-separated scopes.
|
|
3
|
+
* @private
|
|
4
|
+
*/
|
|
5
|
+
export function splitScopeString(scope) {
|
|
6
|
+
const scopes = [];
|
|
7
|
+
let currentScope = '';
|
|
8
|
+
let openBrackets = 0;
|
|
9
|
+
scope.split('').forEach((char, i) => {
|
|
10
|
+
currentScope += char;
|
|
11
|
+
if (char === '[') {
|
|
12
|
+
openBrackets += 1;
|
|
13
|
+
}
|
|
14
|
+
if (char === ']') {
|
|
15
|
+
openBrackets -= 1;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* If we encounter a space outside of brackets, or if we're at the end of the string and there is `currentScope`
|
|
19
|
+
* value, push it to the `scopes` array.
|
|
20
|
+
*/
|
|
21
|
+
if ((char === ' ' && openBrackets === 0) || (i === scope.length - 1 && currentScope)) {
|
|
22
|
+
scopes.push(currentScope.trim());
|
|
23
|
+
currentScope = '';
|
|
24
|
+
}
|
|
25
|
+
});
|
|
26
|
+
return scopes;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Parses a scope string into a normalized structure (leaf) for easier comparison.
|
|
30
|
+
*/
|
|
31
|
+
function parseScope(s) {
|
|
32
|
+
let parsedScope = s;
|
|
33
|
+
const revocable = parsedScope.startsWith('*');
|
|
34
|
+
if (revocable) {
|
|
35
|
+
parsedScope = parsedScope.replace(/^\*\s*/, '');
|
|
36
|
+
}
|
|
37
|
+
let children = [];
|
|
38
|
+
/**
|
|
39
|
+
* If there is no bracket, then there are no children and we can return the parsed scope.
|
|
40
|
+
*/
|
|
41
|
+
const firstBracket = parsedScope.indexOf('[');
|
|
42
|
+
if (firstBracket === -1) {
|
|
43
|
+
return {
|
|
44
|
+
scope: parsedScope,
|
|
45
|
+
atomically_revocable: revocable,
|
|
46
|
+
children: [],
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* The top-level scope is everything before the first encountered bracket.
|
|
51
|
+
*/
|
|
52
|
+
const topLevelScope = parsedScope.slice(0, firstBracket);
|
|
53
|
+
/**
|
|
54
|
+
* The children are everything inside the brackets.
|
|
55
|
+
*/
|
|
56
|
+
const dependentScope = parsedScope.slice(firstBracket + 1, -1);
|
|
57
|
+
children = splitScopeString(dependentScope).map(parseScope);
|
|
58
|
+
return {
|
|
59
|
+
scope: topLevelScope,
|
|
60
|
+
atomically_revocable: revocable,
|
|
61
|
+
children,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Converts a scope string into a tree structure for easier comparison.
|
|
66
|
+
*/
|
|
67
|
+
export function toScopeTree(scope) {
|
|
68
|
+
return splitScopeString(scope).map(parseScope);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Given a list of consent entries and a scope string, determine if **all** scopes have been approved.
|
|
72
|
+
*
|
|
73
|
+
* @param consents An array of consent entries (sourced from the Globus Auth API) that will be used as the "haystack" for the search.
|
|
74
|
+
* @param scope A full scope string that will be parsed into a tree, and compared against the `consents`.
|
|
75
|
+
* @returns boolean
|
|
76
|
+
*/
|
|
77
|
+
export function hasConsentForScope(consents, scope) {
|
|
78
|
+
const tree = toScopeTree(scope);
|
|
79
|
+
/**
|
|
80
|
+
* Determine if a leaf of the scope tree has a consent entry (including all `children`).
|
|
81
|
+
* @param leaf The leaf of the scope tree we are checking for consent.
|
|
82
|
+
* @param path The current, expected path to the leaf when processing `children`.
|
|
83
|
+
* @returns boolean
|
|
84
|
+
*/
|
|
85
|
+
function hasConsentEntry(leaf, path) {
|
|
86
|
+
/**
|
|
87
|
+
* Find the consent entry that matches the current leaf, and the current path.
|
|
88
|
+
*/
|
|
89
|
+
const entry = consents.find((c) => c.scope_name === leaf.scope &&
|
|
90
|
+
/**
|
|
91
|
+
* If a `path` is provided, we need to make sure the entry is at the proper depth.
|
|
92
|
+
*/
|
|
93
|
+
(path
|
|
94
|
+
? c.dependency_path.join(',') === [...path, c.id].join(',')
|
|
95
|
+
: /**
|
|
96
|
+
* If there is no `path`, then the entry must be a "top-level" scope.
|
|
97
|
+
*/
|
|
98
|
+
c.dependency_path.length === 1));
|
|
99
|
+
/**
|
|
100
|
+
* If no entry was found, then the scope has not be explicitly approved (or denied).
|
|
101
|
+
*/
|
|
102
|
+
if (!entry)
|
|
103
|
+
return false;
|
|
104
|
+
/**
|
|
105
|
+
* If we found an entry, and there are no `children` to process on the leaf,
|
|
106
|
+
* then we can use the `status` of the entry to determine if the scope has been approved.
|
|
107
|
+
*/
|
|
108
|
+
if (!leaf.children.length)
|
|
109
|
+
return entry.status === 'approved';
|
|
110
|
+
/**
|
|
111
|
+
* If there are `children` to process, then we need to check if all `children` have been approved.
|
|
112
|
+
*/
|
|
113
|
+
return leaf.children.every((s) => hasConsentEntry(s,
|
|
114
|
+
/**
|
|
115
|
+
* If there is a `path`, make sure to pass it down to account for deeply nested scopes, otherwise
|
|
116
|
+
* the `entry` can be considered to "root".
|
|
117
|
+
*/
|
|
118
|
+
path ? [...path, entry.id] : [entry.id]));
|
|
119
|
+
}
|
|
120
|
+
return tree.every((l) => hasConsentEntry(l));
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../../src/services/auth/utils.ts"],"names":[],"mappings":"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"}
|