@inrupt/solid-client-authn-browser 1.11.7 → 1.11.8-alpha.2

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.
Files changed (61) hide show
  1. package/dist/ClientAuthentication.d.ts +18 -17
  2. package/dist/Session.d.ts +35 -36
  3. package/dist/Session.js +2 -45
  4. package/dist/Session.js.map +1 -1
  5. package/dist/constant.d.ts +2 -2
  6. package/dist/defaultSession.d.ts +9 -9
  7. package/dist/dependencies.d.ts +6 -6
  8. package/dist/iframe.d.ts +3 -3
  9. package/dist/index.d.ts +4 -4
  10. package/dist/index.es.js +1693 -0
  11. package/dist/index.js +1717 -27
  12. package/dist/login/AggregateLoginHandler.d.ts +4 -4
  13. package/dist/login/oidc/AggregateOidcHandler.d.ts +4 -4
  14. package/dist/login/oidc/ClientRegistrar.d.ts +6 -6
  15. package/dist/login/oidc/IssuerConfigFetcher.d.ts +8 -8
  16. package/dist/login/oidc/OidcLoginHandler.d.ts +10 -10
  17. package/dist/login/oidc/Redirector.d.ts +4 -4
  18. package/dist/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.d.ts +8 -8
  19. package/dist/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.d.ts +9 -9
  20. package/dist/login/oidc/redirectHandler/AggregateRedirectHandler.d.ts +4 -4
  21. package/dist/login/oidc/redirectHandler/AuthCodeRedirectHandler.d.ts +15 -16
  22. package/dist/login/oidc/redirectHandler/AuthCodeRedirectHandler.js +1 -23
  23. package/dist/login/oidc/redirectHandler/AuthCodeRedirectHandler.js.map +1 -1
  24. package/dist/login/oidc/redirectHandler/ErrorOidcHandler.d.ts +9 -9
  25. package/dist/login/oidc/redirectHandler/FallbackRedirectHandler.d.ts +7 -7
  26. package/dist/login/oidc/refresh/TokenRefresher.d.ts +10 -10
  27. package/dist/login/webid/WebIdLoginHandler.d.ts +5 -5
  28. package/dist/logout/GeneralLogoutHandler.d.ts +7 -7
  29. package/dist/sessionInfo/SessionInfoManager.d.ts +16 -16
  30. package/dist/sessionInfo/SessionInfoManager.js +0 -8
  31. package/dist/sessionInfo/SessionInfoManager.js.map +1 -1
  32. package/dist/solid-client-authn.bundle.js +1720 -2
  33. package/dist/storage/BrowserStorage.d.ts +7 -7
  34. package/dist/storage/StorageUtility.d.ts +4 -4
  35. package/dist/util/UuidGenerator.d.ts +6 -6
  36. package/dist/util/urlPath.d.ts +1 -1
  37. package/examples/demoClientApp/package-lock.json +85 -18
  38. package/examples/demoClientApp/package.json +2 -1
  39. package/examples/demoClientApp/src/DemoClientApp.js +9 -1
  40. package/examples/single/bundle/package-lock.json +18 -18
  41. package/jest.config.js +6 -1
  42. package/package.json +17 -29
  43. package/rollup.config.js +57 -0
  44. package/src/ClientAuthentication.spec.ts +69 -1
  45. package/src/ClientAuthentication.ts +32 -14
  46. package/src/Session.spec.ts +0 -224
  47. package/src/Session.ts +8 -88
  48. package/src/login/oidc/__mocks__/Redirector.ts +9 -9
  49. package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.spec.ts +34 -18
  50. package/src/login/oidc/redirectHandler/AuthCodeRedirectHandler.spec.ts +3 -171
  51. package/src/login/oidc/redirectHandler/AuthCodeRedirectHandler.ts +0 -68
  52. package/src/login/oidc/redirectHandler/__mocks__/RedirectHandler.ts +13 -0
  53. package/src/sessionInfo/SessionInfoManager.spec.ts +0 -27
  54. package/src/sessionInfo/SessionInfoManager.ts +0 -10
  55. package/src/index.browser.spec.ts +0 -27
  56. package/src/index.browser.ts +0 -24
  57. package/webpack.browser.js +0 -19
  58. package/webpack.common.js +0 -22
  59. package/webpack.config.js +0 -8
  60. package/webpack.dev.js +0 -17
  61. package/webpack.prod.js +0 -3
@@ -1,4 +1,4 @@
1
- import { ILoginHandler, ILoginOptions, AggregateHandler, LoginResult } from "@inrupt/solid-client-authn-core";
2
- export default class AggregateLoginHandler extends AggregateHandler<[ILoginOptions], LoginResult> implements ILoginHandler {
3
- constructor(loginHandlers: ILoginHandler[]);
4
- }
1
+ import { ILoginHandler, ILoginOptions, AggregateHandler, LoginResult } from "@inrupt/solid-client-authn-core";
2
+ export default class AggregateLoginHandler extends AggregateHandler<[ILoginOptions], LoginResult> implements ILoginHandler {
3
+ constructor(loginHandlers: ILoginHandler[]);
4
+ }
@@ -1,4 +1,4 @@
1
- import { IOidcHandler, IOidcOptions, AggregateHandler, LoginResult } from "@inrupt/solid-client-authn-core";
2
- export default class AggregateOidcHandler extends AggregateHandler<[IOidcOptions], LoginResult> implements IOidcHandler {
3
- constructor(oidcLoginHandlers: IOidcHandler[]);
4
- }
1
+ import { IOidcHandler, IOidcOptions, AggregateHandler, LoginResult } from "@inrupt/solid-client-authn-core";
2
+ export default class AggregateOidcHandler extends AggregateHandler<[IOidcOptions], LoginResult> implements IOidcHandler {
3
+ constructor(oidcLoginHandlers: IOidcHandler[]);
4
+ }
@@ -1,6 +1,6 @@
1
- import { IStorageUtility, IClientRegistrar, IIssuerConfig, IClient, IClientRegistrarOptions } from "@inrupt/solid-client-authn-core";
2
- export default class ClientRegistrar implements IClientRegistrar {
3
- private storageUtility;
4
- constructor(storageUtility: IStorageUtility);
5
- getClient(options: IClientRegistrarOptions, issuerConfig: IIssuerConfig): Promise<IClient>;
6
- }
1
+ import { IStorageUtility, IClientRegistrar, IIssuerConfig, IClient, IClientRegistrarOptions } from "@inrupt/solid-client-authn-core";
2
+ export default class ClientRegistrar implements IClientRegistrar {
3
+ private storageUtility;
4
+ constructor(storageUtility: IStorageUtility);
5
+ getClient(options: IClientRegistrarOptions, issuerConfig: IIssuerConfig): Promise<IClient>;
6
+ }
@@ -1,8 +1,8 @@
1
- import { IIssuerConfig, IIssuerConfigFetcher, IStorageUtility } from "@inrupt/solid-client-authn-core";
2
- export declare const WELL_KNOWN_OPENID_CONFIG = ".well-known/openid-configuration";
3
- export default class IssuerConfigFetcher implements IIssuerConfigFetcher {
4
- private storageUtility;
5
- constructor(storageUtility: IStorageUtility);
6
- static getLocalStorageKey(issuer: string): string;
7
- fetchConfig(issuer: string): Promise<IIssuerConfig>;
8
- }
1
+ import { IIssuerConfig, IIssuerConfigFetcher, IStorageUtility } from "@inrupt/solid-client-authn-core";
2
+ export declare const WELL_KNOWN_OPENID_CONFIG = ".well-known/openid-configuration";
3
+ export default class IssuerConfigFetcher implements IIssuerConfigFetcher {
4
+ private storageUtility;
5
+ constructor(storageUtility: IStorageUtility);
6
+ static getLocalStorageKey(issuer: string): string;
7
+ fetchConfig(issuer: string): Promise<IIssuerConfig>;
8
+ }
@@ -1,10 +1,10 @@
1
- import { IClientRegistrar, IIssuerConfigFetcher, ILoginOptions, ILoginHandler, IOidcHandler, IStorageUtility, LoginResult } from "@inrupt/solid-client-authn-core";
2
- export default class OidcLoginHandler implements ILoginHandler {
3
- private storageUtility;
4
- private oidcHandler;
5
- private issuerConfigFetcher;
6
- private clientRegistrar;
7
- constructor(storageUtility: IStorageUtility, oidcHandler: IOidcHandler, issuerConfigFetcher: IIssuerConfigFetcher, clientRegistrar: IClientRegistrar);
8
- canHandle(options: ILoginOptions): Promise<boolean>;
9
- handle(options: ILoginOptions): Promise<LoginResult>;
10
- }
1
+ import { IClientRegistrar, IIssuerConfigFetcher, ILoginOptions, ILoginHandler, IOidcHandler, IStorageUtility, LoginResult } from "@inrupt/solid-client-authn-core";
2
+ export default class OidcLoginHandler implements ILoginHandler {
3
+ private storageUtility;
4
+ private oidcHandler;
5
+ private issuerConfigFetcher;
6
+ private clientRegistrar;
7
+ constructor(storageUtility: IStorageUtility, oidcHandler: IOidcHandler, issuerConfigFetcher: IIssuerConfigFetcher, clientRegistrar: IClientRegistrar);
8
+ canHandle(options: ILoginOptions): Promise<boolean>;
9
+ handle(options: ILoginOptions): Promise<LoginResult>;
10
+ }
@@ -1,4 +1,4 @@
1
- import { IRedirector, IRedirectorOptions } from "@inrupt/solid-client-authn-core";
2
- export default class Redirector implements IRedirector {
3
- redirect(redirectUrl: string, options?: IRedirectorOptions): void;
4
- }
1
+ import { IRedirector, IRedirectorOptions } from "@inrupt/solid-client-authn-core";
2
+ export default class Redirector implements IRedirector {
3
+ redirect(redirectUrl: string, options?: IRedirectorOptions): void;
4
+ }
@@ -1,8 +1,8 @@
1
- import { IOidcHandler, IOidcOptions, IRedirector, IStorageUtility, LoginResult } from "@inrupt/solid-client-authn-core";
2
- export default class AuthorizationCodeWithPkceOidcHandler implements IOidcHandler {
3
- private storageUtility;
4
- private redirector;
5
- constructor(storageUtility: IStorageUtility, redirector: IRedirector);
6
- canHandle(oidcLoginOptions: IOidcOptions): Promise<boolean>;
7
- handle(oidcLoginOptions: IOidcOptions): Promise<LoginResult>;
8
- }
1
+ import { IOidcHandler, IOidcOptions, IRedirector, IStorageUtility, LoginResult } from "@inrupt/solid-client-authn-core";
2
+ export default class AuthorizationCodeWithPkceOidcHandler implements IOidcHandler {
3
+ private storageUtility;
4
+ private redirector;
5
+ constructor(storageUtility: IStorageUtility, redirector: IRedirector);
6
+ canHandle(oidcLoginOptions: IOidcOptions): Promise<boolean>;
7
+ handle(oidcLoginOptions: IOidcOptions): Promise<LoginResult>;
8
+ }
@@ -1,9 +1,9 @@
1
- import { IOidcOptions } from "@inrupt/solid-client-authn-core";
2
- declare const canHandleTests: {
3
- [key: string]: {
4
- oidcOptions: IOidcOptions;
5
- message: string;
6
- shouldPass: boolean;
7
- }[];
8
- };
9
- export default canHandleTests;
1
+ import { IOidcOptions } from "@inrupt/solid-client-authn-core";
2
+ declare const canHandleTests: {
3
+ [key: string]: {
4
+ oidcOptions: IOidcOptions;
5
+ message: string;
6
+ shouldPass: boolean;
7
+ }[];
8
+ };
9
+ export default canHandleTests;
@@ -1,4 +1,4 @@
1
- import { IRedirectHandler, AggregateHandler, RedirectInput, RedirectResult } from "@inrupt/solid-client-authn-core";
2
- export default class AggregateRedirectHandler extends AggregateHandler<RedirectInput, RedirectResult> implements IRedirectHandler {
3
- constructor(redirectHandlers: IRedirectHandler[]);
4
- }
1
+ import { IRedirectHandler, AggregateHandler, RedirectInput, RedirectResult } from "@inrupt/solid-client-authn-core";
2
+ export default class AggregateRedirectHandler extends AggregateHandler<RedirectInput, RedirectResult> implements IRedirectHandler {
3
+ constructor(redirectHandlers: IRedirectHandler[]);
4
+ }
@@ -1,16 +1,15 @@
1
- /// <reference types="node" />
2
- import { IClientRegistrar, IIssuerConfigFetcher, IRedirectHandler, ISessionInfo, ISessionInfoManager, IStorageUtility, ITokenRefresher } from "@inrupt/solid-client-authn-core";
3
- import { EventEmitter } from "events";
4
- export declare const DEFAULT_LIFESPAN: number;
5
- export declare class AuthCodeRedirectHandler implements IRedirectHandler {
6
- private storageUtility;
7
- private sessionInfoManager;
8
- private issuerConfigFetcher;
9
- private clientRegistrar;
10
- private tokerRefresher;
11
- constructor(storageUtility: IStorageUtility, sessionInfoManager: ISessionInfoManager, issuerConfigFetcher: IIssuerConfigFetcher, clientRegistrar: IClientRegistrar, tokerRefresher: ITokenRefresher);
12
- canHandle(redirectUrl: string): Promise<boolean>;
13
- handle(redirectUrl: string, eventEmitter?: EventEmitter): Promise<ISessionInfo & {
14
- fetch: typeof fetch;
15
- }>;
16
- }
1
+ /// <reference types="node" />
2
+ import { IClientRegistrar, IIssuerConfigFetcher, IRedirectHandler, ISessionInfo, ISessionInfoManager, IStorageUtility, ITokenRefresher } from "@inrupt/solid-client-authn-core";
3
+ import { EventEmitter } from "events";
4
+ export declare class AuthCodeRedirectHandler implements IRedirectHandler {
5
+ private storageUtility;
6
+ private sessionInfoManager;
7
+ private issuerConfigFetcher;
8
+ private clientRegistrar;
9
+ private tokerRefresher;
10
+ constructor(storageUtility: IStorageUtility, sessionInfoManager: ISessionInfoManager, issuerConfigFetcher: IIssuerConfigFetcher, clientRegistrar: IClientRegistrar, tokerRefresher: ITokenRefresher);
11
+ canHandle(redirectUrl: string): Promise<boolean>;
12
+ handle(redirectUrl: string, eventEmitter?: EventEmitter): Promise<ISessionInfo & {
13
+ fetch: typeof fetch;
14
+ }>;
15
+ }
@@ -1,25 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AuthCodeRedirectHandler = exports.DEFAULT_LIFESPAN = void 0;
3
+ exports.AuthCodeRedirectHandler = void 0;
4
4
  const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
5
5
  const oidc_client_ext_1 = require("@inrupt/oidc-client-ext");
6
- exports.DEFAULT_LIFESPAN = 30 * 60 * 1000;
7
- async function setupResourceServerSession(webId, authenticatedFetch, storageUtility) {
8
- const webIdAsUrl = new URL(webId);
9
- const resourceServerIri = webIdAsUrl.origin;
10
- await authenticatedFetch(webId);
11
- try {
12
- const resourceServerResponse = await authenticatedFetch(`${resourceServerIri}/session`);
13
- if (resourceServerResponse.status === 200) {
14
- await storageUtility.storeResourceServerSessionInfo(webId, resourceServerIri, Date.now() + exports.DEFAULT_LIFESPAN);
15
- return;
16
- }
17
- await storageUtility.clearResourceServerSessionInfo(resourceServerIri);
18
- }
19
- catch (_e) {
20
- await storageUtility.clearResourceServerSessionInfo(resourceServerIri);
21
- }
22
- }
23
6
  class AuthCodeRedirectHandler {
24
7
  constructor(storageUtility, sessionInfoManager, issuerConfigFetcher, clientRegistrar, tokerRefresher) {
25
8
  this.storageUtility = storageUtility;
@@ -93,11 +76,6 @@ class AuthCodeRedirectHandler {
93
76
  }, {
94
77
  secure: false,
95
78
  });
96
- const essWorkaroundDisabled = window.localStorage.getItem("tmp-resource-server-session-enabled") ===
97
- "false";
98
- if (!essWorkaroundDisabled) {
99
- await setupResourceServerSession(tokens.webId, authFetch, this.storageUtility);
100
- }
101
79
  const sessionInfo = await this.sessionInfoManager.get(storedSessionId);
102
80
  if (!sessionInfo) {
103
81
  throw new Error(`Could not retrieve session: [${storedSessionId}].`);
@@ -1 +1 @@
1
- {"version":3,"file":"AuthCodeRedirectHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/redirectHandler/AuthCodeRedirectHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AuthCodeRedirectHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/redirectHandler/AuthCodeRedirectHandler.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- /// <reference types="node" />
2
- import { IRedirectHandler, ISessionInfo } from "@inrupt/solid-client-authn-core";
3
- import type { EventEmitter } from "events";
4
- export declare class ErrorOidcHandler implements IRedirectHandler {
5
- canHandle(redirectUrl: string): Promise<boolean>;
6
- handle(redirectUrl: string, eventEmitter?: EventEmitter): Promise<ISessionInfo & {
7
- fetch: typeof fetch;
8
- }>;
9
- }
1
+ /// <reference types="node" />
2
+ import { IRedirectHandler, ISessionInfo } from "@inrupt/solid-client-authn-core";
3
+ import type { EventEmitter } from "events";
4
+ export declare class ErrorOidcHandler implements IRedirectHandler {
5
+ canHandle(redirectUrl: string): Promise<boolean>;
6
+ handle(redirectUrl: string, eventEmitter?: EventEmitter): Promise<ISessionInfo & {
7
+ fetch: typeof fetch;
8
+ }>;
9
+ }
@@ -1,7 +1,7 @@
1
- import { IRedirectHandler, ISessionInfo } from "@inrupt/solid-client-authn-core";
2
- export declare class FallbackRedirectHandler implements IRedirectHandler {
3
- canHandle(redirectUrl: string): Promise<boolean>;
4
- handle(_redirectUrl: string): Promise<ISessionInfo & {
5
- fetch: typeof fetch;
6
- }>;
7
- }
1
+ import { IRedirectHandler, ISessionInfo } from "@inrupt/solid-client-authn-core";
2
+ export declare class FallbackRedirectHandler implements IRedirectHandler {
3
+ canHandle(redirectUrl: string): Promise<boolean>;
4
+ handle(_redirectUrl: string): Promise<ISessionInfo & {
5
+ fetch: typeof fetch;
6
+ }>;
7
+ }
@@ -1,10 +1,10 @@
1
- /// <reference types="node" />
2
- import { IClientRegistrar, IIssuerConfigFetcher, IStorageUtility, KeyPair, ITokenRefresher, TokenEndpointResponse } from "@inrupt/solid-client-authn-core";
3
- import { EventEmitter } from "events";
4
- export default class TokenRefresher implements ITokenRefresher {
5
- private storageUtility;
6
- private issuerConfigFetcher;
7
- private clientRegistrar;
8
- constructor(storageUtility: IStorageUtility, issuerConfigFetcher: IIssuerConfigFetcher, clientRegistrar: IClientRegistrar);
9
- refresh(sessionId: string, refreshToken?: string, dpopKey?: KeyPair, eventEmitter?: EventEmitter): Promise<TokenEndpointResponse>;
10
- }
1
+ /// <reference types="node" />
2
+ import { IClientRegistrar, IIssuerConfigFetcher, IStorageUtility, KeyPair, ITokenRefresher, TokenEndpointResponse } from "@inrupt/solid-client-authn-core";
3
+ import { EventEmitter } from "events";
4
+ export default class TokenRefresher implements ITokenRefresher {
5
+ private storageUtility;
6
+ private issuerConfigFetcher;
7
+ private clientRegistrar;
8
+ constructor(storageUtility: IStorageUtility, issuerConfigFetcher: IIssuerConfigFetcher, clientRegistrar: IClientRegistrar);
9
+ refresh(sessionId: string, refreshToken?: string, dpopKey?: KeyPair, eventEmitter?: EventEmitter): Promise<TokenEndpointResponse>;
10
+ }
@@ -1,5 +1,5 @@
1
- import { ILoginOptions, ILoginHandler, LoginResult } from "@inrupt/solid-client-authn-core";
2
- export default class WebIdLoginHandler implements ILoginHandler {
3
- canHandle(_loginOptions: ILoginOptions): Promise<boolean>;
4
- handle(_loginOptions: ILoginOptions): Promise<LoginResult>;
5
- }
1
+ import { ILoginOptions, ILoginHandler, LoginResult } from "@inrupt/solid-client-authn-core";
2
+ export default class WebIdLoginHandler implements ILoginHandler {
3
+ canHandle(_loginOptions: ILoginOptions): Promise<boolean>;
4
+ handle(_loginOptions: ILoginOptions): Promise<LoginResult>;
5
+ }
@@ -1,7 +1,7 @@
1
- import { ILogoutHandler, ISessionInfoManager } from "@inrupt/solid-client-authn-core";
2
- export default class GeneralLogoutHandler implements ILogoutHandler {
3
- private sessionInfoManager;
4
- constructor(sessionInfoManager: ISessionInfoManager);
5
- canHandle(): Promise<boolean>;
6
- handle(userId: string): Promise<void>;
7
- }
1
+ import { ILogoutHandler, ISessionInfoManager } from "@inrupt/solid-client-authn-core";
2
+ export default class GeneralLogoutHandler implements ILogoutHandler {
3
+ private sessionInfoManager;
4
+ constructor(sessionInfoManager: ISessionInfoManager);
5
+ canHandle(): Promise<boolean>;
6
+ handle(userId: string): Promise<void>;
7
+ }
@@ -1,16 +1,16 @@
1
- import { ISessionInfo, ISessionInfoManager, ISessionInternalInfo, ISessionInfoManagerOptions, IStorageUtility } from "@inrupt/solid-client-authn-core";
2
- export declare function getUnauthenticatedSession(): ISessionInfo & {
3
- fetch: typeof fetch;
4
- };
5
- export declare function clear(sessionId: string, storage: IStorageUtility): Promise<void>;
6
- export declare class SessionInfoManager implements ISessionInfoManager {
7
- private storageUtility;
8
- constructor(storageUtility: IStorageUtility);
9
- update(_sessionId: string, _options: ISessionInfoManagerOptions): Promise<void>;
10
- get(sessionId: string): Promise<(ISessionInfo & ISessionInternalInfo) | undefined>;
11
- getAll(): Promise<(ISessionInfo & ISessionInternalInfo)[]>;
12
- clear(sessionId: string): Promise<void>;
13
- register(_sessionId: string): Promise<void>;
14
- getRegisteredSessionIdAll(): Promise<string[]>;
15
- clearAll(): Promise<void>;
16
- }
1
+ import { ISessionInfo, ISessionInfoManager, ISessionInternalInfo, ISessionInfoManagerOptions, IStorageUtility } from "@inrupt/solid-client-authn-core";
2
+ export declare function getUnauthenticatedSession(): ISessionInfo & {
3
+ fetch: typeof fetch;
4
+ };
5
+ export declare function clear(sessionId: string, storage: IStorageUtility): Promise<void>;
6
+ export declare class SessionInfoManager implements ISessionInfoManager {
7
+ private storageUtility;
8
+ constructor(storageUtility: IStorageUtility);
9
+ update(_sessionId: string, _options: ISessionInfoManagerOptions): Promise<void>;
10
+ get(sessionId: string): Promise<(ISessionInfo & ISessionInternalInfo) | undefined>;
11
+ getAll(): Promise<(ISessionInfo & ISessionInternalInfo)[]>;
12
+ clear(sessionId: string): Promise<void>;
13
+ register(_sessionId: string): Promise<void>;
14
+ getRegisteredSessionIdAll(): Promise<string[]>;
15
+ clearAll(): Promise<void>;
16
+ }
@@ -13,14 +13,6 @@ function getUnauthenticatedSession() {
13
13
  }
14
14
  exports.getUnauthenticatedSession = getUnauthenticatedSession;
15
15
  async function clear(sessionId, storage) {
16
- const storedSessionCookieReference = await storage.get("tmp-resource-server-session-info");
17
- const reference = JSON.parse(storedSessionCookieReference !== null && storedSessionCookieReference !== void 0 ? storedSessionCookieReference : "{}");
18
- const { webId } = reference;
19
- if (webId !== undefined) {
20
- const webIdAsUrl = new URL(webId);
21
- const resourceServerIri = webIdAsUrl.origin;
22
- await storage.clearResourceServerSessionInfo(resourceServerIri);
23
- }
24
16
  await Promise.all([
25
17
  storage.deleteAllUserData(sessionId, { secure: false }),
26
18
  storage.deleteAllUserData(sessionId, { secure: true }),
@@ -1 +1 @@
1
- {"version":3,"file":"SessionInfoManager.js","sourceRoot":"","sources":["../../src/sessionInfo/SessionInfoManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SessionInfoManager.js","sourceRoot":"","sources":["../../src/sessionInfo/SessionInfoManager.ts"],"names":[],"mappings":"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"}