@globus/sdk 2.4.1 → 3.0.0-alpha.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/cjs/index.d.ts +2 -1
- package/cjs/index.d.ts.map +1 -1
- package/cjs/index.js +3 -2
- package/cjs/index.js.map +1 -1
- package/cjs/lib/core/authorization/AuthorizationManager.d.ts +47 -0
- package/cjs/lib/core/authorization/AuthorizationManager.d.ts.map +1 -0
- package/cjs/lib/core/authorization/AuthorizationManager.js +133 -0
- package/cjs/lib/core/authorization/AuthorizationManager.js.map +1 -0
- package/cjs/lib/core/authorization/Event.d.ts +11 -0
- package/cjs/lib/core/authorization/Event.d.ts.map +1 -0
- package/cjs/lib/core/authorization/Event.js +26 -0
- package/cjs/lib/core/authorization/Event.js.map +1 -0
- package/cjs/lib/core/authorization/RedirectTransport.d.ts +8 -0
- package/cjs/lib/core/authorization/RedirectTransport.d.ts.map +1 -0
- package/cjs/lib/core/authorization/RedirectTransport.js +38 -0
- package/cjs/lib/core/authorization/RedirectTransport.js.map +1 -0
- package/cjs/lib/core/authorization/index.d.ts +13 -0
- package/cjs/lib/core/authorization/index.d.ts.map +1 -0
- package/cjs/lib/core/authorization/index.js +20 -0
- package/cjs/lib/core/authorization/index.js.map +1 -0
- package/cjs/lib/core/authorization/tokens.d.ts +7 -0
- package/cjs/lib/core/authorization/tokens.d.ts.map +1 -0
- package/cjs/lib/core/{consent.js → authorization/tokens.js} +3 -22
- package/cjs/lib/core/authorization/tokens.js.map +1 -0
- package/cjs/lib/core/global.d.ts +1 -0
- package/cjs/lib/core/global.d.ts.map +1 -1
- package/cjs/lib/core/global.js +3 -2
- package/cjs/lib/core/global.js.map +1 -1
- package/cjs/lib/core/logger.d.ts +31 -0
- package/cjs/lib/core/logger.d.ts.map +1 -0
- package/cjs/lib/core/logger.js +54 -0
- package/cjs/lib/core/logger.js.map +1 -0
- package/cjs/lib/core/storage/index.d.ts +1 -1
- package/cjs/lib/core/storage/index.d.ts.map +1 -1
- package/cjs/lib/core/storage/index.js +0 -4
- package/cjs/lib/core/storage/index.js.map +1 -1
- package/cjs/lib/core/storage/local-storage.d.ts +2 -1
- package/cjs/lib/core/storage/local-storage.d.ts.map +1 -1
- package/cjs/lib/core/storage/local-storage.js +10 -5
- package/cjs/lib/core/storage/local-storage.js.map +1 -1
- package/cjs/lib/core/storage/memory.d.ts +3 -3
- package/cjs/lib/core/storage/memory.d.ts.map +1 -1
- package/cjs/lib/core/storage/memory.js +7 -7
- package/cjs/lib/core/storage/memory.js.map +1 -1
- package/cjs/lib/services/auth/config.d.ts +5 -0
- package/cjs/lib/services/auth/config.d.ts.map +1 -1
- package/cjs/lib/services/auth/config.js +8 -1
- package/cjs/lib/services/auth/config.js.map +1 -1
- package/cjs/lib/services/auth/index.d.ts +1 -0
- package/cjs/lib/services/auth/index.d.ts.map +1 -1
- package/cjs/lib/services/auth/index.js +5 -1
- package/cjs/lib/services/auth/index.js.map +1 -1
- package/cjs/lib/services/shared.js +2 -2
- package/cjs/lib/services/shared.js.map +1 -1
- package/cjs/lib/services/transfer/service/file-operations.d.ts +49 -1
- package/cjs/lib/services/transfer/service/file-operations.d.ts.map +1 -1
- package/cjs/lib/services/transfer/service/file-operations.js.map +1 -1
- package/cjs/lib/services/transfer/service/task-submission.d.ts +64 -4
- package/cjs/lib/services/transfer/service/task-submission.d.ts.map +1 -1
- package/cjs/lib/services/transfer/service/task-submission.js +3 -0
- package/cjs/lib/services/transfer/service/task-submission.js.map +1 -1
- package/esm/index.d.ts +2 -1
- package/esm/index.d.ts.map +1 -1
- package/esm/index.js +2 -1
- package/esm/index.js.map +1 -1
- package/esm/lib/core/authorization/AuthorizationManager.d.ts +47 -0
- package/esm/lib/core/authorization/AuthorizationManager.d.ts.map +1 -0
- package/esm/lib/core/authorization/AuthorizationManager.js +129 -0
- package/esm/lib/core/authorization/AuthorizationManager.js.map +1 -0
- package/esm/lib/core/authorization/Event.d.ts +11 -0
- package/esm/lib/core/authorization/Event.d.ts.map +1 -0
- package/esm/lib/core/authorization/Event.js +22 -0
- package/esm/lib/core/authorization/Event.js.map +1 -0
- package/esm/lib/core/authorization/RedirectTransport.d.ts +8 -0
- package/esm/lib/core/authorization/RedirectTransport.d.ts.map +1 -0
- package/esm/lib/core/authorization/RedirectTransport.js +34 -0
- package/esm/lib/core/authorization/RedirectTransport.js.map +1 -0
- package/esm/lib/core/authorization/index.d.ts +13 -0
- package/esm/lib/core/authorization/index.d.ts.map +1 -0
- package/esm/lib/core/authorization/index.js +15 -0
- package/esm/lib/core/authorization/index.js.map +1 -0
- package/esm/lib/core/authorization/tokens.d.ts +7 -0
- package/esm/lib/core/authorization/tokens.d.ts.map +1 -0
- package/esm/lib/core/{consent.js → authorization/tokens.js} +2 -19
- package/esm/lib/core/authorization/tokens.js.map +1 -0
- package/esm/lib/core/global.d.ts +1 -0
- package/esm/lib/core/global.d.ts.map +1 -1
- package/esm/lib/core/global.js +1 -1
- package/esm/lib/core/global.js.map +1 -1
- package/esm/lib/core/logger.d.ts +31 -0
- package/esm/lib/core/logger.d.ts.map +1 -0
- package/esm/lib/core/logger.js +48 -0
- package/esm/lib/core/logger.js.map +1 -0
- package/esm/lib/core/storage/index.d.ts +1 -1
- package/esm/lib/core/storage/index.d.ts.map +1 -1
- package/esm/lib/core/storage/index.js +0 -4
- package/esm/lib/core/storage/index.js.map +1 -1
- package/esm/lib/core/storage/local-storage.d.ts +2 -1
- package/esm/lib/core/storage/local-storage.d.ts.map +1 -1
- package/esm/lib/core/storage/local-storage.js +10 -5
- package/esm/lib/core/storage/local-storage.js.map +1 -1
- package/esm/lib/core/storage/memory.d.ts +3 -3
- package/esm/lib/core/storage/memory.d.ts.map +1 -1
- package/esm/lib/core/storage/memory.js +7 -7
- package/esm/lib/core/storage/memory.js.map +1 -1
- package/esm/lib/services/auth/config.d.ts +5 -0
- package/esm/lib/services/auth/config.d.ts.map +1 -1
- package/esm/lib/services/auth/config.js +7 -0
- package/esm/lib/services/auth/config.js.map +1 -1
- package/esm/lib/services/auth/index.d.ts +1 -0
- package/esm/lib/services/auth/index.d.ts.map +1 -1
- package/esm/lib/services/auth/index.js +3 -0
- package/esm/lib/services/auth/index.js.map +1 -1
- package/esm/lib/services/shared.js +1 -1
- package/esm/lib/services/shared.js.map +1 -1
- package/esm/lib/services/transfer/service/file-operations.d.ts +49 -1
- package/esm/lib/services/transfer/service/file-operations.d.ts.map +1 -1
- package/esm/lib/services/transfer/service/file-operations.js.map +1 -1
- package/esm/lib/services/transfer/service/task-submission.d.ts +64 -4
- package/esm/lib/services/transfer/service/task-submission.d.ts.map +1 -1
- package/esm/lib/services/transfer/service/task-submission.js +3 -0
- package/esm/lib/services/transfer/service/task-submission.js.map +1 -1
- package/package.json +1 -1
- package/umd/globus.production.js +1 -1
- package/cjs/lib/core/authorization.d.ts +0 -30
- package/cjs/lib/core/authorization.d.ts.map +0 -1
- package/cjs/lib/core/authorization.js +0 -94
- package/cjs/lib/core/authorization.js.map +0 -1
- package/cjs/lib/core/consent.d.ts +0 -11
- package/cjs/lib/core/consent.d.ts.map +0 -1
- package/cjs/lib/core/consent.js.map +0 -1
- package/esm/lib/core/authorization.d.ts +0 -30
- package/esm/lib/core/authorization.d.ts.map +0 -1
- package/esm/lib/core/authorization.js +0 -88
- package/esm/lib/core/authorization.js.map +0 -1
- package/esm/lib/core/consent.d.ts +0 -11
- package/esm/lib/core/consent.d.ts.map +0 -1
- package/esm/lib/core/consent.js.map +0 -1
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var _PKCEAuthorization_instances, _PKCEAuthorization_pkce, _PKCEAuthorization_configuration, _PKCEAuthorization_response, _PKCEAuthorization_createPKCEInstance, _PKCEAuthorization_resetPKCE;
|
|
3
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.incremental = exports.pkce = exports.PKCEAuthorization = void 0;
|
|
5
|
-
const tslib_1 = require("tslib");
|
|
6
|
-
/**
|
|
7
|
-
* @description Session and authorization management via PKCE.
|
|
8
|
-
* @group Core
|
|
9
|
-
* @module
|
|
10
|
-
* @experimental
|
|
11
|
-
*/
|
|
12
|
-
const js_pkce_1 = tslib_1.__importDefault(require("js-pkce"));
|
|
13
|
-
const index_js_1 = require("../services/auth/index.js");
|
|
14
|
-
const consent_js_1 = require("./consent.js");
|
|
15
|
-
const index_js_2 = require("./storage/index.js");
|
|
16
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
17
|
-
let storage;
|
|
18
|
-
/**
|
|
19
|
-
* @experimental
|
|
20
|
-
*/
|
|
21
|
-
class PKCEAuthorization {
|
|
22
|
-
constructor(configuration) {
|
|
23
|
-
_PKCEAuthorization_instances.add(this);
|
|
24
|
-
_PKCEAuthorization_pkce.set(this, void 0);
|
|
25
|
-
_PKCEAuthorization_configuration.set(this, void 0);
|
|
26
|
-
_PKCEAuthorization_response.set(this, void 0);
|
|
27
|
-
storage = (0, index_js_2.createStorage)('localStorage');
|
|
28
|
-
if (!configuration.client_id) {
|
|
29
|
-
throw new Error('You must provide a `client_id`.');
|
|
30
|
-
}
|
|
31
|
-
tslib_1.__classPrivateFieldSet(this, _PKCEAuthorization_configuration, Object.assign({ client_id: configuration.client_id, authorization_endpoint: (0, index_js_1.getAuthorizationEndpoint)(), token_endpoint: (0, index_js_1.getTokenEndpoint)() }, configuration), "f");
|
|
32
|
-
tslib_1.__classPrivateFieldSet(this, _PKCEAuthorization_pkce, tslib_1.__classPrivateFieldGet(this, _PKCEAuthorization_instances, "m", _PKCEAuthorization_createPKCEInstance).call(this), "f");
|
|
33
|
-
}
|
|
34
|
-
reset() {
|
|
35
|
-
tslib_1.__classPrivateFieldGet(this, _PKCEAuthorization_instances, "m", _PKCEAuthorization_resetPKCE).call(this);
|
|
36
|
-
(0, consent_js_1.reset)();
|
|
37
|
-
}
|
|
38
|
-
redirect() {
|
|
39
|
-
this.reset();
|
|
40
|
-
window.location.replace(tslib_1.__classPrivateFieldGet(this, _PKCEAuthorization_pkce, "f").authorizeUrl());
|
|
41
|
-
}
|
|
42
|
-
handleCodeRedirect(options = { removeStateAndReplaceLocation: true }) {
|
|
43
|
-
return tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
44
|
-
const url = new URL(window.location.href);
|
|
45
|
-
const params = new URLSearchParams(url.search);
|
|
46
|
-
if (!params.get('code'))
|
|
47
|
-
return;
|
|
48
|
-
const response = yield tslib_1.__classPrivateFieldGet(this, _PKCEAuthorization_pkce, "f").exchangeForAccessToken(url.toString());
|
|
49
|
-
tslib_1.__classPrivateFieldSet(this, _PKCEAuthorization_response, response, "f");
|
|
50
|
-
(0, consent_js_1.addTokenResponse)(tslib_1.__classPrivateFieldGet(this, _PKCEAuthorization_response, "f"));
|
|
51
|
-
// Remove PKCE-state from the URL since we have a token.
|
|
52
|
-
if (options.removeStateAndReplaceLocation) {
|
|
53
|
-
params.delete('code');
|
|
54
|
-
params.delete('state');
|
|
55
|
-
url.search = params.toString();
|
|
56
|
-
window.location.replace(url);
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
hasToken() {
|
|
61
|
-
return tslib_1.__classPrivateFieldGet(this, _PKCEAuthorization_configuration, "f").requested_scopes
|
|
62
|
-
.split(' ')
|
|
63
|
-
.every((scope) => Boolean((0, consent_js_1.getTokenForScope)(scope)));
|
|
64
|
-
}
|
|
65
|
-
revoke() {
|
|
66
|
-
this.reset();
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
exports.PKCEAuthorization = PKCEAuthorization;
|
|
70
|
-
_PKCEAuthorization_pkce = new WeakMap(), _PKCEAuthorization_configuration = new WeakMap(), _PKCEAuthorization_response = new WeakMap(), _PKCEAuthorization_instances = new WeakSet(), _PKCEAuthorization_createPKCEInstance = function _PKCEAuthorization_createPKCEInstance() {
|
|
71
|
-
return new js_pkce_1.default(tslib_1.__classPrivateFieldGet(this, _PKCEAuthorization_configuration, "f"));
|
|
72
|
-
}, _PKCEAuthorization_resetPKCE = function _PKCEAuthorization_resetPKCE() {
|
|
73
|
-
/**
|
|
74
|
-
* Resets js-pkce state
|
|
75
|
-
* @see https://github.com/bpedroza/js-pkce/blob/master/src/PKCE.ts
|
|
76
|
-
*/
|
|
77
|
-
sessionStorage.removeItem('pkce_state');
|
|
78
|
-
sessionStorage.removeItem('pkce_code_verifier');
|
|
79
|
-
};
|
|
80
|
-
/**
|
|
81
|
-
* @experimental
|
|
82
|
-
*/
|
|
83
|
-
function pkce(configuration) {
|
|
84
|
-
return new PKCEAuthorization(configuration);
|
|
85
|
-
}
|
|
86
|
-
exports.pkce = pkce;
|
|
87
|
-
/**
|
|
88
|
-
* @experimental
|
|
89
|
-
*/
|
|
90
|
-
function incremental(configuration) {
|
|
91
|
-
return new PKCEAuthorization(configuration);
|
|
92
|
-
}
|
|
93
|
-
exports.incremental = incremental;
|
|
94
|
-
//# sourceMappingURL=authorization.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../../src/lib/core/authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import ITokenResponse from 'js-pkce/dist/ITokenResponse';
|
|
2
|
-
import type { TokenResponse } from '../services/auth/index.js';
|
|
3
|
-
export declare function addTokenResponse(token: ITokenResponse | TokenResponse): void;
|
|
4
|
-
/**
|
|
5
|
-
* Obtain the token string for the given scope.
|
|
6
|
-
* @param scope The scope string that will be used to look up the token.
|
|
7
|
-
* @returns The token string for the given scope or null if no token is found.
|
|
8
|
-
*/
|
|
9
|
-
export declare function getTokenForScope(scope: string): string | null;
|
|
10
|
-
export declare function reset(): void;
|
|
11
|
-
//# sourceMappingURL=consent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/consent.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAS,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAgBtE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,aAAa,QAKrE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,iBAM7C;AAED,wBAAgB,KAAK,SAEpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consent.js","sourceRoot":"","sources":["../../../../src/lib/core/consent.ts"],"names":[],"mappings":";;;AACA,iDAAgD;AAGhD,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,KAAK,GAAG,KAAc,CAAC;IAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,KAAqB;IAClC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,IAAA,qBAAU,GAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,gBAAgB,CAAC,KAAqC;IACpE,KAAK,CAAC,KAAK,CAAC,CAAC;IACb,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAC5B,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AALD,4CAKC;AAED;;;;GAIG;AACH,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,MAAM,KAAK,GAAG,IAAA,qBAAU,GAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;AACrD,CAAC;AAND,4CAMC;AAED,SAAgB,KAAK;IACnB,IAAA,qBAAU,GAAE,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAFD,sBAEC"}
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import type IConfig from 'js-pkce/dist/IConfig';
|
|
2
|
-
type PKCEConfiguration = {
|
|
3
|
-
client_id?: IConfig['client_id'];
|
|
4
|
-
requested_scopes: IConfig['requested_scopes'];
|
|
5
|
-
redirect_uri: IConfig['redirect_uri'];
|
|
6
|
-
};
|
|
7
|
-
/**
|
|
8
|
-
* @experimental
|
|
9
|
-
*/
|
|
10
|
-
export declare class PKCEAuthorization {
|
|
11
|
-
#private;
|
|
12
|
-
constructor(configuration: PKCEConfiguration);
|
|
13
|
-
reset(): void;
|
|
14
|
-
redirect(): void;
|
|
15
|
-
handleCodeRedirect(options?: {
|
|
16
|
-
removeStateAndReplaceLocation: boolean;
|
|
17
|
-
}): Promise<void>;
|
|
18
|
-
hasToken(): boolean;
|
|
19
|
-
revoke(): void;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* @experimental
|
|
23
|
-
*/
|
|
24
|
-
export declare function pkce(configuration: PKCEConfiguration): PKCEAuthorization;
|
|
25
|
-
/**
|
|
26
|
-
* @experimental
|
|
27
|
-
*/
|
|
28
|
-
export declare function incremental(configuration: PKCEConfiguration): PKCEAuthorization;
|
|
29
|
-
export {};
|
|
30
|
-
//# sourceMappingURL=authorization.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/authorization.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,OAAO,MAAM,sBAAsB,CAAC;AAUhD,KAAK,iBAAiB,GAAG;IACvB,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACjC,gBAAgB,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAC9C,YAAY,EAAE,OAAO,CAAC,cAAc,CAAC,CAAC;CACvC,CAAC;AAEF;;GAEG;AACH,qBAAa,iBAAiB;;gBAOhB,aAAa,EAAE,iBAAiB;IA4B5C,KAAK;IAKL,QAAQ;IAKF,kBAAkB,CAAC,OAAO;;KAA0C;IAiB1E,QAAQ,IAAI,OAAO;IAMnB,MAAM;CAGP;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,aAAa,EAAE,iBAAiB,qBAEpD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,aAAa,EAAE,iBAAiB,qBAE3D"}
|
|
@@ -1,88 +0,0 @@
|
|
|
1
|
-
var _PKCEAuthorization_instances, _PKCEAuthorization_pkce, _PKCEAuthorization_configuration, _PKCEAuthorization_response, _PKCEAuthorization_createPKCEInstance, _PKCEAuthorization_resetPKCE;
|
|
2
|
-
import { __awaiter, __classPrivateFieldGet, __classPrivateFieldSet } from "tslib";
|
|
3
|
-
/**
|
|
4
|
-
* @description Session and authorization management via PKCE.
|
|
5
|
-
* @group Core
|
|
6
|
-
* @module
|
|
7
|
-
* @experimental
|
|
8
|
-
*/
|
|
9
|
-
import PKCE from 'js-pkce';
|
|
10
|
-
import { getAuthorizationEndpoint, getTokenEndpoint } from '../services/auth/index.js';
|
|
11
|
-
import { addTokenResponse, getTokenForScope, reset as resetTokens } from './consent.js';
|
|
12
|
-
import { createStorage } from './storage/index.js';
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
14
|
-
let storage;
|
|
15
|
-
/**
|
|
16
|
-
* @experimental
|
|
17
|
-
*/
|
|
18
|
-
export class PKCEAuthorization {
|
|
19
|
-
constructor(configuration) {
|
|
20
|
-
_PKCEAuthorization_instances.add(this);
|
|
21
|
-
_PKCEAuthorization_pkce.set(this, void 0);
|
|
22
|
-
_PKCEAuthorization_configuration.set(this, void 0);
|
|
23
|
-
_PKCEAuthorization_response.set(this, void 0);
|
|
24
|
-
storage = createStorage('localStorage');
|
|
25
|
-
if (!configuration.client_id) {
|
|
26
|
-
throw new Error('You must provide a `client_id`.');
|
|
27
|
-
}
|
|
28
|
-
__classPrivateFieldSet(this, _PKCEAuthorization_configuration, Object.assign({ client_id: configuration.client_id, authorization_endpoint: getAuthorizationEndpoint(), token_endpoint: getTokenEndpoint() }, configuration), "f");
|
|
29
|
-
__classPrivateFieldSet(this, _PKCEAuthorization_pkce, __classPrivateFieldGet(this, _PKCEAuthorization_instances, "m", _PKCEAuthorization_createPKCEInstance).call(this), "f");
|
|
30
|
-
}
|
|
31
|
-
reset() {
|
|
32
|
-
__classPrivateFieldGet(this, _PKCEAuthorization_instances, "m", _PKCEAuthorization_resetPKCE).call(this);
|
|
33
|
-
resetTokens();
|
|
34
|
-
}
|
|
35
|
-
redirect() {
|
|
36
|
-
this.reset();
|
|
37
|
-
window.location.replace(__classPrivateFieldGet(this, _PKCEAuthorization_pkce, "f").authorizeUrl());
|
|
38
|
-
}
|
|
39
|
-
handleCodeRedirect(options = { removeStateAndReplaceLocation: true }) {
|
|
40
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
-
const url = new URL(window.location.href);
|
|
42
|
-
const params = new URLSearchParams(url.search);
|
|
43
|
-
if (!params.get('code'))
|
|
44
|
-
return;
|
|
45
|
-
const response = yield __classPrivateFieldGet(this, _PKCEAuthorization_pkce, "f").exchangeForAccessToken(url.toString());
|
|
46
|
-
__classPrivateFieldSet(this, _PKCEAuthorization_response, response, "f");
|
|
47
|
-
addTokenResponse(__classPrivateFieldGet(this, _PKCEAuthorization_response, "f"));
|
|
48
|
-
// Remove PKCE-state from the URL since we have a token.
|
|
49
|
-
if (options.removeStateAndReplaceLocation) {
|
|
50
|
-
params.delete('code');
|
|
51
|
-
params.delete('state');
|
|
52
|
-
url.search = params.toString();
|
|
53
|
-
window.location.replace(url);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
}
|
|
57
|
-
hasToken() {
|
|
58
|
-
return __classPrivateFieldGet(this, _PKCEAuthorization_configuration, "f").requested_scopes
|
|
59
|
-
.split(' ')
|
|
60
|
-
.every((scope) => Boolean(getTokenForScope(scope)));
|
|
61
|
-
}
|
|
62
|
-
revoke() {
|
|
63
|
-
this.reset();
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
_PKCEAuthorization_pkce = new WeakMap(), _PKCEAuthorization_configuration = new WeakMap(), _PKCEAuthorization_response = new WeakMap(), _PKCEAuthorization_instances = new WeakSet(), _PKCEAuthorization_createPKCEInstance = function _PKCEAuthorization_createPKCEInstance() {
|
|
67
|
-
return new PKCE(__classPrivateFieldGet(this, _PKCEAuthorization_configuration, "f"));
|
|
68
|
-
}, _PKCEAuthorization_resetPKCE = function _PKCEAuthorization_resetPKCE() {
|
|
69
|
-
/**
|
|
70
|
-
* Resets js-pkce state
|
|
71
|
-
* @see https://github.com/bpedroza/js-pkce/blob/master/src/PKCE.ts
|
|
72
|
-
*/
|
|
73
|
-
sessionStorage.removeItem('pkce_state');
|
|
74
|
-
sessionStorage.removeItem('pkce_code_verifier');
|
|
75
|
-
};
|
|
76
|
-
/**
|
|
77
|
-
* @experimental
|
|
78
|
-
*/
|
|
79
|
-
export function pkce(configuration) {
|
|
80
|
-
return new PKCEAuthorization(configuration);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* @experimental
|
|
84
|
-
*/
|
|
85
|
-
export function incremental(configuration) {
|
|
86
|
-
return new PKCEAuthorization(configuration);
|
|
87
|
-
}
|
|
88
|
-
//# sourceMappingURL=authorization.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"authorization.js","sourceRoot":"","sources":["../../../../src/lib/core/authorization.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import ITokenResponse from 'js-pkce/dist/ITokenResponse';
|
|
2
|
-
import type { TokenResponse } from '../services/auth/index.js';
|
|
3
|
-
export declare function addTokenResponse(token: ITokenResponse | TokenResponse): void;
|
|
4
|
-
/**
|
|
5
|
-
* Obtain the token string for the given scope.
|
|
6
|
-
* @param scope The scope string that will be used to look up the token.
|
|
7
|
-
* @returns The token string for the given scope or null if no token is found.
|
|
8
|
-
*/
|
|
9
|
-
export declare function getTokenForScope(scope: string): string | null;
|
|
10
|
-
export declare function reset(): void;
|
|
11
|
-
//# sourceMappingURL=consent.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consent.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/consent.ts"],"names":[],"mappings":"AAAA,OAAO,cAAc,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAS,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAgBtE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,aAAa,QAKrE;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,iBAM7C;AAED,wBAAgB,KAAK,SAEpB"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"consent.js","sourceRoot":"","sources":["../../../../src/lib/core/consent.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,SAAS,YAAY,CAAC,KAAc;IAClC,MAAM,KAAK,GAAG,KAAc,CAAC;IAC7B,OAAO,OAAO,CAAC,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC,CAAC;AACzD,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,KAAqB;IAClC,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;QACvC,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,KAAqC;IACpE,KAAK,CAAC,KAAK,CAAC,CAAC;IACb,IAAI,cAAc,IAAI,KAAK,EAAE,CAAC;QAC5B,KAAK,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAAa;IAC5C,MAAM,KAAK,GAAG,UAAU,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACtC,IAAI,CAAC,KAAK,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;AACrD,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,UAAU,EAAE,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC"}
|