@globus/sdk 3.0.0-alpha.9 → 3.0.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/cjs/index.d.ts +1 -0
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +2 -1
- package/cjs/index.js.map +1 -1
- package/cjs/lib/core/authorization/AuthorizationManager.d.ts +41 -8
- package/cjs/lib/core/authorization/AuthorizationManager.d.ts.map +1 -1
- package/cjs/lib/core/authorization/AuthorizationManager.js +112 -24
- package/cjs/lib/core/authorization/AuthorizationManager.js.map +1 -1
- package/cjs/lib/core/authorization/Event.d.ts +5 -1
- package/cjs/lib/core/authorization/Event.d.ts.map +1 -1
- package/cjs/lib/core/authorization/Event.js.map +1 -1
- package/cjs/lib/core/authorization/RedirectTransport.d.ts +12 -1
- package/cjs/lib/core/authorization/RedirectTransport.d.ts.map +1 -1
- package/cjs/lib/core/authorization/RedirectTransport.js +23 -5
- package/cjs/lib/core/authorization/RedirectTransport.js.map +1 -1
- package/cjs/lib/core/authorization/TokenLookup.d.ts +6 -1
- package/cjs/lib/core/authorization/TokenLookup.d.ts.map +1 -1
- package/cjs/lib/core/authorization/TokenLookup.js +40 -5
- package/cjs/lib/core/authorization/TokenLookup.js.map +1 -1
- package/cjs/lib/core/authorization/tokens.d.ts +1 -0
- package/cjs/lib/core/authorization/tokens.d.ts.map +1 -1
- package/cjs/lib/core/authorization/tokens.js +1 -0
- package/cjs/lib/core/authorization/tokens.js.map +1 -1
- package/cjs/lib/core/global.d.ts +7 -6
- package/cjs/lib/core/global.d.ts.map +1 -1
- package/cjs/lib/core/global.js +3 -0
- package/cjs/lib/core/global.js.map +1 -1
- package/cjs/lib/core/logger.d.ts +2 -2
- package/cjs/lib/core/logger.d.ts.map +1 -1
- package/cjs/lib/core/logger.js +3 -3
- package/cjs/lib/core/logger.js.map +1 -1
- package/cjs/lib/services/auth/config.d.ts +5 -1
- package/cjs/lib/services/auth/config.d.ts.map +1 -1
- package/cjs/lib/services/auth/config.js +8 -0
- package/cjs/lib/services/auth/config.js.map +1 -1
- package/cjs/lib/services/auth/index.d.ts +3 -16
- package/cjs/lib/services/auth/index.d.ts.map +1 -1
- package/cjs/lib/services/auth/index.js +13 -5
- package/cjs/lib/services/auth/index.js.map +1 -1
- package/cjs/lib/services/auth/service/oauth2/index.d.ts +3 -0
- package/cjs/lib/services/auth/service/oauth2/index.d.ts.map +1 -1
- package/cjs/lib/services/auth/service/oauth2/index.js +11 -1
- package/cjs/lib/services/auth/service/oauth2/index.js.map +1 -1
- package/cjs/lib/services/auth/service/oauth2/token.d.ts +19 -1
- package/cjs/lib/services/auth/service/oauth2/token.d.ts.map +1 -1
- package/cjs/lib/services/auth/service/oauth2/token.js +16 -1
- package/cjs/lib/services/auth/service/oauth2/token.js.map +1 -1
- package/cjs/lib/services/auth/types.d.ts +40 -12
- package/cjs/lib/services/auth/types.d.ts.map +1 -1
- package/cjs/lib/services/compute/config.d.ts +7 -0
- package/cjs/lib/services/compute/config.d.ts.map +1 -0
- package/cjs/lib/services/compute/config.js +16 -0
- package/cjs/lib/services/compute/config.js.map +1 -0
- package/cjs/lib/services/compute/index.d.ts +14 -0
- package/cjs/lib/services/compute/index.d.ts.map +1 -0
- package/cjs/lib/services/compute/index.js +18 -0
- package/cjs/lib/services/compute/index.js.map +1 -0
- package/cjs/lib/services/compute/service/endpoints.d.ts +24 -0
- package/cjs/lib/services/compute/service/endpoints.d.ts.map +1 -0
- package/cjs/lib/services/compute/service/endpoints.js +29 -0
- package/cjs/lib/services/compute/service/endpoints.js.map +1 -0
- package/cjs/lib/services/flows/config.d.ts +1 -1
- package/cjs/lib/services/flows/config.d.ts.map +1 -1
- package/cjs/lib/services/flows/config.js.map +1 -1
- package/cjs/lib/services/globus-connect-server/client.d.ts +501 -146
- package/cjs/lib/services/globus-connect-server/client.d.ts.map +1 -1
- package/cjs/lib/services/groups/config.d.ts +1 -1
- package/cjs/lib/services/groups/config.d.ts.map +1 -1
- package/cjs/lib/services/groups/config.js.map +1 -1
- package/cjs/lib/services/search/config.d.ts +1 -1
- package/cjs/lib/services/search/config.d.ts.map +1 -1
- package/cjs/lib/services/search/config.js.map +1 -1
- package/cjs/lib/services/timer/config.d.ts +1 -1
- package/cjs/lib/services/timer/config.d.ts.map +1 -1
- package/cjs/lib/services/timer/config.js.map +1 -1
- package/cjs/lib/services/transfer/config.d.ts +1 -1
- package/cjs/lib/services/transfer/config.d.ts.map +1 -1
- package/cjs/lib/services/transfer/config.js.map +1 -1
- package/cjs/lib/services/transfer/index.d.ts +1 -0
- package/cjs/lib/services/transfer/index.d.ts.map +1 -1
- package/cjs/lib/services/transfer/index.js +2 -1
- package/cjs/lib/services/transfer/index.js.map +1 -1
- package/cjs/lib/services/transfer/service/collection-bookmarks.d.ts +64 -0
- package/cjs/lib/services/transfer/service/collection-bookmarks.d.ts.map +1 -0
- package/cjs/lib/services/transfer/service/collection-bookmarks.js +59 -0
- package/cjs/lib/services/transfer/service/collection-bookmarks.js.map +1 -0
- package/cjs/lib/services/transfer/service/endpoint.d.ts +127 -13
- package/cjs/lib/services/transfer/service/endpoint.d.ts.map +1 -1
- package/cjs/lib/services/transfer/service/endpoint.js +40 -1
- package/cjs/lib/services/transfer/service/endpoint.js.map +1 -1
- package/cjs/lib/services/transfer/service/task.d.ts +1 -1
- package/cjs/lib/services/transfer/types.d.ts +215 -0
- package/cjs/lib/services/transfer/types.d.ts.map +1 -1
- package/cjs/lib/services/types.d.ts +4 -0
- package/cjs/lib/services/types.d.ts.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +1 -0
- package/esm/index.js.map +1 -1
- package/esm/lib/core/authorization/AuthorizationManager.d.ts +41 -8
- package/esm/lib/core/authorization/AuthorizationManager.d.ts.map +1 -1
- package/esm/lib/core/authorization/AuthorizationManager.js +113 -25
- package/esm/lib/core/authorization/AuthorizationManager.js.map +1 -1
- package/esm/lib/core/authorization/Event.d.ts +5 -1
- package/esm/lib/core/authorization/Event.d.ts.map +1 -1
- package/esm/lib/core/authorization/Event.js.map +1 -1
- package/esm/lib/core/authorization/RedirectTransport.d.ts +12 -1
- package/esm/lib/core/authorization/RedirectTransport.d.ts.map +1 -1
- package/esm/lib/core/authorization/RedirectTransport.js +23 -5
- package/esm/lib/core/authorization/RedirectTransport.js.map +1 -1
- package/esm/lib/core/authorization/TokenLookup.d.ts +6 -1
- package/esm/lib/core/authorization/TokenLookup.d.ts.map +1 -1
- package/esm/lib/core/authorization/TokenLookup.js +41 -6
- package/esm/lib/core/authorization/TokenLookup.js.map +1 -1
- package/esm/lib/core/authorization/tokens.d.ts +1 -0
- package/esm/lib/core/authorization/tokens.d.ts.map +1 -1
- package/esm/lib/core/authorization/tokens.js +1 -0
- package/esm/lib/core/authorization/tokens.js.map +1 -1
- package/esm/lib/core/global.d.ts +7 -6
- package/esm/lib/core/global.d.ts.map +1 -1
- package/esm/lib/core/global.js +3 -0
- package/esm/lib/core/global.js.map +1 -1
- package/esm/lib/core/logger.d.ts +2 -2
- package/esm/lib/core/logger.d.ts.map +1 -1
- package/esm/lib/core/logger.js +3 -3
- package/esm/lib/core/logger.js.map +1 -1
- package/esm/lib/services/auth/config.d.ts +5 -1
- package/esm/lib/services/auth/config.d.ts.map +1 -1
- package/esm/lib/services/auth/config.js +8 -0
- package/esm/lib/services/auth/config.js.map +1 -1
- package/esm/lib/services/auth/index.d.ts +3 -16
- package/esm/lib/services/auth/index.d.ts.map +1 -1
- package/esm/lib/services/auth/index.js +10 -4
- package/esm/lib/services/auth/index.js.map +1 -1
- package/esm/lib/services/auth/service/oauth2/index.d.ts +3 -0
- package/esm/lib/services/auth/service/oauth2/index.d.ts.map +1 -1
- package/esm/lib/services/auth/service/oauth2/index.js +10 -0
- package/esm/lib/services/auth/service/oauth2/index.js.map +1 -1
- package/esm/lib/services/auth/service/oauth2/token.d.ts +19 -1
- package/esm/lib/services/auth/service/oauth2/token.d.ts.map +1 -1
- package/esm/lib/services/auth/service/oauth2/token.js +15 -0
- package/esm/lib/services/auth/service/oauth2/token.js.map +1 -1
- package/esm/lib/services/auth/types.d.ts +40 -12
- package/esm/lib/services/auth/types.d.ts.map +1 -1
- package/esm/lib/services/compute/config.d.ts +7 -0
- package/esm/lib/services/compute/config.d.ts.map +1 -0
- package/esm/lib/services/compute/config.js +13 -0
- package/esm/lib/services/compute/config.js.map +1 -0
- package/esm/lib/services/compute/index.d.ts +14 -0
- package/esm/lib/services/compute/index.d.ts.map +1 -0
- package/esm/lib/services/compute/index.js +14 -0
- package/esm/lib/services/compute/index.js.map +1 -0
- package/esm/lib/services/compute/service/endpoints.d.ts +24 -0
- package/esm/lib/services/compute/service/endpoints.d.ts.map +1 -0
- package/esm/lib/services/compute/service/endpoints.js +26 -0
- package/esm/lib/services/compute/service/endpoints.js.map +1 -0
- package/esm/lib/services/flows/config.d.ts +1 -1
- package/esm/lib/services/flows/config.d.ts.map +1 -1
- package/esm/lib/services/flows/config.js.map +1 -1
- package/esm/lib/services/globus-connect-server/client.d.ts +501 -146
- package/esm/lib/services/globus-connect-server/client.d.ts.map +1 -1
- package/esm/lib/services/groups/config.d.ts +1 -1
- package/esm/lib/services/groups/config.d.ts.map +1 -1
- package/esm/lib/services/groups/config.js.map +1 -1
- package/esm/lib/services/search/config.d.ts +1 -1
- package/esm/lib/services/search/config.d.ts.map +1 -1
- package/esm/lib/services/search/config.js.map +1 -1
- package/esm/lib/services/timer/config.d.ts +1 -1
- package/esm/lib/services/timer/config.d.ts.map +1 -1
- package/esm/lib/services/timer/config.js.map +1 -1
- package/esm/lib/services/transfer/config.d.ts +1 -1
- package/esm/lib/services/transfer/config.d.ts.map +1 -1
- package/esm/lib/services/transfer/config.js.map +1 -1
- package/esm/lib/services/transfer/index.d.ts +1 -0
- package/esm/lib/services/transfer/index.d.ts.map +1 -1
- package/esm/lib/services/transfer/index.js +1 -0
- package/esm/lib/services/transfer/index.js.map +1 -1
- package/esm/lib/services/transfer/service/collection-bookmarks.d.ts +64 -0
- package/esm/lib/services/transfer/service/collection-bookmarks.d.ts.map +1 -0
- package/esm/lib/services/transfer/service/collection-bookmarks.js +56 -0
- package/esm/lib/services/transfer/service/collection-bookmarks.js.map +1 -0
- package/esm/lib/services/transfer/service/endpoint.d.ts +127 -13
- package/esm/lib/services/transfer/service/endpoint.d.ts.map +1 -1
- package/esm/lib/services/transfer/service/endpoint.js +39 -0
- package/esm/lib/services/transfer/service/endpoint.js.map +1 -1
- package/esm/lib/services/transfer/service/task.d.ts +1 -1
- package/esm/lib/services/transfer/types.d.ts +215 -0
- package/esm/lib/services/transfer/types.d.ts.map +1 -1
- package/esm/lib/services/types.d.ts +4 -0
- package/esm/lib/services/types.d.ts.map +1 -1
- package/package.json +4 -3
- package/umd/globus.production.js +1 -1
package/cjs/index.d.ts
CHANGED
|
@@ -60,4 +60,5 @@ export * as groups from './lib/services/groups/index.js';
|
|
|
60
60
|
export * as flows from './lib/services/flows/index.js';
|
|
61
61
|
export * as gcs from './lib/services/globus-connect-server/index.js';
|
|
62
62
|
export * as timer from './lib/services/timer/index.js';
|
|
63
|
+
export * as compute from './lib/services/compute/index.js';
|
|
63
64
|
//# sourceMappingURL=index.d.ts.map
|
package/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAOH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAE/C,OAAO,KAAK,aAAa,MAAM,mCAAmC,CAAC;AACnE,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,kCAAkC,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,GAAG,MAAM,+CAA+C,CAAC;AACrE,OAAO,KAAK,KAAK,MAAM,+BAA+B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;AAOH,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAE/C,OAAO,KAAK,aAAa,MAAM,mCAAmC,CAAC;AACnE,OAAO,KAAK,IAAI,MAAM,8BAA8B,CAAC;AACrD,OAAO,KAAK,QAAQ,MAAM,kCAAkC,CAAC;AAC7D,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,MAAM,MAAM,gCAAgC,CAAC;AACzD,OAAO,KAAK,KAAK,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,GAAG,MAAM,+CAA+C,CAAC;AACrE,OAAO,KAAK,KAAK,MAAM,+BAA+B,CAAC;AACvD,OAAO,KAAK,OAAO,MAAM,iCAAiC,CAAC"}
|
package/cjs/index.js
CHANGED
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
* const result = await (await flows.flows.get("452bbea3-5e3b-45a5-af08-50179839a4e8")).json();
|
|
54
54
|
*/
|
|
55
55
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
56
|
-
exports.timer = exports.gcs = exports.flows = exports.groups = exports.search = exports.transfer = exports.auth = exports.authorization = exports.logger = void 0;
|
|
56
|
+
exports.compute = exports.timer = exports.gcs = exports.flows = exports.groups = exports.search = exports.transfer = exports.auth = exports.authorization = exports.logger = void 0;
|
|
57
57
|
const tslib_1 = require("tslib");
|
|
58
58
|
/// <reference types="@globus/types" />
|
|
59
59
|
/// <reference types="@globus/types/auth" />
|
|
@@ -68,4 +68,5 @@ exports.groups = tslib_1.__importStar(require("./lib/services/groups/index.js"))
|
|
|
68
68
|
exports.flows = tslib_1.__importStar(require("./lib/services/flows/index.js"));
|
|
69
69
|
exports.gcs = tslib_1.__importStar(require("./lib/services/globus-connect-server/index.js"));
|
|
70
70
|
exports.timer = tslib_1.__importStar(require("./lib/services/timer/index.js"));
|
|
71
|
+
exports.compute = tslib_1.__importStar(require("./lib/services/compute/index.js"));
|
|
71
72
|
//# sourceMappingURL=index.js.map
|
package/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;;;;AAEH,uCAAuC;AACvC,4CAA4C;AAC5C,gDAAgD;AAChD,8CAA8C;AAE9C,uEAA+C;AAE/C,2FAAmE;AACnE,6EAAqD;AACrD,qFAA6D;AAC7D,iFAAyD;AACzD,iFAAyD;AACzD,+EAAuD;AACvD,6FAAqE;AACrE,+EAAuD"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoDG;;;;AAEH,uCAAuC;AACvC,4CAA4C;AAC5C,gDAAgD;AAChD,8CAA8C;AAE9C,uEAA+C;AAE/C,2FAAmE;AACnE,6EAAqD;AACrD,qFAA6D;AAC7D,iFAAyD;AACzD,iFAAyD;AACzD,+EAAuD;AACvD,6FAAqE;AACrE,+EAAuD;AACvD,mFAA2D"}
|
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
import type IConfig from 'js-pkce/dist/IConfig';
|
|
2
|
-
import { Token, TokenResponse } from '../../services/auth/index.js';
|
|
3
2
|
import { Event } from './Event.js';
|
|
3
|
+
import { GetTokenOptions } from './RedirectTransport.js';
|
|
4
4
|
import { TokenLookup } from './TokenLookup.js';
|
|
5
5
|
import { AuthorizationRequirementsError, ConsentRequiredError } from '../errors.js';
|
|
6
|
+
import type { JwtUserInfo, Token, TokenResponse, TokenWithRefresh } from '../../services/auth/types.js';
|
|
6
7
|
export type AuthorizationManagerConfiguration = {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
8
|
+
client: IConfig['client_id'];
|
|
9
|
+
scopes: IConfig['requested_scopes'];
|
|
10
|
+
redirect: IConfig['redirect_uri'];
|
|
11
|
+
/**
|
|
12
|
+
* @private
|
|
13
|
+
* @default DEFAULT_CONFIGURATION.useRefreshTokens
|
|
14
|
+
*/
|
|
15
|
+
useRefreshTokens?: boolean;
|
|
16
|
+
/**
|
|
17
|
+
* @private
|
|
18
|
+
* @default DEFAULT_CONFIGURATION.defaultScopes
|
|
19
|
+
*/
|
|
20
|
+
defaultScopes?: string | false;
|
|
10
21
|
};
|
|
11
22
|
/**
|
|
12
23
|
* @experimental
|
|
@@ -15,7 +26,7 @@ export declare class AuthorizationManager {
|
|
|
15
26
|
#private;
|
|
16
27
|
configuration: AuthorizationManagerConfiguration;
|
|
17
28
|
/**
|
|
18
|
-
* The `AuthorizationManager` is
|
|
29
|
+
* The `AuthorizationManager` is considered `authenticated` if it has a valid Globus Auth token.
|
|
19
30
|
* It does not necessarily mean that it has a valid token for a specific resource server.
|
|
20
31
|
*/
|
|
21
32
|
get authenticated(): boolean;
|
|
@@ -47,7 +58,27 @@ export declare class AuthorizationManager {
|
|
|
47
58
|
revoke: Event<"revoke", unknown>;
|
|
48
59
|
};
|
|
49
60
|
constructor(configuration: AuthorizationManagerConfiguration);
|
|
50
|
-
|
|
61
|
+
/**
|
|
62
|
+
* The user information decoded from the `id_token` (JWT) of the current Globus Auth token.
|
|
63
|
+
* This method can be used instead of `auth.oauth2.userinfo` to get the user information without an additional request.
|
|
64
|
+
*
|
|
65
|
+
* **IMPORTANT**: The `id_token` can only be processed if the `openid` scope is requested during the authorization process.
|
|
66
|
+
*
|
|
67
|
+
* Additionally, the `profile` and `email` scopes are required to get the full user information.
|
|
68
|
+
*
|
|
69
|
+
* @see {@link https://docs.globus.org/api/auth/reference/#oidc_userinfo_endpoint}
|
|
70
|
+
*/
|
|
71
|
+
get user(): JwtUserInfo | null;
|
|
72
|
+
/**
|
|
73
|
+
* Start the silent refresh process for the instance.
|
|
74
|
+
* @todo Add interval support for the silent refresh.
|
|
75
|
+
*/
|
|
76
|
+
startSilentRefresh(): void;
|
|
77
|
+
/**
|
|
78
|
+
* Use the `refresh_token` attribute of a token to obtain a new access token.
|
|
79
|
+
* @param token The well-formed token with a `refresh_token` attribute.
|
|
80
|
+
*/
|
|
81
|
+
refreshToken(token: TokenWithRefresh): Promise<void>;
|
|
51
82
|
hasGlobusAuthToken(): boolean;
|
|
52
83
|
getGlobusAuthToken(): any;
|
|
53
84
|
/**
|
|
@@ -59,7 +90,9 @@ export declare class AuthorizationManager {
|
|
|
59
90
|
* Initiate the login process by redirecting to the Globus Auth login page.
|
|
60
91
|
*/
|
|
61
92
|
login(): void;
|
|
62
|
-
handleCodeRedirect(
|
|
93
|
+
handleCodeRedirect(options?: {
|
|
94
|
+
shouldReplace: GetTokenOptions['shouldReplace'];
|
|
95
|
+
}): Promise<void>;
|
|
63
96
|
/**
|
|
64
97
|
* Handle an error response from a Globus service in the context of this `AuthorizationManager`.
|
|
65
98
|
* This method will introspect the response and attempt to handle any errors that should result
|
|
@@ -86,7 +119,7 @@ export declare class AuthorizationManager {
|
|
|
86
119
|
*/
|
|
87
120
|
addTokenResponse: (token: Token | TokenResponse) => void;
|
|
88
121
|
/**
|
|
89
|
-
* Call `AuthroizationManager.reset
|
|
122
|
+
* Call `AuthroizationManager.reset`, revoke all of the available tokns, and emit the `revoke` event.
|
|
90
123
|
* @emits AuthorizationManager.events#revoke
|
|
91
124
|
* @see AuthorizationManager.reset
|
|
92
125
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/AuthorizationManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthorizationManager.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/AuthorizationManager.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAahD,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,eAAe,EAAqB,MAAM,wBAAwB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAE/C,OAAO,EAGL,8BAA8B,EAC9B,oBAAoB,EACrB,MAAM,cAAc,CAAC;AAEtB,OAAO,KAAK,EACV,WAAW,EACX,KAAK,EACL,aAAa,EACb,gBAAgB,EACjB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,MAAM,iCAAiC,GAAG;IAC9C,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7B,MAAM,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACpC,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;IAClC;;;OAGG;IACH,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;CAChC,CAAC;AAOF;;GAEG;AACH,qBAAa,oBAAoB;;IAG/B,aAAa,EAAE,iCAAiC,CAAC;IAIjD;;;OAGG;IACH,IAAI,aAAa,IAOQ,OAAO,CAL/B;IAED;;OAEG;IACH,IAAI,aAAa,CAAC,KAAK,EAAE,OAAO,EAG/B;IAED,MAAM,EAAE,WAAW,CAAC;IAEpB,MAAM;QACJ;;;;;;WAMG;;YAIC;;;eAGG;6BACc,OAAO;;;QAI5B;;;WAGG;;MAEH;gBAEU,aAAa,EAAE,iCAAiC;IA6B5D;;;;;;;;;OASG;IACH,IAAI,IAAI,uBAGP;IAED;;;OAGG;IACH,kBAAkB;IAsBlB;;;OAGG;IACG,YAAY,CAAC,KAAK,EAAE,gBAAgB;IAoB1C,kBAAkB;IAIlB,kBAAkB;IA0BlB;;;OAGG;IACH,KAAK;IAoCL;;OAEG;IACH,KAAK;IAUC,kBAAkB,CACtB,OAAO,GAAE;QACP,aAAa,EAAE,eAAe,CAAC,eAAe,CAAC,CAAC;KACvB;IAe7B;;;;;;OAMG;IACH,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,IAAI,GAAG,IAAI;IAC5E,mBAAmB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,OAAO,CAAC,EAAE,KAAK,GAAG,MAAM,IAAI;IAyBnF;;;OAGG;IACH,oCAAoC,CAAC,QAAQ,EAAE,8BAA8B;IAe7E;;;OAGG;IACH,0BAA0B,CAAC,QAAQ,EAAE,oBAAoB;IAOzD;;;;OAIG;IACH,gBAAgB,UAAW,KAAK,GAAG,aAAa,UAM9C;IAEF;;;;OAIG;IACG,MAAM;CAoBb"}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _AuthorizationManager_instances, _AuthorizationManager_transport, _AuthorizationManager_authenticated, _AuthorizationManager_checkAuthorizationState, _AuthorizationManager_bootstrapFromStorageState, _AuthorizationManager_emitAuthenticatedState, _AuthorizationManager_buildTransport;
|
|
2
|
+
var _AuthorizationManager_instances, _AuthorizationManager_transport, _AuthorizationManager_authenticated, _AuthorizationManager_silentRefreshTokens, _AuthorizationManager_checkAuthorizationState, _AuthorizationManager_bootstrapFromStorageState, _AuthorizationManager_emitAuthenticatedState, _AuthorizationManager_withOfflineAccess, _AuthorizationManager_buildTransport, _AuthorizationManager_revokeToken;
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
4
|
exports.AuthorizationManager = void 0;
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
|
+
const jwt_decode_1 = require("jwt-decode");
|
|
6
7
|
const index_js_1 = require("../../services/auth/index.js");
|
|
7
8
|
const index_js_2 = require("../storage/index.js");
|
|
8
9
|
const logger_js_1 = require("../logger.js");
|
|
@@ -10,12 +11,16 @@ const Event_js_1 = require("./Event.js");
|
|
|
10
11
|
const RedirectTransport_js_1 = require("./RedirectTransport.js");
|
|
11
12
|
const TokenLookup_js_1 = require("./TokenLookup.js");
|
|
12
13
|
const errors_js_1 = require("../errors.js");
|
|
14
|
+
const DEFAULT_CONFIGURATION = {
|
|
15
|
+
useRefreshTokens: false,
|
|
16
|
+
defaultScopes: 'openid profile email',
|
|
17
|
+
};
|
|
13
18
|
/**
|
|
14
19
|
* @experimental
|
|
15
20
|
*/
|
|
16
21
|
class AuthorizationManager {
|
|
17
22
|
/**
|
|
18
|
-
* The `AuthorizationManager` is
|
|
23
|
+
* The `AuthorizationManager` is considered `authenticated` if it has a valid Globus Auth token.
|
|
19
24
|
* It does not necessarily mean that it has a valid token for a specific resource server.
|
|
20
25
|
*/
|
|
21
26
|
get authenticated() {
|
|
@@ -29,6 +34,7 @@ class AuthorizationManager {
|
|
|
29
34
|
tslib_1.__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_emitAuthenticatedState).call(this);
|
|
30
35
|
}
|
|
31
36
|
constructor(configuration) {
|
|
37
|
+
var _a;
|
|
32
38
|
_AuthorizationManager_instances.add(this);
|
|
33
39
|
_AuthorizationManager_transport.set(this, void 0);
|
|
34
40
|
_AuthorizationManager_authenticated.set(this, false);
|
|
@@ -53,9 +59,10 @@ class AuthorizationManager {
|
|
|
53
59
|
* consumers to add tokens to storage if necessary.
|
|
54
60
|
*/
|
|
55
61
|
this.addTokenResponse = (token) => {
|
|
56
|
-
|
|
62
|
+
var _a;
|
|
63
|
+
(0, index_js_2.getStorage)().set(`${this.configuration.client}:${token.resource_server}`, token);
|
|
57
64
|
if ('other_tokens' in token) {
|
|
58
|
-
token.other_tokens.forEach(this.addTokenResponse);
|
|
65
|
+
(_a = token.other_tokens) === null || _a === void 0 ? void 0 : _a.forEach(this.addTokenResponse);
|
|
59
66
|
}
|
|
60
67
|
tslib_1.__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_checkAuthorizationState).call(this);
|
|
61
68
|
};
|
|
@@ -63,29 +70,79 @@ class AuthorizationManager {
|
|
|
63
70
|
* @todo Add support for passing in an alternative storage mechanism.
|
|
64
71
|
*/
|
|
65
72
|
(0, index_js_2.createStorage)('localStorage');
|
|
66
|
-
if (!configuration.
|
|
67
|
-
throw new Error('You must provide a `
|
|
73
|
+
if (!configuration.client) {
|
|
74
|
+
throw new Error('You must provide a `client` for your application.');
|
|
68
75
|
}
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
76
|
+
/**
|
|
77
|
+
* Inject the `openid`, `profile`, `email`, and `offline_access` scopes by default unless
|
|
78
|
+
* explicitly opted out of.
|
|
79
|
+
*/
|
|
80
|
+
const scopes = configuration.defaultScopes === false
|
|
81
|
+
? ''
|
|
82
|
+
: (_a = configuration.defaultScopes) !== null && _a !== void 0 ? _a : DEFAULT_CONFIGURATION.defaultScopes;
|
|
83
|
+
this.configuration = Object.assign(Object.assign({}, configuration), { scopes: `${configuration.scopes}${scopes ? ` ${scopes}` : ''}` });
|
|
74
84
|
this.tokens = new TokenLookup_js_1.TokenLookup({
|
|
75
85
|
manager: this,
|
|
76
86
|
});
|
|
77
|
-
this.startSilentRenew();
|
|
78
|
-
}
|
|
79
|
-
startSilentRenew() {
|
|
80
|
-
(0, logger_js_1.log)('debug', 'AuthorizationManager.startSilentRenew');
|
|
81
87
|
tslib_1.__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_bootstrapFromStorageState).call(this);
|
|
82
|
-
|
|
88
|
+
this.startSilentRefresh();
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* The user information decoded from the `id_token` (JWT) of the current Globus Auth token.
|
|
92
|
+
* This method can be used instead of `auth.oauth2.userinfo` to get the user information without an additional request.
|
|
93
|
+
*
|
|
94
|
+
* **IMPORTANT**: The `id_token` can only be processed if the `openid` scope is requested during the authorization process.
|
|
95
|
+
*
|
|
96
|
+
* Additionally, the `profile` and `email` scopes are required to get the full user information.
|
|
97
|
+
*
|
|
98
|
+
* @see {@link https://docs.globus.org/api/auth/reference/#oidc_userinfo_endpoint}
|
|
99
|
+
*/
|
|
100
|
+
get user() {
|
|
101
|
+
const token = this.getGlobusAuthToken();
|
|
102
|
+
return token && token.id_token ? (0, jwt_decode_1.jwtDecode)(token.id_token) : null;
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Start the silent refresh process for the instance.
|
|
106
|
+
* @todo Add interval support for the silent refresh.
|
|
107
|
+
*/
|
|
108
|
+
startSilentRefresh() {
|
|
109
|
+
(0, logger_js_1.log)('debug', `AuthorizationManager.startSilentRefresh | useRefreshTokens=${this.configuration.useRefreshTokens}`);
|
|
110
|
+
/**
|
|
111
|
+
* Silent refresh is only supported when using refresh tokens.
|
|
112
|
+
*/
|
|
113
|
+
if (this.configuration.useRefreshTokens) {
|
|
114
|
+
tslib_1.__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_silentRefreshTokens).call(this);
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Use the `refresh_token` attribute of a token to obtain a new access token.
|
|
119
|
+
* @param token The well-formed token with a `refresh_token` attribute.
|
|
120
|
+
*/
|
|
121
|
+
refreshToken(token) {
|
|
122
|
+
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
123
|
+
(0, logger_js_1.log)('debug', `AuthorizationManager.refreshToken | resource_server=${token.resource_server}`);
|
|
124
|
+
try {
|
|
125
|
+
const response = yield (yield index_js_1.oauth2.token.refresh({
|
|
126
|
+
payload: {
|
|
127
|
+
client_id: this.configuration.client,
|
|
128
|
+
refresh_token: token.refresh_token,
|
|
129
|
+
grant_type: 'refresh_token',
|
|
130
|
+
},
|
|
131
|
+
})).json();
|
|
132
|
+
if ((0, index_js_1.isGlobusAuthTokenResponse)(response)) {
|
|
133
|
+
this.addTokenResponse(response);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch (error) {
|
|
137
|
+
(0, logger_js_1.log)('error', `AuthorizationManager.refreshToken | resource_server=${token.resource_server}`);
|
|
138
|
+
}
|
|
139
|
+
});
|
|
83
140
|
}
|
|
84
141
|
hasGlobusAuthToken() {
|
|
85
142
|
return this.getGlobusAuthToken() !== null;
|
|
86
143
|
}
|
|
87
144
|
getGlobusAuthToken() {
|
|
88
|
-
const entry = (0, index_js_2.getStorage)().get(`${this.configuration.
|
|
145
|
+
const entry = (0, index_js_2.getStorage)().get(`${this.configuration.client}:auth.globus.org`);
|
|
89
146
|
return entry ? JSON.parse(entry) : null;
|
|
90
147
|
}
|
|
91
148
|
/**
|
|
@@ -103,6 +160,7 @@ class AuthorizationManager {
|
|
|
103
160
|
* Initiate the login process by redirecting to the Globus Auth login page.
|
|
104
161
|
*/
|
|
105
162
|
login() {
|
|
163
|
+
(0, logger_js_1.log)('debug', 'AuthorizationManager.login');
|
|
106
164
|
this.reset();
|
|
107
165
|
/**
|
|
108
166
|
* In the future, it's possible that we may want to support different types of transports.
|
|
@@ -111,23 +169,31 @@ class AuthorizationManager {
|
|
|
111
169
|
transport.send();
|
|
112
170
|
}
|
|
113
171
|
handleCodeRedirect() {
|
|
114
|
-
return tslib_1.__awaiter(this,
|
|
115
|
-
|
|
172
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* (options = { shouldReplace: true }) {
|
|
173
|
+
(0, logger_js_1.log)('debug', 'AuthorizationManager.handleCodeRedirect');
|
|
174
|
+
const response = yield tslib_1.__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_buildTransport).call(this).getToken({
|
|
175
|
+
shouldReplace: options === null || options === void 0 ? void 0 : options.shouldReplace,
|
|
176
|
+
});
|
|
116
177
|
if ((0, index_js_1.isGlobusAuthTokenResponse)(response)) {
|
|
178
|
+
(0, logger_js_1.log)('debug', `AuthorizationManager.handleCodeRedirect | response=${JSON.stringify(response)}`);
|
|
117
179
|
this.addTokenResponse(response);
|
|
118
180
|
}
|
|
119
181
|
});
|
|
120
182
|
}
|
|
121
183
|
handleErrorResponse(response, execute = true) {
|
|
184
|
+
(0, logger_js_1.log)('debug', `AuthorizationManager.handleErrorResponse | response=${JSON.stringify(response)} execute=${execute}`);
|
|
122
185
|
let handler = () => { };
|
|
123
186
|
if ((0, errors_js_1.isAuthorizationRequirementsError)(response)) {
|
|
187
|
+
(0, logger_js_1.log)('debug', 'AuthorizationManager.handleErrorResponse | error=AuthorizationRequirementsError');
|
|
124
188
|
handler = () => this.handleAuthorizationRequirementsError(response);
|
|
125
189
|
}
|
|
126
190
|
if ((0, errors_js_1.isConsentRequiredError)(response)) {
|
|
191
|
+
(0, logger_js_1.log)('debug', 'AuthorizationManager.handleErrorResponse | error=ConsentRequiredError');
|
|
127
192
|
handler = () => this.handleConsentRequiredError(response);
|
|
128
193
|
}
|
|
129
194
|
if ('code' in response && response['code'] === 'AuthenticationFailed') {
|
|
130
|
-
|
|
195
|
+
(0, logger_js_1.log)('debug', 'AuthorizationManager.handleErrorResponse | error=AuthenticationFailed');
|
|
196
|
+
handler = () => this.revoke();
|
|
131
197
|
}
|
|
132
198
|
return execute === true ? handler() : handler;
|
|
133
199
|
}
|
|
@@ -153,24 +219,34 @@ class AuthorizationManager {
|
|
|
153
219
|
*/
|
|
154
220
|
handleConsentRequiredError(response) {
|
|
155
221
|
tslib_1.__classPrivateFieldSet(this, _AuthorizationManager_transport, tslib_1.__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_buildTransport).call(this, {
|
|
156
|
-
requested_scopes: response.required_scopes.join(' '),
|
|
222
|
+
requested_scopes: tslib_1.__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_withOfflineAccess).call(this, response.required_scopes.join(' ')),
|
|
157
223
|
}), "f");
|
|
158
224
|
tslib_1.__classPrivateFieldGet(this, _AuthorizationManager_transport, "f").send();
|
|
159
225
|
}
|
|
160
226
|
/**
|
|
161
|
-
* Call `AuthroizationManager.reset
|
|
227
|
+
* Call `AuthroizationManager.reset`, revoke all of the available tokns, and emit the `revoke` event.
|
|
162
228
|
* @emits AuthorizationManager.events#revoke
|
|
163
229
|
* @see AuthorizationManager.reset
|
|
164
230
|
*/
|
|
165
231
|
revoke() {
|
|
166
232
|
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
233
|
+
(0, logger_js_1.log)('debug', 'AuthorizationManager.revoke');
|
|
234
|
+
const revocation = Promise.all(this.tokens.getAll().map(tslib_1.__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_revokeToken).bind(this)));
|
|
167
235
|
this.reset();
|
|
236
|
+
yield revocation;
|
|
168
237
|
yield this.events.revoke.dispatch();
|
|
169
238
|
});
|
|
170
239
|
}
|
|
171
240
|
}
|
|
172
241
|
exports.AuthorizationManager = AuthorizationManager;
|
|
173
|
-
_AuthorizationManager_transport = new WeakMap(), _AuthorizationManager_authenticated = new WeakMap(), _AuthorizationManager_instances = new WeakSet(),
|
|
242
|
+
_AuthorizationManager_transport = new WeakMap(), _AuthorizationManager_authenticated = new WeakMap(), _AuthorizationManager_instances = new WeakSet(), _AuthorizationManager_silentRefreshTokens = function _AuthorizationManager_silentRefreshTokens() {
|
|
243
|
+
(0, logger_js_1.log)('debug', 'AuthorizationManager.#silentRefreshTokens');
|
|
244
|
+
this.tokens.getAll().forEach((token) => {
|
|
245
|
+
if ((0, index_js_1.isRefreshToken)(token)) {
|
|
246
|
+
this.refreshToken(token);
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
}, _AuthorizationManager_checkAuthorizationState = function _AuthorizationManager_checkAuthorizationState() {
|
|
174
250
|
(0, logger_js_1.log)('debug', 'AuthorizationManager.#checkAuthorizationState');
|
|
175
251
|
if (this.hasGlobusAuthToken()) {
|
|
176
252
|
this.authenticated = true;
|
|
@@ -190,7 +266,19 @@ _AuthorizationManager_transport = new WeakMap(), _AuthorizationManager_authentic
|
|
|
190
266
|
token,
|
|
191
267
|
});
|
|
192
268
|
});
|
|
269
|
+
}, _AuthorizationManager_withOfflineAccess = function _AuthorizationManager_withOfflineAccess(scopes) {
|
|
270
|
+
return `${scopes}${this.configuration.useRefreshTokens ? ' offline_access' : ''}`;
|
|
193
271
|
}, _AuthorizationManager_buildTransport = function _AuthorizationManager_buildTransport(overrides) {
|
|
194
|
-
|
|
272
|
+
var _a;
|
|
273
|
+
const scopes = tslib_1.__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_withOfflineAccess).call(this, (_a = overrides === null || overrides === void 0 ? void 0 : overrides.requested_scopes) !== null && _a !== void 0 ? _a : this.configuration.scopes);
|
|
274
|
+
return new RedirectTransport_js_1.RedirectTransport(Object.assign({ client_id: this.configuration.client, authorization_endpoint: (0, index_js_1.getAuthorizationEndpoint)(), token_endpoint: (0, index_js_1.getTokenEndpoint)(), redirect_uri: this.configuration.redirect, requested_scopes: scopes }, overrides));
|
|
275
|
+
}, _AuthorizationManager_revokeToken = function _AuthorizationManager_revokeToken(token) {
|
|
276
|
+
(0, logger_js_1.log)('debug', `AuthorizationManager.revokeToken | resource_server=${token.resource_server}`);
|
|
277
|
+
return index_js_1.oauth2.token.revoke({
|
|
278
|
+
payload: {
|
|
279
|
+
client_id: this.configuration.client,
|
|
280
|
+
token: token.access_token,
|
|
281
|
+
},
|
|
282
|
+
});
|
|
195
283
|
};
|
|
196
284
|
//# sourceMappingURL=AuthorizationManager.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationManager.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/AuthorizationManager.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"AuthorizationManager.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/AuthorizationManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* @todo It would be nice to not `| any` here, but ideally callers do not need to
|
|
3
|
+
* fully type the payload to attach listeners.
|
|
4
|
+
*/
|
|
5
|
+
type ListenerCallback<P> = (payload?: P | any) => Promise<void> | void;
|
|
2
6
|
export declare class Event<EventName extends string, Payload extends unknown> {
|
|
3
7
|
#private;
|
|
4
8
|
readonly name: EventName;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/Event.ts"],"names":[],"mappings":"AAAA,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,
|
|
1
|
+
{"version":3,"file":"Event.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/Event.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,KAAK,gBAAgB,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,GAAG,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;AAEvE,qBAAa,KAAK,CAAC,SAAS,SAAS,MAAM,EAAE,OAAO,SAAS,OAAO;;IAGtD,QAAQ,CAAC,IAAI,EAAE,SAAS;gBAAf,IAAI,EAAE,SAAS;IAEpC,WAAW,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAK/C,cAAc,CAAC,QAAQ,EAAE,gBAAgB,CAAC,OAAO,CAAC;IAIlD,cAAc;IAIR,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO;CAGjC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Event.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/Event.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"Event.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/Event.ts"],"names":[],"mappings":";;;;;AAMA,MAAa,KAAK;IAGhB,YAAqB,IAAe;QAAf,SAAI,GAAJ,IAAI,CAAW;QAFpC,2BAA0C,EAAE,EAAC;IAEN,CAAC;IAExC,WAAW,CAAC,QAAmC;QAC7C,+BAAA,IAAI,wBAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC7C,CAAC;IAED,cAAc,CAAC,QAAmC;QAChD,+BAAA,IAAI,oBAAc,+BAAA,IAAI,wBAAW,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,KAAK,QAAQ,CAAC,MAAA,CAAC;IACpE,CAAC;IAED,cAAc;QACZ,+BAAA,IAAI,oBAAc,EAAE,MAAA,CAAC;IACvB,CAAC;IAEK,QAAQ,CAAC,OAAiB;;YAC9B,MAAM,OAAO,CAAC,GAAG,CAAC,+BAAA,IAAI,wBAAW,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC1E,CAAC;KAAA;CACF;AArBD,sBAqBC"}
|
|
@@ -1,5 +1,12 @@
|
|
|
1
1
|
import type IConfig from 'js-pkce/dist/IConfig';
|
|
2
2
|
import type IObject from 'js-pkce/dist/IObject';
|
|
3
|
+
export type GetTokenOptions = {
|
|
4
|
+
/**
|
|
5
|
+
* Whether or not the URL should be replaced after processing the token.
|
|
6
|
+
* @default true
|
|
7
|
+
*/
|
|
8
|
+
shouldReplace?: boolean;
|
|
9
|
+
};
|
|
3
10
|
export declare class RedirectTransport {
|
|
4
11
|
#private;
|
|
5
12
|
constructor(options: IConfig & {
|
|
@@ -9,6 +16,10 @@ export declare class RedirectTransport {
|
|
|
9
16
|
params?: IObject;
|
|
10
17
|
});
|
|
11
18
|
send(): void;
|
|
12
|
-
|
|
19
|
+
/**
|
|
20
|
+
* Parse the current URL for the authorization code (`?code=...`) and exchange it for an access token when available.
|
|
21
|
+
* - When the URL is processed and exchanged for an access token, the page is redirected to the current URL without the `?code=...&state=...` parameters.
|
|
22
|
+
*/
|
|
23
|
+
getToken(options?: GetTokenOptions): Promise<import("js-pkce/dist/ITokenResponse").default | undefined>;
|
|
13
24
|
}
|
|
14
25
|
//# sourceMappingURL=RedirectTransport.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedirectTransport.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,qBAAa,iBAAiB;;gBAM1B,OAAO,EAAE,OAAO,GAAG;QACjB;;WAEG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAWH,IAAI;
|
|
1
|
+
{"version":3,"file":"RedirectTransport.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAChD,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAEhD,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,qBAAa,iBAAiB;;gBAM1B,OAAO,EAAE,OAAO,GAAG;QACjB;;WAEG;QACH,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB;IAWH,IAAI;IAIJ;;;OAGG;IACG,QAAQ,CAAC,OAAO,GAAE,eAAyC;CA+BlE"}
|
|
@@ -15,23 +15,41 @@ class RedirectTransport {
|
|
|
15
15
|
send() {
|
|
16
16
|
window.location.replace(tslib_1.__classPrivateFieldGet(this, _RedirectTransport_pkce, "f").authorizeUrl(tslib_1.__classPrivateFieldGet(this, _RedirectTransport_params, "f")));
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Parse the current URL for the authorization code (`?code=...`) and exchange it for an access token when available.
|
|
20
|
+
* - When the URL is processed and exchanged for an access token, the page is redirected to the current URL without the `?code=...&state=...` parameters.
|
|
21
|
+
*/
|
|
18
22
|
getToken() {
|
|
19
|
-
return tslib_1.__awaiter(this,
|
|
23
|
+
return tslib_1.__awaiter(this, arguments, void 0, function* (options = { shouldReplace: true }) {
|
|
20
24
|
const url = new URL(window.location.href);
|
|
21
25
|
const params = new URLSearchParams(url.search);
|
|
26
|
+
/**
|
|
27
|
+
* If we don't have a `code` parameter, we can't exchange it for an access token.
|
|
28
|
+
*/
|
|
22
29
|
if (!params.get('code'))
|
|
23
30
|
return undefined;
|
|
24
31
|
const response = yield tslib_1.__classPrivateFieldGet(this, _RedirectTransport_pkce, "f").exchangeForAccessToken(url.toString());
|
|
25
|
-
params.delete('code');
|
|
26
|
-
params.delete('state');
|
|
27
|
-
url.search = params.toString();
|
|
28
32
|
/**
|
|
29
33
|
* Resets js-pkce state
|
|
30
34
|
* @see https://github.com/bpedroza/js-pkce/blob/master/src/PKCE.ts
|
|
31
35
|
*/
|
|
32
36
|
sessionStorage.removeItem('pkce_state');
|
|
33
37
|
sessionStorage.removeItem('pkce_code_verifier');
|
|
34
|
-
|
|
38
|
+
if (options.shouldReplace) {
|
|
39
|
+
/**
|
|
40
|
+
* Remove the `code` and `state` parameters from the URL.
|
|
41
|
+
*/
|
|
42
|
+
params.delete('code');
|
|
43
|
+
params.delete('state');
|
|
44
|
+
/**
|
|
45
|
+
* Update the URL with the new query string.
|
|
46
|
+
*/
|
|
47
|
+
url.search = params.toString();
|
|
48
|
+
/**
|
|
49
|
+
* Redirect the page to the new URL (without the `code` and `state` parameters)/
|
|
50
|
+
*/
|
|
51
|
+
window.location.replace(url);
|
|
52
|
+
}
|
|
35
53
|
return response;
|
|
36
54
|
});
|
|
37
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RedirectTransport.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":";;;;;AAAA,8DAA2B;
|
|
1
|
+
{"version":3,"file":"RedirectTransport.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/RedirectTransport.ts"],"names":[],"mappings":";;;;;AAAA,8DAA2B;AAY3B,MAAa,iBAAiB;IAK5B,YACE,OAKC;QAVH,0CAAY;QAEZ,oCAAmB,EAAE,EAAC;QAUpB,MAAM,EAAE,MAAM,KAAgB,OAAO,EAAlB,MAAM,kBAAK,OAAO,EAA/B,UAAqB,CAAU,CAAC;QACtC,+BAAA,IAAI,2BAAS,IAAI,iBAAI,mBAChB,MAAM,EACT,MAAA,CAAC;QACH,+BAAA,IAAI,+CACC,MAAM,OACV,CAAC;IACJ,CAAC;IAED,IAAI;QACF,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,+BAAA,IAAI,+BAAM,CAAC,YAAY,CAAC,+BAAA,IAAI,iCAAQ,CAAC,CAAC,CAAC;IACjE,CAAC;IAED;;;OAGG;IACG,QAAQ;qEAAC,UAA2B,EAAE,aAAa,EAAE,IAAI,EAAE;YAC/D,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YAC/C;;eAEG;YACH,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC;gBAAE,OAAO,SAAS,CAAC;YAC1C,MAAM,QAAQ,GAAG,MAAM,+BAAA,IAAI,+BAAM,CAAC,sBAAsB,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;YACzE;;;eAGG;YACH,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACxC,cAAc,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YAChD,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;gBAC1B;;mBAEG;gBACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;gBACtB,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACvB;;mBAEG;gBACH,GAAG,CAAC,MAAM,GAAG,MAAM,CAAC,QAAQ,EAAE,CAAC;gBAC/B;;mBAEG;gBACH,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;CACF;AA7DD,8CA6DC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Token } from '../../services/auth/index.js';
|
|
2
1
|
import { AuthorizationManager } from './AuthorizationManager.js';
|
|
2
|
+
import type { Token } from '../../services/auth/types.js';
|
|
3
3
|
export declare class TokenLookup {
|
|
4
4
|
#private;
|
|
5
5
|
constructor(options: {
|
|
@@ -8,5 +8,10 @@ export declare class TokenLookup {
|
|
|
8
8
|
get auth(): Token | null;
|
|
9
9
|
get transfer(): Token | null;
|
|
10
10
|
get flows(): Token | null;
|
|
11
|
+
get groups(): Token | null;
|
|
12
|
+
get search(): Token | null;
|
|
13
|
+
get timer(): Token | null;
|
|
14
|
+
get compute(): Token | null;
|
|
15
|
+
getAll(): Token[];
|
|
11
16
|
}
|
|
12
17
|
//# sourceMappingURL=TokenLookup.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenLookup.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/TokenLookup.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"TokenLookup.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/TokenLookup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AAE1D,qBAAa,WAAW;;gBAGV,OAAO,EAAE;QAAE,OAAO,EAAE,oBAAoB,CAAA;KAAE;IAoBtD,IAAI,IAAI,IAAI,KAAK,GAAG,IAAI,CAEvB;IAED,IAAI,QAAQ,IAAI,KAAK,GAAG,IAAI,CAE3B;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAExB;IAED,IAAI,MAAM,IAAI,KAAK,GAAG,IAAI,CAEzB;IAED,IAAI,MAAM,IAAI,KAAK,GAAG,IAAI,CAEzB;IAED,IAAI,KAAK,IAAI,KAAK,GAAG,IAAI,CAExB;IAED,IAAI,OAAO,IAAI,KAAK,GAAG,IAAI,CAE1B;IAED,MAAM,IAAI,KAAK,EAAE;CAYlB"}
|
|
@@ -5,6 +5,7 @@ exports.TokenLookup = void 0;
|
|
|
5
5
|
const tslib_1 = require("tslib");
|
|
6
6
|
const index_js_1 = require("../storage/index.js");
|
|
7
7
|
const index_js_2 = require("../../services/auth/index.js");
|
|
8
|
+
const global_js_1 = require("../global.js");
|
|
8
9
|
class TokenLookup {
|
|
9
10
|
constructor(options) {
|
|
10
11
|
_TokenLookup_instances.add(this);
|
|
@@ -12,20 +13,54 @@ class TokenLookup {
|
|
|
12
13
|
tslib_1.__classPrivateFieldSet(this, _TokenLookup_manager, options.manager, "f");
|
|
13
14
|
}
|
|
14
15
|
get auth() {
|
|
15
|
-
return tslib_1.__classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getTokenForService).call(this,
|
|
16
|
+
return tslib_1.__classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getTokenForService).call(this, global_js_1.SERVICES.AUTH);
|
|
16
17
|
}
|
|
17
18
|
get transfer() {
|
|
18
|
-
return tslib_1.__classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getTokenForService).call(this,
|
|
19
|
+
return tslib_1.__classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getTokenForService).call(this, global_js_1.SERVICES.TRANSFER);
|
|
19
20
|
}
|
|
20
21
|
get flows() {
|
|
21
|
-
return tslib_1.__classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getTokenForService).call(this,
|
|
22
|
+
return tslib_1.__classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getTokenForService).call(this, global_js_1.SERVICES.FLOWS);
|
|
23
|
+
}
|
|
24
|
+
get groups() {
|
|
25
|
+
return tslib_1.__classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getTokenForService).call(this, global_js_1.SERVICES.GROUPS);
|
|
26
|
+
}
|
|
27
|
+
get search() {
|
|
28
|
+
return tslib_1.__classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getTokenForService).call(this, global_js_1.SERVICES.SEARCH);
|
|
29
|
+
}
|
|
30
|
+
get timer() {
|
|
31
|
+
return tslib_1.__classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getTokenForService).call(this, global_js_1.SERVICES.TIMER);
|
|
32
|
+
}
|
|
33
|
+
get compute() {
|
|
34
|
+
return tslib_1.__classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getTokenForService).call(this, global_js_1.SERVICES.COMPUTE);
|
|
35
|
+
}
|
|
36
|
+
getAll() {
|
|
37
|
+
const tokens = [
|
|
38
|
+
this.auth,
|
|
39
|
+
this.transfer,
|
|
40
|
+
this.flows,
|
|
41
|
+
this.groups,
|
|
42
|
+
this.search,
|
|
43
|
+
this.timer,
|
|
44
|
+
this.compute,
|
|
45
|
+
];
|
|
46
|
+
return tokens.filter(index_js_2.isToken);
|
|
22
47
|
}
|
|
23
48
|
}
|
|
24
49
|
exports.TokenLookup = TokenLookup;
|
|
25
50
|
_TokenLookup_manager = new WeakMap(), _TokenLookup_instances = new WeakSet(), _TokenLookup_getTokenForService = function _TokenLookup_getTokenForService(service) {
|
|
26
51
|
var _a;
|
|
27
52
|
const resourceServer = (_a = index_js_2.CONFIG.RESOURCE_SERVERS) === null || _a === void 0 ? void 0 : _a[service];
|
|
28
|
-
const raw = (0, index_js_1.getStorage)().get(`${tslib_1.__classPrivateFieldGet(this, _TokenLookup_manager, "f").configuration.
|
|
29
|
-
|
|
53
|
+
const raw = (0, index_js_1.getStorage)().get(`${tslib_1.__classPrivateFieldGet(this, _TokenLookup_manager, "f").configuration.client}:${resourceServer}`) || 'null';
|
|
54
|
+
let token = null;
|
|
55
|
+
try {
|
|
56
|
+
const parsed = JSON.parse(raw);
|
|
57
|
+
if ((0, index_js_2.isToken)(parsed)) {
|
|
58
|
+
token = parsed;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
catch (e) {
|
|
62
|
+
// no-op
|
|
63
|
+
}
|
|
64
|
+
return token;
|
|
30
65
|
};
|
|
31
66
|
//# sourceMappingURL=TokenLookup.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenLookup.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/TokenLookup.ts"],"names":[],"mappings":";;;;;AAAA,kDAAiD;AACjD,
|
|
1
|
+
{"version":3,"file":"TokenLookup.js","sourceRoot":"","sources":["../../../../../src/lib/core/authorization/TokenLookup.ts"],"names":[],"mappings":";;;;;AAAA,kDAAiD;AACjD,2DAA+D;AAE/D,4CAAsD;AAKtD,MAAa,WAAW;IAGtB,YAAY,OAA0C;;QAFtD,uCAA+B;QAG7B,+BAAA,IAAI,wBAAY,OAAO,CAAC,OAAO,MAAA,CAAC;IAClC,CAAC;IAkBD,IAAI,IAAI;QACN,OAAO,+BAAA,IAAI,+DAAoB,MAAxB,IAAI,EAAqB,oBAAQ,CAAC,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,IAAI,QAAQ;QACV,OAAO,+BAAA,IAAI,+DAAoB,MAAxB,IAAI,EAAqB,oBAAQ,CAAC,QAAQ,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,+BAAA,IAAI,+DAAoB,MAAxB,IAAI,EAAqB,oBAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,+BAAA,IAAI,+DAAoB,MAAxB,IAAI,EAAqB,oBAAQ,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,MAAM;QACR,OAAO,+BAAA,IAAI,+DAAoB,MAAxB,IAAI,EAAqB,oBAAQ,CAAC,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,IAAI,KAAK;QACP,OAAO,+BAAA,IAAI,+DAAoB,MAAxB,IAAI,EAAqB,oBAAQ,CAAC,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,OAAO;QACT,OAAO,+BAAA,IAAI,+DAAoB,MAAxB,IAAI,EAAqB,oBAAQ,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IAED,MAAM;QACJ,MAAM,MAAM,GAAG;YACb,IAAI,CAAC,IAAI;YACT,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,MAAM;YACX,IAAI,CAAC,KAAK;YACV,IAAI,CAAC,OAAO;SACb,CAAC;QACF,OAAO,MAAM,CAAC,MAAM,CAAC,kBAAO,CAAC,CAAC;IAChC,CAAC;CACF;AA/DD,kCA+DC;yJAxDqB,OAAgB;;IAClC,MAAM,cAAc,GAAG,MAAA,iBAAM,CAAC,gBAAgB,0CAAG,OAAO,CAAC,CAAC;IAC1D,MAAM,GAAG,GACP,IAAA,qBAAU,GAAE,CAAC,GAAG,CAAC,GAAG,+BAAA,IAAI,4BAAS,CAAC,aAAa,CAAC,MAAM,IAAI,cAAc,EAAE,CAAC,IAAI,MAAM,CAAC;IACxF,IAAI,KAAK,GAAiB,IAAI,CAAC;IAC/B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,IAAA,kBAAO,EAAC,MAAM,CAAC,EAAE,CAAC;YACpB,KAAK,GAAG,MAAM,CAAC;QACjB,CAAC;IACH,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,QAAQ;IACV,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC"}
|