@globus/sdk 4.4.0 → 5.0.0-rc.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/apps/web.d.ts +29 -0
- package/dist/cjs/apps/web.d.ts.map +1 -0
- package/dist/cjs/apps/web.js +51 -0
- package/dist/cjs/apps/web.js.map +1 -0
- package/dist/cjs/constants.d.ts +16 -0
- package/dist/cjs/constants.d.ts.map +1 -0
- package/dist/cjs/core/authorization/AuthorizationManager.d.ts +189 -0
- package/dist/cjs/core/authorization/AuthorizationManager.d.ts.map +1 -0
- package/dist/cjs/core/authorization/AuthorizationManager.js +361 -0
- package/dist/cjs/core/authorization/AuthorizationManager.js.map +1 -0
- package/dist/cjs/core/authorization/Event.d.ts +16 -0
- package/dist/cjs/core/authorization/Event.d.ts.map +1 -0
- package/dist/cjs/core/authorization/Event.js +48 -0
- package/dist/cjs/core/authorization/Event.js.map +1 -0
- package/dist/cjs/core/authorization/RedirectTransport.d.ts +26 -0
- package/dist/cjs/core/authorization/RedirectTransport.d.ts.map +1 -0
- package/dist/cjs/core/authorization/RedirectTransport.js +100 -0
- package/dist/cjs/core/authorization/RedirectTransport.js.map +1 -0
- package/dist/cjs/core/authorization/TokenLookup.d.ts +19 -0
- package/dist/cjs/core/authorization/TokenLookup.d.ts.map +1 -0
- package/dist/cjs/core/authorization/TokenLookup.js +86 -0
- package/dist/cjs/core/authorization/TokenLookup.js.map +1 -0
- package/dist/cjs/core/authorization/index.d.ts +14 -0
- package/dist/cjs/core/authorization/index.d.ts.map +1 -0
- package/dist/cjs/core/authorization/index.js +92 -106
- package/dist/cjs/core/authorization/index.js.map +3 -3
- package/dist/cjs/core/errors.d.ts +55 -0
- package/dist/cjs/core/errors.d.ts.map +1 -0
- package/dist/cjs/core/errors.js +65 -0
- package/dist/cjs/core/errors.js.map +1 -0
- package/dist/cjs/core/global.d.ts +72 -0
- package/dist/cjs/core/global.d.ts.map +1 -0
- package/dist/cjs/core/global.js +149 -0
- package/dist/cjs/core/global.js.map +1 -0
- package/dist/cjs/core/info/index.d.ts +23 -0
- package/dist/cjs/core/info/index.d.ts.map +1 -0
- package/dist/cjs/core/info/private.d.ts +26 -0
- package/dist/cjs/core/info/private.d.ts.map +1 -0
- package/dist/cjs/core/info/private.js +48 -0
- package/dist/cjs/core/info/private.js.map +1 -0
- package/dist/cjs/core/info/version.d.ts +2 -0
- package/dist/cjs/core/info/version.d.ts.map +1 -0
- package/dist/cjs/core/info/version.js +7 -0
- package/dist/cjs/core/info/version.js.map +1 -0
- package/dist/cjs/core/logger.d.ts +31 -0
- package/dist/cjs/core/logger.d.ts.map +1 -0
- package/dist/cjs/core/logger.js +53 -0
- package/dist/cjs/core/logger.js.map +1 -0
- package/dist/cjs/core/storage/index.d.ts +29 -0
- package/dist/cjs/core/storage/index.d.ts.map +1 -0
- package/dist/cjs/core/storage/index.js +42 -0
- package/dist/cjs/core/storage/index.js.map +1 -0
- package/dist/cjs/core/storage/local-storage.d.ts +10 -0
- package/dist/cjs/core/storage/local-storage.d.ts.map +1 -0
- package/dist/cjs/core/storage/local-storage.js +32 -0
- package/dist/cjs/core/storage/local-storage.js.map +1 -0
- package/dist/cjs/core/storage/memory.d.ts +10 -0
- package/dist/cjs/core/storage/memory.d.ts.map +1 -0
- package/dist/cjs/core/storage/memory.js +38 -0
- package/dist/cjs/core/storage/memory.js.map +1 -0
- package/dist/cjs/core/url.d.ts +31 -0
- package/dist/cjs/core/url.d.ts.map +1 -0
- package/dist/cjs/core/url.js +59 -0
- package/dist/cjs/core/url.js.map +1 -0
- package/dist/cjs/index.d.ts +76 -0
- package/dist/cjs/index.d.ts.map +1 -0
- package/dist/cjs/index.js +92 -106
- package/dist/cjs/index.js.map +3 -3
- package/dist/cjs/services/auth/config.d.ts +16 -0
- package/dist/cjs/services/auth/config.d.ts.map +1 -0
- package/dist/cjs/services/auth/config.js +31 -0
- package/dist/cjs/services/auth/config.js.map +1 -0
- package/dist/cjs/services/auth/index.d.ts +28 -0
- package/dist/cjs/services/auth/index.d.ts.map +1 -0
- package/dist/cjs/services/auth/index.js +65 -0
- package/dist/cjs/services/auth/index.js.map +1 -0
- package/dist/cjs/services/auth/service/identities.d.ts +21 -0
- package/dist/cjs/services/auth/service/identities.d.ts.map +1 -0
- package/dist/cjs/services/auth/service/identities.js +28 -0
- package/dist/cjs/services/auth/service/identities.js.map +1 -0
- package/dist/cjs/services/auth/service/oauth2/index.d.ts +5 -0
- package/dist/cjs/services/auth/service/oauth2/index.d.ts.map +1 -0
- package/dist/cjs/services/auth/service/oauth2/index.js +38 -0
- package/dist/cjs/services/auth/service/oauth2/index.js.map +1 -0
- package/dist/cjs/services/auth/service/oauth2/token.d.ts +53 -0
- package/dist/cjs/services/auth/service/oauth2/token.d.ts.map +1 -0
- package/dist/cjs/services/auth/service/oauth2/token.js +88 -0
- package/dist/cjs/services/auth/service/oauth2/token.js.map +1 -0
- package/dist/cjs/services/auth/types.d.ts +43 -0
- package/dist/cjs/services/auth/types.d.ts.map +1 -0
- package/dist/cjs/services/auth/types.js +3 -0
- package/dist/cjs/services/auth/types.js.map +1 -0
- package/dist/cjs/services/compute/config.d.ts +7 -0
- package/dist/cjs/services/compute/config.d.ts.map +1 -0
- package/dist/cjs/services/compute/config.js +16 -0
- package/dist/cjs/services/compute/config.js.map +1 -0
- package/dist/cjs/services/compute/index.d.ts +14 -0
- package/dist/cjs/services/compute/index.d.ts.map +1 -0
- package/dist/cjs/services/compute/index.js +40 -0
- package/dist/cjs/services/compute/index.js.map +1 -0
- package/dist/cjs/services/compute/service/endpoints.d.ts +20 -0
- package/dist/cjs/services/compute/service/endpoints.d.ts.map +1 -0
- package/dist/cjs/services/compute/service/endpoints.js +29 -0
- package/dist/cjs/services/compute/service/endpoints.js.map +1 -0
- package/dist/cjs/services/flows/config.d.ts +14 -0
- package/dist/cjs/services/flows/config.d.ts.map +1 -0
- package/dist/cjs/services/flows/config.js +23 -0
- package/dist/cjs/services/flows/config.js.map +1 -0
- package/dist/cjs/services/flows/index.d.ts +15 -0
- package/dist/cjs/services/flows/index.d.ts.map +1 -0
- package/dist/cjs/services/flows/index.js +41 -0
- package/dist/cjs/services/flows/index.js.map +1 -0
- package/dist/cjs/services/flows/service/flows.d.ts +40 -0
- package/dist/cjs/services/flows/service/flows.d.ts.map +1 -0
- package/dist/cjs/services/flows/service/flows.js +49 -0
- package/dist/cjs/services/flows/service/flows.js.map +1 -0
- package/dist/cjs/services/flows/service/runs.d.ts +31 -0
- package/dist/cjs/services/flows/service/runs.d.ts.map +1 -0
- package/dist/cjs/services/flows/service/runs.js +39 -0
- package/dist/cjs/services/flows/service/runs.js.map +1 -0
- package/dist/cjs/services/globus-connect-server/client.d.ts +1451 -0
- package/dist/cjs/services/globus-connect-server/client.d.ts.map +1 -0
- package/dist/cjs/services/globus-connect-server/constants.d.ts +22 -0
- package/dist/cjs/services/globus-connect-server/constants.d.ts.map +1 -0
- package/dist/cjs/services/globus-connect-server/constants.js +84 -0
- package/dist/cjs/services/globus-connect-server/constants.js.map +1 -0
- package/dist/cjs/services/globus-connect-server/index.d.ts +49 -0
- package/dist/cjs/services/globus-connect-server/index.d.ts.map +1 -0
- package/dist/cjs/services/globus-connect-server/index.js +45 -0
- package/dist/cjs/services/globus-connect-server/index.js.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/collections.d.ts +74 -0
- package/dist/cjs/services/globus-connect-server/service/collections.d.ts.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/collections.js +92 -0
- package/dist/cjs/services/globus-connect-server/service/collections.js.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/endpoint.d.ts +71 -0
- package/dist/cjs/services/globus-connect-server/service/endpoint.d.ts.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/endpoint.js +82 -0
- package/dist/cjs/services/globus-connect-server/service/endpoint.js.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/https.d.ts +35 -0
- package/dist/cjs/services/globus-connect-server/service/https.d.ts.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/https.js +38 -0
- package/dist/cjs/services/globus-connect-server/service/https.js.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/roles.d.ts +41 -0
- package/dist/cjs/services/globus-connect-server/service/roles.d.ts.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/roles.js +48 -0
- package/dist/cjs/services/globus-connect-server/service/roles.js.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/storage-gateways.d.ts +58 -0
- package/dist/cjs/services/globus-connect-server/service/storage-gateways.d.ts.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/storage-gateways.js +70 -0
- package/dist/cjs/services/globus-connect-server/service/storage-gateways.js.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/user-credentials.d.ts +59 -0
- package/dist/cjs/services/globus-connect-server/service/user-credentials.d.ts.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/user-credentials.js +70 -0
- package/dist/cjs/services/globus-connect-server/service/user-credentials.js.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/versioning.d.ts +14 -0
- package/dist/cjs/services/globus-connect-server/service/versioning.d.ts.map +1 -0
- package/dist/cjs/services/globus-connect-server/service/versioning.js +17 -0
- package/dist/cjs/services/globus-connect-server/service/versioning.js.map +1 -0
- package/dist/cjs/services/groups/config.d.ts +11 -0
- package/dist/cjs/services/groups/config.d.ts.map +1 -0
- package/dist/cjs/services/groups/config.js +20 -0
- package/dist/cjs/services/groups/config.js.map +1 -0
- package/dist/cjs/services/groups/index.d.ts +19 -0
- package/dist/cjs/services/groups/index.d.ts.map +1 -0
- package/dist/cjs/services/groups/index.js +45 -0
- package/dist/cjs/services/groups/index.js.map +1 -0
- package/dist/cjs/services/groups/service/groups.d.ts +23 -0
- package/dist/cjs/services/groups/service/groups.d.ts.map +1 -0
- package/dist/cjs/services/groups/service/groups.js +26 -0
- package/dist/cjs/services/groups/service/groups.js.map +1 -0
- package/dist/cjs/services/groups/service/membership.d.ts +13 -0
- package/dist/cjs/services/groups/service/membership.d.ts.map +1 -0
- package/dist/cjs/services/groups/service/membership.js +20 -0
- package/dist/cjs/services/groups/service/membership.js.map +1 -0
- package/dist/cjs/services/groups/service/policies.d.ts +13 -0
- package/dist/cjs/services/groups/service/policies.d.ts.map +1 -0
- package/dist/cjs/services/groups/service/policies.js +16 -0
- package/dist/cjs/services/groups/service/policies.js.map +1 -0
- package/dist/cjs/services/search/config.d.ts +12 -0
- package/dist/cjs/services/search/config.d.ts.map +1 -0
- package/dist/cjs/services/search/config.js +21 -0
- package/dist/cjs/services/search/config.js.map +1 -0
- package/dist/cjs/services/search/index.d.ts +17 -0
- package/dist/cjs/services/search/index.d.ts.map +1 -0
- package/dist/cjs/services/search/index.js +43 -0
- package/dist/cjs/services/search/index.js.map +1 -0
- package/dist/cjs/services/search/service/entry.d.ts +22 -0
- package/dist/cjs/services/search/service/entry.d.ts.map +1 -0
- package/dist/cjs/services/search/service/entry.js +19 -0
- package/dist/cjs/services/search/service/entry.js.map +1 -0
- package/dist/cjs/services/search/service/query.d.ts +158 -0
- package/dist/cjs/services/search/service/query.d.ts.map +1 -0
- package/dist/cjs/services/search/service/query.js +31 -0
- package/dist/cjs/services/search/service/query.js.map +1 -0
- package/dist/cjs/services/search/service/search-index.d.ts +131 -0
- package/dist/cjs/services/search/service/search-index.d.ts.map +1 -0
- package/dist/cjs/services/search/service/search-index.js +67 -0
- package/dist/cjs/services/search/service/search-index.js.map +1 -0
- package/dist/cjs/services/search/service/subject.d.ts +21 -0
- package/dist/cjs/services/search/service/subject.d.ts.map +1 -0
- package/dist/cjs/services/search/service/subject.js +19 -0
- package/dist/cjs/services/search/service/subject.js.map +1 -0
- package/dist/cjs/services/search/types.d.ts +12 -0
- package/dist/cjs/services/search/types.d.ts.map +1 -0
- package/dist/cjs/services/search/types.js +3 -0
- package/dist/cjs/services/search/types.js.map +1 -0
- package/dist/cjs/services/shared.d.ts +71 -0
- package/dist/cjs/services/shared.d.ts.map +1 -0
- package/dist/cjs/services/shared.js +183 -0
- package/dist/cjs/services/shared.js.map +1 -0
- package/dist/cjs/services/timer/config.d.ts +4 -0
- package/dist/cjs/services/timer/config.d.ts.map +1 -0
- package/dist/cjs/services/timer/config.js +13 -0
- package/dist/cjs/services/timer/config.js.map +1 -0
- package/dist/cjs/services/timer/index.d.ts +15 -0
- package/dist/cjs/services/timer/index.d.ts.map +1 -0
- package/dist/cjs/services/timer/index.js +41 -0
- package/dist/cjs/services/timer/index.js.map +1 -0
- package/dist/cjs/services/timer/service/timer.d.ts +6 -0
- package/dist/cjs/services/timer/service/timer.d.ts.map +1 -0
- package/dist/cjs/services/timer/service/timer.js +14 -0
- package/dist/cjs/services/timer/service/timer.js.map +1 -0
- package/dist/cjs/services/transfer/config.d.ts +7 -0
- package/dist/cjs/services/transfer/config.d.ts.map +1 -0
- package/dist/cjs/services/transfer/config.js +16 -0
- package/dist/cjs/services/transfer/config.js.map +1 -0
- package/dist/cjs/services/transfer/index.d.ts +23 -0
- package/dist/cjs/services/transfer/index.d.ts.map +1 -0
- package/dist/cjs/services/transfer/index.js +49 -0
- package/dist/cjs/services/transfer/index.js.map +1 -0
- package/dist/cjs/services/transfer/service/access.d.ts +73 -0
- package/dist/cjs/services/transfer/service/access.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/access.js +59 -0
- package/dist/cjs/services/transfer/service/access.js.map +1 -0
- package/dist/cjs/services/transfer/service/collection-bookmarks.d.ts +53 -0
- package/dist/cjs/services/transfer/service/collection-bookmarks.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/collection-bookmarks.js +59 -0
- package/dist/cjs/services/transfer/service/collection-bookmarks.js.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/endpoint.d.ts +43 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/endpoint.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/endpoint.js +47 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/endpoint.js.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/index.d.ts +4 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/index.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/index.js +30 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/index.js.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/pause-rule.d.ts +59 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/pause-rule.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/pause-rule.js +61 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/pause-rule.js.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/task.d.ts +96 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/task.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/task.js +110 -0
- package/dist/cjs/services/transfer/service/endpoint-manager/task.js.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint-search.d.ts +15 -0
- package/dist/cjs/services/transfer/service/endpoint-search.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint-search.js +29 -0
- package/dist/cjs/services/transfer/service/endpoint-search.js.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint.d.ts +61 -0
- package/dist/cjs/services/transfer/service/endpoint.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/endpoint.js +71 -0
- package/dist/cjs/services/transfer/service/endpoint.js.map +1 -0
- package/dist/cjs/services/transfer/service/file-operations.d.ts +114 -0
- package/dist/cjs/services/transfer/service/file-operations.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/file-operations.js +88 -0
- package/dist/cjs/services/transfer/service/file-operations.js.map +1 -0
- package/dist/cjs/services/transfer/service/task-submission.d.ts +85 -0
- package/dist/cjs/services/transfer/service/task-submission.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/task-submission.js +53 -0
- package/dist/cjs/services/transfer/service/task-submission.js.map +1 -0
- package/dist/cjs/services/transfer/service/task.d.ts +106 -0
- package/dist/cjs/services/transfer/service/task.d.ts.map +1 -0
- package/dist/cjs/services/transfer/service/task.js +101 -0
- package/dist/cjs/services/transfer/service/task.js.map +1 -0
- package/dist/cjs/services/transfer/shared.d.ts +3 -0
- package/dist/cjs/services/transfer/shared.d.ts.map +1 -0
- package/dist/cjs/services/transfer/shared.js +13 -0
- package/dist/cjs/services/transfer/shared.js.map +1 -0
- package/dist/cjs/services/transfer/types.d.ts +364 -0
- package/dist/cjs/services/transfer/types.d.ts.map +1 -0
- package/dist/cjs/services/transfer/types.js +3 -0
- package/dist/cjs/services/transfer/types.js.map +1 -0
- package/dist/cjs/services/transfer/utils.d.ts +28 -0
- package/dist/cjs/services/transfer/utils.d.ts.map +1 -0
- package/dist/cjs/services/transfer/utils.js +98 -0
- package/dist/cjs/services/transfer/utils.js.map +1 -0
- package/dist/cjs/services/types.d.ts +84 -0
- package/dist/cjs/services/types.d.ts.map +1 -0
- package/dist/cjs/services/types.js +3 -0
- package/dist/cjs/services/types.js.map +1 -0
- package/dist/esm/core/authorization/AuthorizationManager.d.ts +21 -7
- package/dist/esm/core/authorization/AuthorizationManager.d.ts.map +1 -1
- package/dist/esm/core/authorization/AuthorizationManager.js +42 -15
- package/dist/esm/core/authorization/AuthorizationManager.js.map +1 -1
- package/dist/esm/core/authorization/PopupTransport.d.ts +27 -0
- package/dist/esm/core/authorization/PopupTransport.d.ts.map +1 -0
- package/dist/esm/core/authorization/PopupTransport.js +157 -0
- package/dist/esm/core/authorization/PopupTransport.js.map +1 -0
- package/dist/esm/core/authorization/TokenLookup.d.ts.map +1 -1
- package/dist/esm/core/authorization/TokenLookup.js +4 -6
- package/dist/esm/core/authorization/TokenLookup.js.map +1 -1
- package/dist/esm/core/authorization/TokenManager.d.ts +50 -0
- package/dist/esm/core/authorization/TokenManager.d.ts.map +1 -0
- package/dist/esm/core/authorization/TokenManager.js +112 -0
- package/dist/esm/core/authorization/TokenManager.js.map +1 -0
- package/dist/esm/core/storage/index.d.ts +3 -13
- package/dist/esm/core/storage/index.d.ts.map +1 -1
- package/dist/esm/core/storage/index.js +10 -6
- package/dist/esm/core/storage/index.js.map +1 -1
- package/dist/esm/core/storage/memory.d.ts +10 -6
- package/dist/esm/core/storage/memory.d.ts.map +1 -1
- package/dist/esm/core/storage/memory.js +13 -6
- package/dist/esm/core/storage/memory.js.map +1 -1
- package/dist/esm/services/flows/types.d.ts +15 -0
- package/dist/esm/services/flows/types.d.ts.map +1 -0
- package/dist/esm/services/flows/types.js +2 -0
- package/dist/esm/services/flows/types.js.map +1 -0
- package/dist/umd/globus.production.js +2 -2
- package/dist/umd/globus.production.js.map +4 -4
- package/package.json +2 -2
|
@@ -1,9 +1,11 @@
|
|
|
1
|
-
import { StorageOptions } from '../storage/index.js';
|
|
2
1
|
import { Event } from './Event.js';
|
|
3
|
-
import { RedirectTransportOptions, GetTokenOptions } from './RedirectTransport.js';
|
|
4
|
-
import {
|
|
2
|
+
import { RedirectTransportOptions, GetTokenOptions, RedirectTransport } from './RedirectTransport.js';
|
|
3
|
+
import { TokenManager } from './TokenManager.js';
|
|
5
4
|
import { AuthorizationRequirementsError, ConsentRequiredError } from '../errors.js';
|
|
6
5
|
import type { JwtUserInfo, Token, TokenResponse, TokenWithRefresh } from '../../services/auth/types.js';
|
|
6
|
+
declare const TRANSPORTS: {
|
|
7
|
+
redirect: typeof RedirectTransport;
|
|
8
|
+
};
|
|
7
9
|
export type AuthorizationManagerConfiguration = {
|
|
8
10
|
client: string;
|
|
9
11
|
scopes?: string;
|
|
@@ -11,10 +13,16 @@ export type AuthorizationManagerConfiguration = {
|
|
|
11
13
|
/**
|
|
12
14
|
* The storage system used by the `AuthorizationManager`.
|
|
13
15
|
*
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
+
* By default, the `AuthorizationManager` uses an in-memory storage, this option is secure by default.
|
|
17
|
+
*
|
|
18
|
+
* If you want to persist the state of the `AuthorizationManager`, you can use `localStorage`, or provide your own storage system.
|
|
19
|
+
* **It is important to note that using the `localStorage`, or any persistant storage option will preserve authorization and refresh tokens of users.**
|
|
20
|
+
* Best practices for ensuring the security of your application should be followed to protect this data (e.g., ensuring XSS protection).
|
|
21
|
+
*
|
|
22
|
+
* @default MemoryStorage
|
|
16
23
|
*/
|
|
17
|
-
storage?:
|
|
24
|
+
storage?: Storage;
|
|
25
|
+
transport?: keyof typeof TRANSPORTS;
|
|
18
26
|
/**
|
|
19
27
|
* @private
|
|
20
28
|
* @default DEFAULT_CONFIGURATION.useRefreshTokens
|
|
@@ -68,6 +76,11 @@ export type AuthorizationManagerConfiguration = {
|
|
|
68
76
|
export declare class AuthorizationManager {
|
|
69
77
|
#private;
|
|
70
78
|
configuration: AuthorizationManagerConfiguration;
|
|
79
|
+
/**
|
|
80
|
+
* The storage system used by the `AuthorizationManager`.
|
|
81
|
+
* @implements Storage
|
|
82
|
+
*/
|
|
83
|
+
storage: Storage;
|
|
71
84
|
/**
|
|
72
85
|
* The `AuthorizationManager` is considered `authenticated` if it has a valid Globus Auth token.
|
|
73
86
|
* It does not necessarily mean that it has a valid token for a specific resource server.
|
|
@@ -77,7 +90,7 @@ export declare class AuthorizationManager {
|
|
|
77
90
|
* Set the authenticated state and emit the `authenticated` event.
|
|
78
91
|
*/
|
|
79
92
|
set authenticated(value: boolean);
|
|
80
|
-
tokens:
|
|
93
|
+
tokens: TokenManager;
|
|
81
94
|
events: {
|
|
82
95
|
/**
|
|
83
96
|
* Emitted when the authenticated state changes.
|
|
@@ -201,4 +214,5 @@ export declare class AuthorizationManager {
|
|
|
201
214
|
*/
|
|
202
215
|
revoke(): Promise<void>;
|
|
203
216
|
}
|
|
217
|
+
export {};
|
|
204
218
|
//# sourceMappingURL=AuthorizationManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationManager.d.ts","sourceRoot":"","sources":["../../../../src/core/authorization/AuthorizationManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthorizationManager.d.ts","sourceRoot":"","sources":["../../../../src/core/authorization/AuthorizationManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,19 +18,36 @@ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (
|
|
|
18
18
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
19
19
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
20
20
|
};
|
|
21
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
22
|
+
var t = {};
|
|
23
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
24
|
+
t[p] = s[p];
|
|
25
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
26
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
27
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
28
|
+
t[p[i]] = s[p[i]];
|
|
29
|
+
}
|
|
30
|
+
return t;
|
|
31
|
+
};
|
|
21
32
|
var _AuthorizationManager_instances, _AuthorizationManager_transport, _AuthorizationManager_authenticated, _AuthorizationManager_checkAuthorizationState, _AuthorizationManager_emitAuthenticatedState, _AuthorizationManager_withOfflineAccess, _AuthorizationManager_buildTransport, _AuthorizationManager_revokeToken;
|
|
22
33
|
import { jwtDecode } from 'jwt-decode';
|
|
23
34
|
import { isGlobusAuthTokenResponse, isRefreshToken, oauth2 } from '../../services/auth/index.js';
|
|
24
35
|
import { RESOURCE_SERVERS } from '../../services/auth/config.js';
|
|
25
|
-
import { createStorage, getStorage } from '../storage/index.js';
|
|
26
36
|
import { log } from '../logger.js';
|
|
27
37
|
import { Event } from './Event.js';
|
|
28
38
|
import { RedirectTransport, } from './RedirectTransport.js';
|
|
29
|
-
import {
|
|
39
|
+
import { TokenManager } from './TokenManager.js';
|
|
30
40
|
import { isConsentRequiredError, isAuthorizationRequirementsError, toAuthorizationQueryParams, } from '../errors.js';
|
|
41
|
+
import { MemoryStorage } from '../storage/memory.js';
|
|
42
|
+
// import { PopupTransport } from './PopupTransport.js';
|
|
43
|
+
const TRANSPORTS = {
|
|
44
|
+
redirect: RedirectTransport,
|
|
45
|
+
// popup: PopupTransport,
|
|
46
|
+
};
|
|
31
47
|
const DEFAULT_CONFIGURATION = {
|
|
32
48
|
useRefreshTokens: false,
|
|
33
49
|
defaultScopes: 'openid profile email',
|
|
50
|
+
transport: 'redirect',
|
|
34
51
|
};
|
|
35
52
|
const DEFAULT_HANDLE_ERROR_OPTIONS = {
|
|
36
53
|
execute: true,
|
|
@@ -89,6 +106,9 @@ export class AuthorizationManager {
|
|
|
89
106
|
__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_emitAuthenticatedState).call(this);
|
|
90
107
|
}
|
|
91
108
|
constructor(configuration) {
|
|
109
|
+
/**
|
|
110
|
+
* Configure the storage system for the instance, defaulting to an in-memory storage system.
|
|
111
|
+
*/
|
|
92
112
|
var _a;
|
|
93
113
|
_AuthorizationManager_instances.add(this);
|
|
94
114
|
_AuthorizationManager_transport.set(this, void 0);
|
|
@@ -117,7 +137,6 @@ export class AuthorizationManager {
|
|
|
117
137
|
this.tokens.add(token);
|
|
118
138
|
__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_checkAuthorizationState).call(this);
|
|
119
139
|
};
|
|
120
|
-
createStorage(configuration.storage || 'localStorage');
|
|
121
140
|
if (!configuration.client) {
|
|
122
141
|
throw new Error('You must provide a `client` for your application.');
|
|
123
142
|
}
|
|
@@ -131,6 +150,7 @@ export class AuthorizationManager {
|
|
|
131
150
|
this.configuration = Object.assign(Object.assign(Object.assign({}, DEFAULT_CONFIGURATION), configuration), { scopes: [configuration.scopes ? configuration.scopes : '', scopes]
|
|
132
151
|
.filter((s) => s.length)
|
|
133
152
|
.join(' ') });
|
|
153
|
+
this.storage = configuration.storage || new MemoryStorage();
|
|
134
154
|
/**
|
|
135
155
|
* If an `events` object is provided, add the listeners to the instance before
|
|
136
156
|
* any event might be dispatched.
|
|
@@ -142,7 +162,7 @@ export class AuthorizationManager {
|
|
|
142
162
|
}
|
|
143
163
|
});
|
|
144
164
|
}
|
|
145
|
-
this.tokens = new
|
|
165
|
+
this.tokens = new TokenManager({
|
|
146
166
|
manager: this,
|
|
147
167
|
});
|
|
148
168
|
__classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_checkAuthorizationState).call(this);
|
|
@@ -217,7 +237,7 @@ export class AuthorizationManager {
|
|
|
217
237
|
* Retrieve the Globus Auth token managed by the instance.
|
|
218
238
|
*/
|
|
219
239
|
getGlobusAuthToken() {
|
|
220
|
-
const entry =
|
|
240
|
+
const entry = this.storage.getItem(`${this.storageKeyPrefix}${RESOURCE_SERVERS.AUTH}`);
|
|
221
241
|
return entry ? JSON.parse(entry) : null;
|
|
222
242
|
}
|
|
223
243
|
/**
|
|
@@ -225,11 +245,9 @@ export class AuthorizationManager {
|
|
|
225
245
|
* This method **does not** emit the `revoke` event. If you need to emit the `revoke` event, use the `AuthorizationManager.revoke` method.
|
|
226
246
|
*/
|
|
227
247
|
reset() {
|
|
228
|
-
|
|
229
|
-
.keys()
|
|
230
|
-
.forEach((key) => {
|
|
248
|
+
Object.keys(this.storage).forEach((key) => {
|
|
231
249
|
if (key.startsWith(this.storageKeyPrefix)) {
|
|
232
|
-
|
|
250
|
+
this.storage.removeItem(key);
|
|
233
251
|
}
|
|
234
252
|
});
|
|
235
253
|
this.authenticated = false;
|
|
@@ -367,12 +385,21 @@ _AuthorizationManager_transport = new WeakMap(), _AuthorizationManager_authentic
|
|
|
367
385
|
});
|
|
368
386
|
}, _AuthorizationManager_withOfflineAccess = function _AuthorizationManager_withOfflineAccess(scopes) {
|
|
369
387
|
return `${scopes}${this.configuration.useRefreshTokens ? ' offline_access' : ''}`;
|
|
370
|
-
}, _AuthorizationManager_buildTransport = function _AuthorizationManager_buildTransport(
|
|
371
|
-
|
|
372
|
-
const
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
388
|
+
}, _AuthorizationManager_buildTransport = function _AuthorizationManager_buildTransport(options) {
|
|
389
|
+
const _a = options !== null && options !== void 0 ? options : {}, { scopes } = _a, overrides = __rest(_a, ["scopes"]);
|
|
390
|
+
const TransportFactory = TRANSPORTS[this.configuration.transport || 'redirect'];
|
|
391
|
+
let scopesToRequest = __classPrivateFieldGet(this, _AuthorizationManager_instances, "m", _AuthorizationManager_withOfflineAccess).call(this, scopes !== null && scopes !== void 0 ? scopes : (this.configuration.scopes || ''));
|
|
392
|
+
if (this.storage instanceof MemoryStorage) {
|
|
393
|
+
/**
|
|
394
|
+
* If the in-memory storage is used, we have to make sure when requesting additional
|
|
395
|
+
* consent the original configured scopes are included in the request.
|
|
396
|
+
*
|
|
397
|
+
* This will ensure we recieve a token for all of resource servers that were originally requested,
|
|
398
|
+
* in addition to any new scopes that are requested.
|
|
399
|
+
*/
|
|
400
|
+
scopesToRequest = `${scopesToRequest} ${this.configuration.scopes}`;
|
|
401
|
+
}
|
|
402
|
+
return new TransportFactory(Object.assign(Object.assign({ client: this.configuration.client, redirect: this.configuration.redirect, scopes: scopesToRequest }, overrides), { params: Object.assign({}, overrides === null || overrides === void 0 ? void 0 : overrides.params) }));
|
|
376
403
|
}, _AuthorizationManager_revokeToken = function _AuthorizationManager_revokeToken(token) {
|
|
377
404
|
log('debug', `AuthorizationManager.revokeToken | resource_server=${token.resource_server}`);
|
|
378
405
|
return oauth2.token.revoke({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationManager.js","sourceRoot":"","sources":["../../../../src/core/authorization/AuthorizationManager.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthorizationManager.js","sourceRoot":"","sources":["../../../../src/core/authorization/AuthorizationManager.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEvC,OAAO,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAGL,iBAAiB,GAClB,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,sBAAsB,EACtB,gCAAgC,EAGhC,0BAA0B,GAC3B,MAAM,cAAc,CAAC;AAQtB,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,wDAAwD;AAExD,MAAM,UAAU,GAAG;IACjB,QAAQ,EAAE,iBAAiB;IAC3B,yBAAyB;CAC1B,CAAC;AAyCF,MAAM,qBAAqB,GAAG;IAC5B,gBAAgB,EAAE,KAAK;IACvB,aAAa,EAAE,sBAAsB;IACrC,SAAS,EAAE,UAAmB;CAC/B,CAAC;AAEF,MAAM,4BAA4B,GAAG;IACnC,OAAO,EAAE,IAAI;IACb,gBAAgB,EAAE,SAAS;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,OAAO,oBAAoB;IAa/B;;;OAGG;IACH,IAAI,aAAa;QACf,OAAO,uBAAA,IAAI,2CAAe,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,IAAI,aAAa,CAAC,KAAc;QAC9B;;WAEG;QACH,IAAI,KAAK,KAAK,uBAAA,IAAI,2CAAe,EAAE,CAAC;YAClC,OAAO;QACT,CAAC;QACD,uBAAA,IAAI,uCAAkB,KAAK,MAAA,CAAC;QAC5B,uBAAA,IAAI,qFAAwB,MAA5B,IAAI,CAA0B,CAAC;IACjC,CAAC;IA8BD,YAAY,aAAgD;QAC1D;;WAEG;;;QAjEL,kDAA+B;QAU/B,8CAAiB,KAAK,EAAC;QA0BvB,WAAM,GAAG;YACP;;;;;;eAMG;YACH,aAAa,EAAE,IAAI,KAAK,CAUtB,eAAe,CAAC;YAClB;;;eAGG;YACH,MAAM,EAAE,IAAI,KAAK,CAAC,QAAQ,CAAC;SAC5B,CAAC;QAwVF;;;;WAIG;QACH,qBAAgB,GAAG,CAAC,KAA4B,EAAE,EAAE;YAClD,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACvB,uBAAA,IAAI,sFAAyB,MAA7B,IAAI,CAA2B,CAAC;QAClC,CAAC,CAAC;QAzVA,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC1B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QACD;;;WAGG;QACH,MAAM,MAAM,GACV,aAAa,CAAC,aAAa,KAAK,KAAK;YACnC,CAAC,CAAC,EAAE;YACJ,CAAC,CAAC,CAAC,MAAA,aAAa,CAAC,aAAa,mCAAI,qBAAqB,CAAC,aAAa,CAAC,CAAC;QAE3E,IAAI,CAAC,aAAa,iDACb,qBAAqB,GACrB,aAAa,KAChB,MAAM,EAAE,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,CAAC;iBAC/D,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;iBACvB,IAAI,CAAC,GAAG,CAAC,GACb,CAAC;QAEF,IAAI,CAAC,OAAO,GAAG,aAAa,CAAC,OAAO,IAAI,IAAI,aAAa,EAAE,CAAC;QAE5D;;;WAGG;QACH,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;YAC9B,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACrE,IAAI,IAAI,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,IAA4C,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;gBAClF,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC;YAC7B,OAAO,EAAE,IAAI;SACd,CAAC,CAAC;QACH,uBAAA,IAAI,sFAAyB,MAA7B,IAAI,CAA2B,CAAC;IAClC,CAAC;IAED,IAAI,gBAAgB;QAClB,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,CAAC;IACzC,CAAC;IAED;;;;;;;;;OASG;IACH,IAAI,IAAI;QACN,MAAM,KAAK,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACxC,OAAO,KAAK,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAc,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACjF,CAAC;IAED;;;OAGG;IACG,aAAa;;YACjB,GAAG,CAAC,OAAO,EAAE,oCAAoC,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CACrC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;gBACjC,IAAI,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC;oBAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAClC,CAAC;gBACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC,CAAC,CACH,CAAC;YACF,uBAAA,IAAI,sFAAyB,MAA7B,IAAI,CAA2B,CAAC;YAChC,OAAO,MAAM,CAAC;QAChB,CAAC;KAAA;IAED;;;OAGG;IACG,YAAY,CAAC,KAAuB;;YACxC,GAAG,CAAC,OAAO,EAAE,uDAAuD,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;YAC7F,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,CACrB,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC;oBACzB,OAAO,EAAE;wBACP,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;wBACpC,aAAa,EAAE,KAAK,CAAC,aAAa;wBAClC,UAAU,EAAE,eAAe;qBAC5B;iBACF,CAAC,CACH,CAAC,IAAI,EAAE,CAAC;gBACT,IAAI,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;oBACxC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;oBAChC,OAAO,QAAQ,CAAC;gBAClB,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,GAAG,CAAC,OAAO,EAAE,uDAAuD,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;YAC/F,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;KAAA;IAED;;OAEG;IACH,kBAAkB;QAChB,OAAO,IAAI,CAAC,kBAAkB,EAAE,KAAK,IAAI,CAAC;IAC5C,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC;QACvF,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC1C,CAAC;IAkBD;;;OAGG;IACH,KAAK;QACH,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACxC,IAAI,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;IAwCD;;;;;;OAMG;IACG,KAAK;6DAAC,OAAO,GAAG,EAAE,gBAAgB,EAAE,EAAE,EAAE;YAC5C,GAAG,CAAC,OAAO,EAAE,4BAA4B,CAAC,CAAC;YAC3C,IAAI,CAAC,KAAK,EAAE,CAAC;YACb;;eAEG;YACH,MAAM,SAAS,GAAG,uBAAA,IAAI,6EAAgB,MAApB,IAAI,EAAiB,EAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,EAAE,CAAC,CAAC;YAC9E,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;KAAA;IAED;;OAEG;IACG,MAAM,CAAC,OAA2C;;YACtD,GAAG,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;YAC5C,MAAM,SAAS,GAAG,uBAAA,IAAI,6EAAgB,MAApB,IAAI,EAAiB,OAAO,CAAC,CAAC;YAChD,MAAM,SAAS,CAAC,IAAI,EAAE,CAAC;QACzB,CAAC;KAAA;IAED;;OAEG;IACG,kBAAkB;6DACtB,UAGI,EAAE,aAAa,EAAE,IAAI,EAAE,gBAAgB,EAAE,EAAE,EAAE;YAEjD,GAAG,CAAC,OAAO,EAAE,yCAAyC,CAAC,CAAC;YACxD,MAAM,QAAQ,GAAG,MAAM,uBAAA,IAAI,6EAAgB,MAApB,IAAI,EAAiB,EAAE,MAAM,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,EAAE,CAAC,CAAC,QAAQ,CAAC;gBAC1F,aAAa,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,aAAa;aACtC,CAAC,CAAC;YACH,IAAI,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,GAAG,CACD,OAAO,EACP,sDAAsD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CACjF,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAClC,CAAC;YACD,OAAO,QAAQ,CAAC;QAClB,CAAC;KAAA;IAmBK,mBAAmB,CACvB,QAAiC,EACjC,OAEW;;YAEX,MAAM,IAAI,GACR,OAAO,OAAO,KAAK,SAAS;gBAC1B,CAAC,iCACM,4BAA4B,KAC/B,OAAO,EAAE,OAAO,IAEpB,CAAC,iCACM,4BAA4B,GAC5B,OAAO,CACX,CAAC;YACR,GAAG,CACD,OAAO,EACP,uDAAuD,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,YAAY,IAAI,CAAC,OAAO,EAAE,CAC1G,CAAC;YACF,IAAI,OAAO,GAAG,GAAS,EAAE,gDAAE,CAAC,CAAA,CAAC;YAC7B,IAAI,gCAAgC,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC/C,GAAG,CACD,OAAO,EACP,iFAAiF,CAClF,CAAC;gBACF,OAAO,GAAG,GAAS,EAAE;oBACnB,MAAM,IAAI,CAAC,oCAAoC,CAAC,QAAQ,EAAE;wBACxD,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;qBACxC,CAAC,CAAC;gBACL,CAAC,CAAA,CAAC;YACJ,CAAC;YACD,IAAI,sBAAsB,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBACtF,OAAO,GAAG,GAAS,EAAE;oBACnB,MAAM,IAAI,CAAC,0BAA0B,CAAC,QAAQ,EAAE;wBAC9C,gBAAgB,EAAE,IAAI,CAAC,gBAAgB;qBACxC,CAAC,CAAC;gBACL,CAAC,CAAA,CAAC;YACJ,CAAC;YACD,IAAI,MAAM,IAAI,QAAQ,IAAI,QAAQ,CAAC,MAAM,CAAC,KAAK,sBAAsB,EAAE,CAAC;gBACtE,GAAG,CAAC,OAAO,EAAE,uEAAuE,CAAC,CAAC;gBACtF,OAAO,GAAG,GAAS,EAAE;oBACnB,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;gBACtB,CAAC,CAAA,CAAC;YACJ,CAAC;YAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC;YACtE,OAAO,WAAW,CAAC;QACrB,CAAC;KAAA;IAED;;;OAGG;IACG,oCAAoC,CACxC,QAAwC,EACxC,OAAmE;;YAEnE,uBAAA,IAAI,mCAAc,uBAAA,IAAI,6EAAgB,MAApB,IAAI,EAAiB;gBACrC,MAAM,gCACJ,MAAM,EAAE,OAAO,IACZ,0BAA0B,CAAC,QAAQ,CAAC,GACpC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAC7B;aACF,CAAC,MAAA,CAAC;YACH,MAAM,uBAAA,IAAI,uCAAW,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;KAAA;IAED;;;OAGG;IACG,0BAA0B,CAC9B,QAA8B,EAC9B,OAAmE;;YAEnE,uBAAA,IAAI,mCAAc,uBAAA,IAAI,6EAAgB,MAApB,IAAI,EAAiB;gBACrC,MAAM,EAAE,uBAAA,IAAI,gFAAmB,MAAvB,IAAI,EAAoB,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACnE,MAAM,oBACD,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,gBAAgB,CAC7B;aACF,CAAC,MAAA,CAAC;YACH,MAAM,uBAAA,IAAI,uCAAW,CAAC,IAAI,EAAE,CAAC;QAC/B,CAAC;KAAA;IAYD;;;;OAIG;IACG,MAAM;;YACV,GAAG,CAAC,OAAO,EAAE,6BAA6B,CAAC,CAAC;YAC5C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,uBAAA,IAAI,0EAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACvF,IAAI,CAAC,KAAK,EAAE,CAAC;YACb,MAAM,UAAU,CAAC;YACjB,MAAM,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtC,CAAC;KAAA;CAcF;;IA7PG,GAAG,CAAC,OAAO,EAAE,+CAA+C,CAAC,CAAC;IAC9D,IAAI,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;IAC5B,CAAC;AACH,CAAC;;;QAGC,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC;QAC3C,MAAM,KAAK,GAAG,MAAA,IAAI,CAAC,kBAAkB,EAAE,mCAAI,SAAS,CAAC;QACrD,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAC;YACvC,eAAe;YACf,KAAK;SACN,CAAC,CAAC;IACL,CAAC;8FAmBkB,MAAc;IAC/B,OAAO,GAAG,MAAM,GAAG,IAAI,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;AACpF,CAAC,uFAEe,OAA2C;IACzD,MAAM,KAA2B,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE,EAAxC,EAAE,MAAM,OAAgC,EAA3B,SAAS,cAAtB,UAAwB,CAAgB,CAAC;IAC/C,MAAM,gBAAgB,GAAG,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,IAAI,UAAU,CAAC,CAAC;IAEhF,IAAI,eAAe,GAAG,uBAAA,IAAI,gFAAmB,MAAvB,IAAI,EAAoB,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC;IAE3F,IAAI,IAAI,CAAC,OAAO,YAAY,aAAa,EAAE,CAAC;QAC1C;;;;;;WAMG;QACH,eAAe,GAAG,GAAG,eAAe,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;IACtE,CAAC;IAED,OAAO,IAAI,gBAAgB,+BACzB,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM,EACjC,QAAQ,EAAE,IAAI,CAAC,aAAa,CAAC,QAAQ,EACrC,MAAM,EAAE,eAAe,IACpB,SAAS,KACZ,MAAM,oBAGD,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,KAEtB,CAAC;AACL,CAAC,iFAoLY,KAAY;IACvB,GAAG,CAAC,OAAO,EAAE,sDAAsD,KAAK,CAAC,eAAe,EAAE,CAAC,CAAC;IAC5F,OAAO,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;QACzB,OAAO,EAAE;YACP,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;YACpC,KAAK,EAAE,KAAK,CAAC,YAAY;SAC1B;KACF,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { RedirectTransportOptions } from './RedirectTransport.js';
|
|
2
|
+
export type GetTokenOptions = {
|
|
3
|
+
/**
|
|
4
|
+
* Whether or not the URL should be replaced after processing the token.
|
|
5
|
+
* @default true
|
|
6
|
+
*/
|
|
7
|
+
shouldReplace?: boolean;
|
|
8
|
+
};
|
|
9
|
+
export type PopupTransportOptions = RedirectTransportOptions;
|
|
10
|
+
/**
|
|
11
|
+
* @private
|
|
12
|
+
*/
|
|
13
|
+
export declare const KEYS: {
|
|
14
|
+
PKCE_STATE: string;
|
|
15
|
+
PKCE_CODE_VERIFIER: string;
|
|
16
|
+
};
|
|
17
|
+
export declare class PopupTransport {
|
|
18
|
+
#private;
|
|
19
|
+
constructor(options: PopupTransportOptions);
|
|
20
|
+
static supported: false | (((url?: string | URL, target?: string, features?: string) => WindowProxy | null) & typeof open);
|
|
21
|
+
/**
|
|
22
|
+
* For the redirect transport, sending the request will redirect the user to the authorization endpoint, initiating the OAuth flow.
|
|
23
|
+
*/
|
|
24
|
+
send(): Promise<unknown>;
|
|
25
|
+
getToken(): void;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=PopupTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopupTransport.d.ts","sourceRoot":"","sources":["../../../../src/core/authorization/PopupTransport.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAC;AAEvE,MAAM,MAAM,eAAe,GAAG;IAC5B;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,qBAAqB,GAAG,wBAAwB,CAAC;AAI7D;;GAEG;AACH,eAAO,MAAM,IAAI;;;CAGhB,CAAC;AAOF,qBAAa,cAAc;;gBAKb,OAAO,EAAE,qBAAqB;IAO1C,MAAM,CAAC,SAAS,2GAA0C;IAE1D;;OAEG;IACG,IAAI;IAwHV,QAAQ;CAaT"}
|
|
@@ -0,0 +1,157 @@
|
|
|
1
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
+
});
|
|
9
|
+
};
|
|
10
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
11
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
12
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
13
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
14
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
15
|
+
};
|
|
16
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
17
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
18
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
19
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
20
|
+
};
|
|
21
|
+
var _PopupTransport_instances, _PopupTransport_options, _PopupTransport_window, _PopupTransport_getToken;
|
|
22
|
+
import { getAuthorizationEndpoint, oauth2 } from '../../services/auth/index.js';
|
|
23
|
+
import { generateCodeChallenge, generateCodeVerifier, generateState, isSupported, } from './pkce.js';
|
|
24
|
+
const MESSAGE_SOURCE = 'globus-sdk';
|
|
25
|
+
/**
|
|
26
|
+
* @private
|
|
27
|
+
*/
|
|
28
|
+
export const KEYS = {
|
|
29
|
+
PKCE_STATE: 'pkce_state',
|
|
30
|
+
PKCE_CODE_VERIFIER: 'pkce_code_verifier',
|
|
31
|
+
};
|
|
32
|
+
function resetPKCE() {
|
|
33
|
+
sessionStorage.removeItem(KEYS.PKCE_STATE);
|
|
34
|
+
sessionStorage.removeItem(KEYS.PKCE_CODE_VERIFIER);
|
|
35
|
+
}
|
|
36
|
+
export class PopupTransport {
|
|
37
|
+
constructor(options) {
|
|
38
|
+
_PopupTransport_instances.add(this);
|
|
39
|
+
_PopupTransport_options.set(this, void 0);
|
|
40
|
+
_PopupTransport_window.set(this, null);
|
|
41
|
+
__classPrivateFieldSet(this, _PopupTransport_options, options, "f");
|
|
42
|
+
if (PopupTransport.supported === false) {
|
|
43
|
+
throw new Error('PopupTransport is not supported in this environment.');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* For the redirect transport, sending the request will redirect the user to the authorization endpoint, initiating the OAuth flow.
|
|
48
|
+
*/
|
|
49
|
+
send() {
|
|
50
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
var _a, _b, _c, _d;
|
|
52
|
+
/**
|
|
53
|
+
* Since we'll be using PKCE, we need to generate a code verifier and challenge
|
|
54
|
+
* for the OAuth handshake.
|
|
55
|
+
*/
|
|
56
|
+
const verifier = generateCodeVerifier();
|
|
57
|
+
const challenge = yield generateCodeChallenge(verifier);
|
|
58
|
+
/**
|
|
59
|
+
* If there is caller-provided `state`, use it; Otherwise, generate a state parameter.
|
|
60
|
+
*/
|
|
61
|
+
const state = (_b = (_a = __classPrivateFieldGet(this, _PopupTransport_options, "f").params) === null || _a === void 0 ? void 0 : _a['state']) !== null && _b !== void 0 ? _b : generateState();
|
|
62
|
+
/**
|
|
63
|
+
* The verifier and state are stored in session storage so that we can validate
|
|
64
|
+
* the response when we receive it.
|
|
65
|
+
*/
|
|
66
|
+
sessionStorage.setItem(KEYS.PKCE_CODE_VERIFIER, verifier);
|
|
67
|
+
sessionStorage.setItem(KEYS.PKCE_STATE, state);
|
|
68
|
+
const params = Object.assign({ response_type: 'code', client_id: __classPrivateFieldGet(this, _PopupTransport_options, "f").client, scope: __classPrivateFieldGet(this, _PopupTransport_options, "f").scopes || '', redirect_uri: __classPrivateFieldGet(this, _PopupTransport_options, "f").redirect, state, code_challenge: challenge, code_challenge_method: 'S256' }, (__classPrivateFieldGet(this, _PopupTransport_options, "f").params || {}));
|
|
69
|
+
const url = new URL(getAuthorizationEndpoint());
|
|
70
|
+
url.search = new URLSearchParams(params).toString();
|
|
71
|
+
__classPrivateFieldSet(this, _PopupTransport_window, window.open(undefined, '_blank', 'width=600,height=800'), "f");
|
|
72
|
+
const promise = new Promise((resolve, reject) => {
|
|
73
|
+
window.addEventListener('message', (e) => __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
var _a;
|
|
75
|
+
const data = e.data;
|
|
76
|
+
if (e.origin !== window.location.origin || (data === null || data === void 0 ? void 0 : data.source) !== MESSAGE_SOURCE) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
(_a = __classPrivateFieldGet(this, _PopupTransport_window, "f")) === null || _a === void 0 ? void 0 : _a.close();
|
|
80
|
+
const response = yield __classPrivateFieldGet(this, _PopupTransport_instances, "m", _PopupTransport_getToken).call(this, data.url);
|
|
81
|
+
resolve(response);
|
|
82
|
+
}), false);
|
|
83
|
+
});
|
|
84
|
+
(_c = __classPrivateFieldGet(this, _PopupTransport_window, "f")) === null || _c === void 0 ? void 0 : _c.location.replace(url.toString());
|
|
85
|
+
(_d = __classPrivateFieldGet(this, _PopupTransport_window, "f")) === null || _d === void 0 ? void 0 : _d.focus();
|
|
86
|
+
return promise;
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
getToken() {
|
|
90
|
+
if (!window.opener) {
|
|
91
|
+
return;
|
|
92
|
+
}
|
|
93
|
+
window.opener.postMessage({
|
|
94
|
+
source: MESSAGE_SOURCE,
|
|
95
|
+
url: window.location.href,
|
|
96
|
+
}, window.location.origin);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
_PopupTransport_options = new WeakMap(), _PopupTransport_window = new WeakMap(), _PopupTransport_instances = new WeakSet(), _PopupTransport_getToken = function _PopupTransport_getToken(href) {
|
|
100
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
const url = new URL(href);
|
|
102
|
+
const params = new URLSearchParams(url.search);
|
|
103
|
+
/**
|
|
104
|
+
* Check for an error in the OAuth flow.
|
|
105
|
+
* @see https://www.oauth.com/oauth2-servers/pkce/authorization-request/
|
|
106
|
+
*/
|
|
107
|
+
if (params.get('error')) {
|
|
108
|
+
throw new Error(params.get('error_description') || 'An error occurred during the authorization process.');
|
|
109
|
+
}
|
|
110
|
+
const code = params.get('code');
|
|
111
|
+
/**
|
|
112
|
+
* If we don't have a `code` parameter, we can't exchange it for an access token.
|
|
113
|
+
*/
|
|
114
|
+
if (!code)
|
|
115
|
+
return undefined;
|
|
116
|
+
/**
|
|
117
|
+
* Grab the PKCE information from session storage.
|
|
118
|
+
*/
|
|
119
|
+
const state = sessionStorage.getItem(KEYS.PKCE_STATE);
|
|
120
|
+
const verifier = sessionStorage.getItem(KEYS.PKCE_CODE_VERIFIER);
|
|
121
|
+
/**
|
|
122
|
+
* Now that we have the values in memory, we can remove them from session storage.
|
|
123
|
+
*/
|
|
124
|
+
resetPKCE();
|
|
125
|
+
/**
|
|
126
|
+
* Validate the `state` parameter matches the preserved state (to prevent CSRF attacks).
|
|
127
|
+
*/
|
|
128
|
+
if (params.get('state') !== state) {
|
|
129
|
+
throw new Error('Invalid State. The received "state" parameter does not match the expected state.');
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Ensure we have a valid code verifier.
|
|
133
|
+
*/
|
|
134
|
+
if (!verifier) {
|
|
135
|
+
throw new Error('Invalid Code Verifier');
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Prepare the payload for the PKCE token exchange.
|
|
139
|
+
*/
|
|
140
|
+
const payload = {
|
|
141
|
+
code,
|
|
142
|
+
client_id: __classPrivateFieldGet(this, _PopupTransport_options, "f").client,
|
|
143
|
+
/**
|
|
144
|
+
* Retrieve the code verifier from session storage.
|
|
145
|
+
*/
|
|
146
|
+
code_verifier: verifier,
|
|
147
|
+
redirect_uri: __classPrivateFieldGet(this, _PopupTransport_options, "f").redirect,
|
|
148
|
+
grant_type: 'authorization_code',
|
|
149
|
+
};
|
|
150
|
+
const response = yield (yield oauth2.token.exchange({
|
|
151
|
+
payload,
|
|
152
|
+
})).json();
|
|
153
|
+
return response;
|
|
154
|
+
});
|
|
155
|
+
};
|
|
156
|
+
PopupTransport.supported = isSupported() && window && window.open;
|
|
157
|
+
//# sourceMappingURL=PopupTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PopupTransport.js","sourceRoot":"","sources":["../../../../src/core/authorization/PopupTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenLookup.d.ts","sourceRoot":"","sources":["../../../../src/core/authorization/TokenLookup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEzE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX;;;;WAIG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;;WAGG;QACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;CACH,CAAC;AAgBF;;;GAGG;AACH,qBAAa,WAAW;;gBAGV,OAAO,EAAE;QAAE,OAAO,EAAE,oBAAoB,CAAA;KAAE;IAatD,IAAI,IAAI,IAAI,WAAW,GAAG,IAAI,CAE7B;IAED,IAAI,QAAQ,IAAI,WAAW,GAAG,IAAI,CAEjC;IAED,IAAI,KAAK,IAAI,WAAW,GAAG,IAAI,CAE9B;IAED,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI,CAE/B;IAED,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI,CAE/B;IAED,IAAI,KAAK,IAAI,WAAW,GAAG,IAAI,CAE9B;IAED,IAAI,OAAO,IAAI,WAAW,GAAG,IAAI,CAEhC;IAED,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAIzC,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAI/D,MAAM,IAAI,WAAW,EAAE;
|
|
1
|
+
{"version":3,"file":"TokenLookup.d.ts","sourceRoot":"","sources":["../../../../src/core/authorization/TokenLookup.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEzE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX;;;;WAIG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;;WAGG;QACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;CACH,CAAC;AAgBF;;;GAGG;AACH,qBAAa,WAAW;;gBAGV,OAAO,EAAE;QAAE,OAAO,EAAE,oBAAoB,CAAA;KAAE;IAatD,IAAI,IAAI,IAAI,WAAW,GAAG,IAAI,CAE7B;IAED,IAAI,QAAQ,IAAI,WAAW,GAAG,IAAI,CAEjC;IAED,IAAI,KAAK,IAAI,WAAW,GAAG,IAAI,CAE9B;IAED,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI,CAE/B;IAED,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI,CAE/B;IAED,IAAI,KAAK,IAAI,WAAW,GAAG,IAAI,CAE9B;IAED,IAAI,OAAO,IAAI,WAAW,GAAG,IAAI,CAEhC;IAED,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAIzC,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAI/D,MAAM,IAAI,WAAW,EAAE;IAUvB;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa;IAuBhC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,MAAU,GAAG,OAAO,GAAG,SAAS;CAQ3F"}
|
|
@@ -14,7 +14,7 @@ import { getStorage } from '../storage/index.js';
|
|
|
14
14
|
import { CONFIG, isToken } from '../../services/auth/index.js';
|
|
15
15
|
import { SERVICES } from '../global.js';
|
|
16
16
|
function getTokenFromStorage(key) {
|
|
17
|
-
const raw = getStorage().
|
|
17
|
+
const raw = getStorage().getItem(key) || 'null';
|
|
18
18
|
let token = null;
|
|
19
19
|
try {
|
|
20
20
|
const parsed = JSON.parse(raw);
|
|
@@ -65,9 +65,7 @@ export class TokenLookup {
|
|
|
65
65
|
return __classPrivateFieldGet(this, _TokenLookup_instances, "m", _TokenLookup_getClientStorageEntry).call(this, resourceServer);
|
|
66
66
|
}
|
|
67
67
|
getAll() {
|
|
68
|
-
const entries = getStorage()
|
|
69
|
-
.keys()
|
|
70
|
-
.reduce((acc, key) => {
|
|
68
|
+
const entries = Object.keys(getStorage()).reduce((acc, key) => {
|
|
71
69
|
if (key.startsWith(__classPrivateFieldGet(this, _TokenLookup_manager, "f").storageKeyPrefix)) {
|
|
72
70
|
acc.push(getTokenFromStorage(key));
|
|
73
71
|
}
|
|
@@ -82,14 +80,14 @@ export class TokenLookup {
|
|
|
82
80
|
var _a;
|
|
83
81
|
const created = Date.now();
|
|
84
82
|
const expires = created + token.expires_in * 1000;
|
|
85
|
-
getStorage().
|
|
83
|
+
getStorage().setItem(`${__classPrivateFieldGet(this, _TokenLookup_manager, "f").storageKeyPrefix}${token.resource_server}`, JSON.stringify(Object.assign(Object.assign({}, token), {
|
|
86
84
|
/**
|
|
87
85
|
* Add metadata to the token to track when it was created and when it expires.
|
|
88
86
|
*/
|
|
89
87
|
__metadata: {
|
|
90
88
|
created,
|
|
91
89
|
expires,
|
|
92
|
-
} }));
|
|
90
|
+
} })));
|
|
93
91
|
if ('other_tokens' in token) {
|
|
94
92
|
(_a = token.other_tokens) === null || _a === void 0 ? void 0 : _a.forEach((t) => {
|
|
95
93
|
this.add(t);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenLookup.js","sourceRoot":"","sources":["../../../../src/core/authorization/TokenLookup.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAE/D,OAAO,EAAE,QAAQ,EAAgB,MAAM,cAAc,CAAC;AAyBtD,SAAS,mBAAmB,CAAC,GAAW;IACtC,MAAM,GAAG,GAAG,UAAU,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"TokenLookup.js","sourceRoot":"","sources":["../../../../src/core/authorization/TokenLookup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { AuthorizationManager } from './AuthorizationManager.js';
|
|
2
|
+
import type { Token, TokenResponse } from '../../services/auth/types.js';
|
|
3
|
+
export type StoredToken = Token & {
|
|
4
|
+
/**
|
|
5
|
+
* Tokens stored before the introduction of the `__metadata` field will be missing this property.
|
|
6
|
+
* @since 4.3.0
|
|
7
|
+
*/
|
|
8
|
+
__metadata?: {
|
|
9
|
+
/**
|
|
10
|
+
* The timestamp when the token was added to the storage as a number of milliseconds since the Unix epoch.
|
|
11
|
+
*
|
|
12
|
+
* **IMPORTANT**: This value might **not** represent the time when the token was created by the authorization server.
|
|
13
|
+
*/
|
|
14
|
+
created: number;
|
|
15
|
+
/**
|
|
16
|
+
* The timestamp when the token will expire as a number of milliseconds since the Unix epoch, based
|
|
17
|
+
* on the `expires_in` value from the token response and the time when the token was stored.
|
|
18
|
+
*/
|
|
19
|
+
expires: number | null;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
export declare class TokenManager {
|
|
23
|
+
#private;
|
|
24
|
+
constructor(options: {
|
|
25
|
+
manager: AuthorizationManager;
|
|
26
|
+
});
|
|
27
|
+
getByResourceServer(resourceServer: string): StoredToken | null;
|
|
28
|
+
get auth(): StoredToken | null;
|
|
29
|
+
get transfer(): StoredToken | null;
|
|
30
|
+
get flows(): StoredToken | null;
|
|
31
|
+
get groups(): StoredToken | null;
|
|
32
|
+
get search(): StoredToken | null;
|
|
33
|
+
get timer(): StoredToken | null;
|
|
34
|
+
get compute(): StoredToken | null;
|
|
35
|
+
gcs(endpoint: string): StoredToken | null;
|
|
36
|
+
getAll(): StoredToken[];
|
|
37
|
+
/**
|
|
38
|
+
* Add a token to the storage.
|
|
39
|
+
*/
|
|
40
|
+
add(token: Token | TokenResponse): void;
|
|
41
|
+
/**
|
|
42
|
+
* Determines whether or not a stored token is expired.
|
|
43
|
+
* @param token The token to check.
|
|
44
|
+
* @param augment An optional number of milliseconds to add to the current time when checking the expiration.
|
|
45
|
+
* @returns `true` if the token is expired, `false` if it is not expired, and `undefined` if the expiration status cannot be determined
|
|
46
|
+
* based on the token's metadata. This can happen if the token is missing the `__metadata` field or the `expires` field.
|
|
47
|
+
*/
|
|
48
|
+
static isTokenExpired(token: StoredToken | null, augment?: number): boolean | undefined;
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=TokenManager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TokenManager.d.ts","sourceRoot":"","sources":["../../../../src/core/authorization/TokenManager.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,OAAO,KAAK,EAAE,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAEzE,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG;IAChC;;;OAGG;IACH,UAAU,CAAC,EAAE;QACX;;;;WAIG;QACH,OAAO,EAAE,MAAM,CAAC;QAChB;;;WAGG;QACH,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KACxB,CAAC;CACH,CAAC;AAEF,qBAAa,YAAY;;gBAGX,OAAO,EAAE;QAAE,OAAO,EAAE,oBAAoB,CAAA;KAAE;IA0BtD,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAI/D,IAAI,IAAI,IAAI,WAAW,GAAG,IAAI,CAE7B;IAED,IAAI,QAAQ,IAAI,WAAW,GAAG,IAAI,CAEjC;IAED,IAAI,KAAK,IAAI,WAAW,GAAG,IAAI,CAE9B;IAED,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI,CAE/B;IAED,IAAI,MAAM,IAAI,WAAW,GAAG,IAAI,CAE/B;IAED,IAAI,KAAK,IAAI,WAAW,GAAG,IAAI,CAE9B;IAED,IAAI,OAAO,IAAI,WAAW,GAAG,IAAI,CAEhC;IAED,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,WAAW,GAAG,IAAI;IAIzC,MAAM,IAAI,WAAW,EAAE;IAavB;;OAEG;IACH,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,aAAa;IAuBhC;;;;;;OAMG;IACH,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI,EAAE,OAAO,GAAE,MAAU,GAAG,OAAO,GAAG,SAAS;CAQ3F"}
|