@inrupt/solid-client-authn-browser 1.16.0 → 1.17.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/ClientAuthentication.d.ts +4 -13
- package/dist/Session.d.ts +4 -4
- package/dist/dependencies.d.ts +1 -1
- package/dist/index.js +773 -28
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +746 -0
- package/dist/index.mjs.map +1 -0
- package/dist/login/oidc/AggregateOidcHandler.d.ts +2 -1
- package/dist/login/oidc/AggregateRedirectHandler.d.ts +2 -1
- package/dist/login/oidc/ClientRegistrar.d.ts +1 -1
- package/dist/login/oidc/IssuerConfigFetcher.d.ts +1 -1
- package/dist/login/oidc/OidcLoginHandler.d.ts +1 -1
- package/dist/login/oidc/Redirector.d.ts +1 -1
- package/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.d.ts +3 -6
- package/dist/login/oidc/incomingRedirectHandler/ErrorOidcHandler.d.ts +1 -1
- package/dist/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.d.ts +1 -1
- package/dist/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.d.ts +3 -6
- package/dist/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.d.ts +1 -1
- package/dist/login/oidc/refresh/TokenRefresher.d.ts +2 -2
- package/dist/logout/buildRpInitiatedLogout.d.ts +2 -0
- package/dist/sessionInfo/SessionInfoManager.d.ts +4 -13
- package/dist/solid-client-authn.bundle.js +32 -2
- package/dist/solid-client-authn.bundle.js.map +1 -0
- package/dist/storage/BrowserStorage.d.ts +1 -1
- package/dist/storage/StorageUtility.d.ts +2 -1
- package/package.json +17 -17
- package/rollup.config.mjs +46 -0
- package/src/ClientAuthentication.spec.ts +4 -4
- package/src/ClientAuthentication.ts +8 -45
- package/src/Session.spec.ts +4 -4
- package/src/Session.ts +44 -13
- package/src/__mocks__/ClientAuthentication.ts +3 -3
- package/src/constant.ts +1 -1
- package/src/defaultSession.spec.ts +1 -1
- package/src/defaultSession.ts +5 -3
- package/src/dependencies.node.spec.ts +1 -1
- package/src/dependencies.spec.ts +1 -1
- package/src/dependencies.ts +10 -5
- package/src/index.browser.spec.ts +1 -1
- package/src/index.browser.ts +1 -1
- package/src/index.spec.ts +1 -1
- package/src/index.ts +1 -1
- package/src/login/__mocks__/LoginHandler.ts +2 -2
- package/src/login/oidc/AggregateOidcHandler.spec.ts +3 -5
- package/src/login/oidc/AggregateOidcHandler.ts +3 -3
- package/src/login/oidc/AggregateRedirectHandler.ts +3 -3
- package/src/login/oidc/ClientRegistrar.spec.ts +1 -1
- package/src/login/oidc/ClientRegistrar.ts +2 -2
- package/src/login/oidc/IssuerConfigFetcher.spec.ts +8 -4
- package/src/login/oidc/IssuerConfigFetcher.ts +12 -5
- package/src/login/oidc/OidcLoginHandler.spec.ts +3 -5
- package/src/login/oidc/OidcLoginHandler.ts +5 -3
- package/src/login/oidc/Redirector.spec.ts +1 -1
- package/src/login/oidc/Redirector.ts +2 -2
- package/src/login/oidc/__mocks__/ClientRegistrar.ts +2 -2
- package/src/login/oidc/__mocks__/IOidcHandler.ts +2 -2
- package/src/login/oidc/__mocks__/IOidcOptions.ts +2 -2
- package/src/login/oidc/__mocks__/IssuerConfigFetcher.ts +2 -2
- package/src/login/oidc/__mocks__/Redirector.ts +2 -2
- package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.spec.ts +37 -39
- package/src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts +31 -20
- package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.spec.ts +3 -4
- package/src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts +3 -3
- package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.spec.ts +3 -4
- package/src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts +2 -2
- package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.spec.ts +3 -3
- package/src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts +13 -51
- package/src/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.ts +2 -2
- package/src/login/oidc/refresh/TokenRefresher.spec.ts +7 -6
- package/src/login/oidc/refresh/TokenRefresher.ts +6 -4
- package/src/login/oidc/refresh/__mocks__/TokenRefresher.ts +2 -2
- package/src/logout/{GeneralLogoutHandler.ts → buildRpInitiatedLogout.ts} +21 -20
- package/src/sessionInfo/SessionInfoManager.spec.ts +2 -2
- package/src/sessionInfo/SessionInfoManager.ts +13 -91
- package/src/sessionInfo/__mocks__/SessionInfoManager.ts +2 -2
- package/src/storage/BrowserStorage.spec.ts +1 -1
- package/src/storage/BrowserStorage.ts +2 -2
- package/src/storage/StorageUtility.ts +3 -2
- package/src/storage/__mocks__/LocalStorage.ts +1 -1
- package/src/util/UUIDGenerator.spec.ts +1 -1
- package/src/util/UuidGenerator.ts +1 -1
- package/src/util/__mocks__/UuidGenerator.ts +2 -2
- package/dist/ClientAuthentication.js +0 -80
- package/dist/ClientAuthentication.js.map +0 -1
- package/dist/Session.js +0 -150
- package/dist/Session.js.map +0 -1
- package/dist/constant.js +0 -7
- package/dist/constant.js.map +0 -1
- package/dist/defaultSession.js +0 -52
- package/dist/defaultSession.js.map +0 -1
- package/dist/dependencies.js +0 -41
- package/dist/dependencies.js.map +0 -1
- package/dist/index.browser.js +0 -28
- package/dist/index.browser.js.map +0 -1
- package/dist/login/oidc/AggregateOidcHandler.js +0 -10
- package/dist/login/oidc/AggregateOidcHandler.js.map +0 -1
- package/dist/login/oidc/AggregateRedirectHandler.js +0 -10
- package/dist/login/oidc/AggregateRedirectHandler.js.map +0 -1
- package/dist/login/oidc/ClientRegistrar.js +0 -47
- package/dist/login/oidc/ClientRegistrar.js.map +0 -1
- package/dist/login/oidc/IssuerConfigFetcher.js +0 -124
- package/dist/login/oidc/IssuerConfigFetcher.js.map +0 -1
- package/dist/login/oidc/OidcLoginHandler.js +0 -40
- package/dist/login/oidc/OidcLoginHandler.js.map +0 -1
- package/dist/login/oidc/Redirector.js +0 -17
- package/dist/login/oidc/Redirector.js.map +0 -1
- package/dist/login/oidc/__mocks__/IOidcOptions.d.ts +0 -2
- package/dist/login/oidc/__mocks__/IOidcOptions.js +0 -25
- package/dist/login/oidc/__mocks__/IOidcOptions.js.map +0 -1
- package/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.js +0 -91
- package/dist/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.js.map +0 -1
- package/dist/login/oidc/incomingRedirectHandler/ErrorOidcHandler.js +0 -26
- package/dist/login/oidc/incomingRedirectHandler/ErrorOidcHandler.js.map +0 -1
- package/dist/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.js +0 -20
- package/dist/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.js.map +0 -1
- package/dist/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.js +0 -56
- package/dist/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.js.map +0 -1
- package/dist/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.js +0 -47
- package/dist/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.js.map +0 -1
- package/dist/login/oidc/refresh/TokenRefresher.js +0 -31
- package/dist/login/oidc/refresh/TokenRefresher.js.map +0 -1
- package/dist/logout/GeneralLogoutHandler.d.ts +0 -7
- package/dist/logout/GeneralLogoutHandler.js +0 -15
- package/dist/logout/GeneralLogoutHandler.js.map +0 -1
- package/dist/sessionInfo/SessionInfoManager.js +0 -96
- package/dist/sessionInfo/SessionInfoManager.js.map +0 -1
- package/dist/solid-client-authn.bundle.js.LICENSE.txt +0 -17
- package/dist/storage/BrowserStorage.js +0 -18
- package/dist/storage/BrowserStorage.js.map +0 -1
- package/dist/storage/StorageUtility.js +0 -10
- package/dist/storage/StorageUtility.js.map +0 -1
- package/dist/util/UuidGenerator.js +0 -10
- package/dist/util/UuidGenerator.js.map +0 -1
- package/licenses.csv +0 -147
- package/src/logout/GeneralLogoutHandler.spec.ts +0 -72
- package/src/logout/__mocks__/LogoutHandler.ts +0 -38
- package/webpack.browser.js +0 -39
- package/webpack.common.js +0 -42
- package/webpack.config.js +0 -28
- package/webpack.dev.js +0 -37
- package/webpack.prod.js +0 -23
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AuthCodeRedirectHandler = void 0;
|
|
4
|
-
const universal_fetch_1 = require("@inrupt/universal-fetch");
|
|
5
|
-
const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
|
|
6
|
-
const oidc_client_ext_1 = require("@inrupt/oidc-client-ext");
|
|
7
|
-
class AuthCodeRedirectHandler {
|
|
8
|
-
constructor(storageUtility, sessionInfoManager, issuerConfigFetcher, clientRegistrar, tokerRefresher) {
|
|
9
|
-
this.storageUtility = storageUtility;
|
|
10
|
-
this.sessionInfoManager = sessionInfoManager;
|
|
11
|
-
this.issuerConfigFetcher = issuerConfigFetcher;
|
|
12
|
-
this.clientRegistrar = clientRegistrar;
|
|
13
|
-
this.tokerRefresher = tokerRefresher;
|
|
14
|
-
}
|
|
15
|
-
async canHandle(redirectUrl) {
|
|
16
|
-
try {
|
|
17
|
-
const myUrl = new URL(redirectUrl);
|
|
18
|
-
return (myUrl.searchParams.get("code") !== null &&
|
|
19
|
-
myUrl.searchParams.get("state") !== null);
|
|
20
|
-
}
|
|
21
|
-
catch (e) {
|
|
22
|
-
throw new Error(`[${redirectUrl}] is not a valid URL, and cannot be used as a redirect URL: ${e}`);
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
async handle(redirectUrl, eventEmitter) {
|
|
26
|
-
if (!(await this.canHandle(redirectUrl))) {
|
|
27
|
-
throw new Error(`AuthCodeRedirectHandler cannot handle [${redirectUrl}]: it is missing one of [code, state].`);
|
|
28
|
-
}
|
|
29
|
-
const url = new URL(redirectUrl);
|
|
30
|
-
const oauthState = url.searchParams.get("state");
|
|
31
|
-
const storedSessionId = (await this.storageUtility.getForUser(oauthState, "sessionId", {
|
|
32
|
-
errorIfNull: true,
|
|
33
|
-
}));
|
|
34
|
-
const { issuerConfig, codeVerifier, redirectUrl: storedRedirectIri, dpop: isDpop, } = await (0, solid_client_authn_core_1.loadOidcContextFromStorage)(storedSessionId, this.storageUtility, this.issuerConfigFetcher);
|
|
35
|
-
const iss = url.searchParams.get("iss");
|
|
36
|
-
if (typeof iss === "string" && iss !== issuerConfig.issuer) {
|
|
37
|
-
throw new Error(`The value of the iss parameter (${iss}) does not match the issuer identifier of the authorization server (${issuerConfig.issuer}). See [rfc9207](https://www.rfc-editor.org/rfc/rfc9207.html#section-2.3-3.1.1)`);
|
|
38
|
-
}
|
|
39
|
-
if (codeVerifier === undefined) {
|
|
40
|
-
throw new Error(`The code verifier for session ${storedSessionId} is missing from storage.`);
|
|
41
|
-
}
|
|
42
|
-
if (storedRedirectIri === undefined) {
|
|
43
|
-
throw new Error(`The redirect URL for session ${storedSessionId} is missing from storage.`);
|
|
44
|
-
}
|
|
45
|
-
const client = await this.clientRegistrar.getClient({ sessionId: storedSessionId }, issuerConfig);
|
|
46
|
-
let tokens;
|
|
47
|
-
const tokenCreatedAt = Date.now();
|
|
48
|
-
if (isDpop) {
|
|
49
|
-
tokens = await (0, oidc_client_ext_1.getDpopToken)(issuerConfig, client, {
|
|
50
|
-
grantType: "authorization_code",
|
|
51
|
-
code: url.searchParams.get("code"),
|
|
52
|
-
codeVerifier,
|
|
53
|
-
redirectUrl: storedRedirectIri,
|
|
54
|
-
});
|
|
55
|
-
window.localStorage.removeItem(`oidc.${oauthState}`);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
tokens = await (0, oidc_client_ext_1.getBearerToken)(url.toString());
|
|
59
|
-
}
|
|
60
|
-
let refreshOptions;
|
|
61
|
-
if (tokens.refreshToken !== undefined) {
|
|
62
|
-
refreshOptions = {
|
|
63
|
-
sessionId: storedSessionId,
|
|
64
|
-
refreshToken: tokens.refreshToken,
|
|
65
|
-
tokenRefresher: this.tokerRefresher,
|
|
66
|
-
};
|
|
67
|
-
}
|
|
68
|
-
const authFetch = await (0, solid_client_authn_core_1.buildAuthenticatedFetch)(universal_fetch_1.fetch, tokens.accessToken, {
|
|
69
|
-
dpopKey: tokens.dpopKey,
|
|
70
|
-
refreshOptions,
|
|
71
|
-
eventEmitter,
|
|
72
|
-
expiresIn: tokens.expiresIn,
|
|
73
|
-
});
|
|
74
|
-
await this.storageUtility.setForUser(storedSessionId, {
|
|
75
|
-
webId: tokens.webId,
|
|
76
|
-
isLoggedIn: "true",
|
|
77
|
-
}, { secure: true });
|
|
78
|
-
const sessionInfo = await this.sessionInfoManager.get(storedSessionId);
|
|
79
|
-
if (!sessionInfo) {
|
|
80
|
-
throw new Error(`Could not retrieve session: [${storedSessionId}].`);
|
|
81
|
-
}
|
|
82
|
-
return Object.assign(sessionInfo, {
|
|
83
|
-
fetch: authFetch,
|
|
84
|
-
expirationDate: typeof tokens.expiresIn === "number"
|
|
85
|
-
? tokenCreatedAt + tokens.expiresIn * 1000
|
|
86
|
-
: null,
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
exports.AuthCodeRedirectHandler = AuthCodeRedirectHandler;
|
|
91
|
-
//# sourceMappingURL=AuthCodeRedirectHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthCodeRedirectHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/incomingRedirectHandler/AuthCodeRedirectHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ErrorOidcHandler = void 0;
|
|
4
|
-
const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
|
|
5
|
-
const SessionInfoManager_1 = require("../../../sessionInfo/SessionInfoManager");
|
|
6
|
-
class ErrorOidcHandler {
|
|
7
|
-
async canHandle(redirectUrl) {
|
|
8
|
-
try {
|
|
9
|
-
return new URL(redirectUrl).searchParams.has("error");
|
|
10
|
-
}
|
|
11
|
-
catch (e) {
|
|
12
|
-
throw new Error(`[${redirectUrl}] is not a valid URL, and cannot be used as a redirect URL: ${e}`);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
async handle(redirectUrl, eventEmitter) {
|
|
16
|
-
if (eventEmitter !== undefined) {
|
|
17
|
-
const url = new URL(redirectUrl);
|
|
18
|
-
const errorUrl = url.searchParams.get("error");
|
|
19
|
-
const errorDescriptionUrl = url.searchParams.get("error_description");
|
|
20
|
-
eventEmitter.emit(solid_client_authn_core_1.EVENTS.ERROR, errorUrl, errorDescriptionUrl);
|
|
21
|
-
}
|
|
22
|
-
return (0, SessionInfoManager_1.getUnauthenticatedSession)();
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
exports.ErrorOidcHandler = ErrorOidcHandler;
|
|
26
|
-
//# sourceMappingURL=ErrorOidcHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ErrorOidcHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/incomingRedirectHandler/ErrorOidcHandler.ts"],"names":[],"mappings":";;;AA0BA,6EAIyC;AAGzC,gFAAoF;AAQpF,MAAa,gBAAgB;IAC3B,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,IAAI;YAEF,OAAO,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SACvD;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,IAAI,WAAW,+DAA+D,CAAC,EAAE,CAClF,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CACV,WAAmB,EACnB,YAA2B;QAE3B,IAAI,YAAY,KAAK,SAAS,EAAE;YAC9B,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;YACjC,MAAM,QAAQ,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC/C,MAAM,mBAAmB,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;YACtE,YAAY,CAAC,IAAI,CAAC,gCAAM,CAAC,KAAK,EAAE,QAAQ,EAAE,mBAAmB,CAAC,CAAC;SAChE;QACD,OAAO,IAAA,8CAAyB,GAAE,CAAC;IACrC,CAAC;CACF;AAxBD,4CAwBC"}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FallbackRedirectHandler = void 0;
|
|
4
|
-
const SessionInfoManager_1 = require("../../../sessionInfo/SessionInfoManager");
|
|
5
|
-
class FallbackRedirectHandler {
|
|
6
|
-
async canHandle(redirectUrl) {
|
|
7
|
-
try {
|
|
8
|
-
new URL(redirectUrl);
|
|
9
|
-
return true;
|
|
10
|
-
}
|
|
11
|
-
catch (e) {
|
|
12
|
-
throw new Error(`[${redirectUrl}] is not a valid URL, and cannot be used as a redirect URL: ${e}`);
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
async handle(_redirectUrl) {
|
|
16
|
-
return (0, SessionInfoManager_1.getUnauthenticatedSession)();
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
exports.FallbackRedirectHandler = FallbackRedirectHandler;
|
|
20
|
-
//# sourceMappingURL=FallbackRedirectHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FallbackRedirectHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/incomingRedirectHandler/FallbackRedirectHandler.ts"],"names":[],"mappings":";;;AA+BA,gFAAoF;AAQpF,MAAa,uBAAuB;IAClC,KAAK,CAAC,SAAS,CAAC,WAAmB;QACjC,IAAI;YAGF,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,MAAM,IAAI,KAAK,CACb,IAAI,WAAW,+DAA+D,CAAC,EAAE,CAClF,CAAC;SACH;IACH,CAAC;IAED,KAAK,CAAC,MAAM,CAEV,YAAoB;QAEpB,OAAO,IAAA,8CAAyB,GAAE,CAAC;IACrC,CAAC;CACF;AApBD,0DAoBC"}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
|
|
4
|
-
const oidc_client_ext_1 = require("@inrupt/oidc-client-ext");
|
|
5
|
-
class AuthorizationCodeWithPkceOidcHandler {
|
|
6
|
-
constructor(storageUtility, redirector) {
|
|
7
|
-
this.storageUtility = storageUtility;
|
|
8
|
-
this.redirector = redirector;
|
|
9
|
-
}
|
|
10
|
-
async canHandle(oidcLoginOptions) {
|
|
11
|
-
return !!(oidcLoginOptions.issuerConfiguration.grantTypesSupported &&
|
|
12
|
-
oidcLoginOptions.issuerConfiguration.grantTypesSupported.indexOf("authorization_code") > -1);
|
|
13
|
-
}
|
|
14
|
-
async handle(oidcLoginOptions) {
|
|
15
|
-
var _a;
|
|
16
|
-
const oidcOptions = {
|
|
17
|
-
authority: oidcLoginOptions.issuer.toString(),
|
|
18
|
-
client_id: oidcLoginOptions.client.clientId,
|
|
19
|
-
client_secret: oidcLoginOptions.client.clientSecret,
|
|
20
|
-
redirect_uri: oidcLoginOptions.redirectUrl.toString(),
|
|
21
|
-
post_logout_redirect_uri: oidcLoginOptions.redirectUrl.toString(),
|
|
22
|
-
response_type: "code",
|
|
23
|
-
scope: solid_client_authn_core_1.DEFAULT_SCOPES,
|
|
24
|
-
filterProtocolClaims: true,
|
|
25
|
-
loadUserInfo: false,
|
|
26
|
-
code_verifier: true,
|
|
27
|
-
prompt: (_a = oidcLoginOptions.prompt) !== null && _a !== void 0 ? _a : "consent",
|
|
28
|
-
};
|
|
29
|
-
const oidcClientLibrary = new oidc_client_ext_1.OidcClient(oidcOptions);
|
|
30
|
-
const { redirector } = this;
|
|
31
|
-
const storage = this.storageUtility;
|
|
32
|
-
try {
|
|
33
|
-
const signingRequest = await oidcClientLibrary.createSigninRequest();
|
|
34
|
-
await Promise.all([
|
|
35
|
-
storage.setForUser(signingRequest.state._id, {
|
|
36
|
-
sessionId: oidcLoginOptions.sessionId,
|
|
37
|
-
}),
|
|
38
|
-
storage.setForUser(oidcLoginOptions.sessionId, {
|
|
39
|
-
codeVerifier: signingRequest.state._code_verifier,
|
|
40
|
-
issuer: oidcLoginOptions.issuer.toString(),
|
|
41
|
-
redirectUrl: oidcLoginOptions.redirectUrl,
|
|
42
|
-
dpop: oidcLoginOptions.dpop ? "true" : "false",
|
|
43
|
-
}),
|
|
44
|
-
]);
|
|
45
|
-
redirector.redirect(signingRequest.url.toString(), {
|
|
46
|
-
handleRedirect: oidcLoginOptions.handleRedirect,
|
|
47
|
-
});
|
|
48
|
-
}
|
|
49
|
-
catch (err) {
|
|
50
|
-
console.error(err);
|
|
51
|
-
}
|
|
52
|
-
return undefined;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
exports.default = AuthorizationCodeWithPkceOidcHandler;
|
|
56
|
-
//# sourceMappingURL=AuthorizationCodeWithPkceOidcHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"AuthorizationCodeWithPkceOidcHandler.js","sourceRoot":"","sources":["../../../../src/login/oidc/oidcHandlers/AuthorizationCodeWithPkceOidcHandler.ts"],"names":[],"mappings":";;AA6BA,6EAOyC;AACzC,6DAAqD;AAOrD,MAAqB,oCAAoC;IAGvD,YACU,cAA+B,EAC/B,UAAuB;QADvB,mBAAc,GAAd,cAAc,CAAiB;QAC/B,eAAU,GAAV,UAAU,CAAa;IAC9B,CAAC;IAEJ,KAAK,CAAC,SAAS,CAAC,gBAA8B;QAC5C,OAAO,CAAC,CAAC,CACP,gBAAgB,CAAC,mBAAmB,CAAC,mBAAmB;YACxD,gBAAgB,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,OAAO,CAC9D,oBAAoB,CACrB,GAAG,CAAC,CAAC,CACP,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,gBAA8B;;QAEzC,MAAM,WAAW,GAAG;YAClB,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE;YAC7C,SAAS,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ;YAC3C,aAAa,EAAE,gBAAgB,CAAC,MAAM,CAAC,YAAY;YACnD,YAAY,EAAE,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE;YACrD,wBAAwB,EAAE,gBAAgB,CAAC,WAAW,CAAC,QAAQ,EAAE;YACjE,aAAa,EAAE,MAAM;YACrB,KAAK,EAAE,wCAAc;YACrB,oBAAoB,EAAE,IAAI;YAI1B,YAAY,EAAE,KAAK;YACnB,aAAa,EAAE,IAAI;YACnB,MAAM,EAAE,MAAA,gBAAgB,CAAC,MAAM,mCAAI,SAAS;SAC7C,CAAC;QAGF,MAAM,iBAAiB,GAAG,IAAI,4BAAU,CAAC,WAAW,CAAC,CAAC;QAEtD,MAAM,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;QAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,cAAc,CAAC;QAEpC,IAAI;YACF,MAAM,cAAc,GAAG,MAAM,iBAAiB,CAAC,mBAAmB,EAAE,CAAC;YACrE,MAAM,OAAO,CAAC,GAAG,CAAC;gBAWhB,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,EAAE;oBAC3C,SAAS,EAAE,gBAAgB,CAAC,SAAS;iBACtC,CAAC;gBAMF,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,SAAS,EAAE;oBAE7C,YAAY,EAAE,cAAc,CAAC,KAAK,CAAC,cAAc;oBACjD,MAAM,EAAE,gBAAgB,CAAC,MAAM,CAAC,QAAQ,EAAE;oBAE1C,WAAW,EAAE,gBAAgB,CAAC,WAAW;oBACzC,IAAI,EAAE,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;iBAC/C,CAAC;aACH,CAAC,CAAC;YAEH,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;gBACjD,cAAc,EAAE,gBAAgB,CAAC,cAAc;aAChD,CAAC,CAAC;SACJ;QAAC,OAAO,GAAY,EAAE;YAErB,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;SACpB;QAGD,OAAO,SAAS,CAAC;IACnB,CAAC;CACF;AApFD,uDAoFC"}
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const IOidcOptions_1 = require("../__mocks__/IOidcOptions");
|
|
4
|
-
const canHandleTests = {
|
|
5
|
-
authorizationCodeWithPkceOidcHandler: [
|
|
6
|
-
{
|
|
7
|
-
message: "should accept a configuration with many grant types including authorization code",
|
|
8
|
-
shouldPass: true,
|
|
9
|
-
oidcOptions: {
|
|
10
|
-
...IOidcOptions_1.standardOidcOptions,
|
|
11
|
-
issuerConfiguration: {
|
|
12
|
-
...IOidcOptions_1.standardOidcOptions.issuerConfiguration,
|
|
13
|
-
grantTypesSupported: ["authorization_code", "implicit", "device"],
|
|
14
|
-
},
|
|
15
|
-
},
|
|
16
|
-
},
|
|
17
|
-
{
|
|
18
|
-
message: "should accept a configuration with only the authorization code grant type",
|
|
19
|
-
shouldPass: true,
|
|
20
|
-
oidcOptions: {
|
|
21
|
-
...IOidcOptions_1.standardOidcOptions,
|
|
22
|
-
issuerConfiguration: {
|
|
23
|
-
...IOidcOptions_1.standardOidcOptions.issuerConfiguration,
|
|
24
|
-
grantTypesSupported: ["authorization_code"],
|
|
25
|
-
},
|
|
26
|
-
},
|
|
27
|
-
},
|
|
28
|
-
{
|
|
29
|
-
message: "shouldn't accept a configuration that has many grant types not including authorization code",
|
|
30
|
-
shouldPass: false,
|
|
31
|
-
oidcOptions: {
|
|
32
|
-
...IOidcOptions_1.standardOidcOptions,
|
|
33
|
-
issuerConfiguration: {
|
|
34
|
-
...IOidcOptions_1.standardOidcOptions.issuerConfiguration,
|
|
35
|
-
grantTypesSupported: ["implicit", "device"],
|
|
36
|
-
},
|
|
37
|
-
},
|
|
38
|
-
},
|
|
39
|
-
{
|
|
40
|
-
message: "shouldn't accept a configuration that does not include grant types",
|
|
41
|
-
shouldPass: false,
|
|
42
|
-
oidcOptions: IOidcOptions_1.standardOidcOptions,
|
|
43
|
-
},
|
|
44
|
-
],
|
|
45
|
-
};
|
|
46
|
-
exports.default = canHandleTests;
|
|
47
|
-
//# sourceMappingURL=OidcHandlerCanHandleTest.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"OidcHandlerCanHandleTest.js","sourceRoot":"","sources":["../../../../src/login/oidc/oidcHandlers/OidcHandlerCanHandleTest.ts"],"names":[],"mappings":";;AAsBA,4DAAgE;AAEhE,MAAM,cAAc,GAMhB;IACF,oCAAoC,EAAE;QACpC;YACE,OAAO,EACL,kFAAkF;YACpF,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE;gBACX,GAAG,kCAAmB;gBACtB,mBAAmB,EAAE;oBACnB,GAAG,kCAAmB,CAAC,mBAAmB;oBAC1C,mBAAmB,EAAE,CAAC,oBAAoB,EAAE,UAAU,EAAE,QAAQ,CAAC;iBAClE;aACF;SACF;QACD;YACE,OAAO,EACL,2EAA2E;YAC7E,UAAU,EAAE,IAAI;YAChB,WAAW,EAAE;gBACX,GAAG,kCAAmB;gBACtB,mBAAmB,EAAE;oBACnB,GAAG,kCAAmB,CAAC,mBAAmB;oBAC1C,mBAAmB,EAAE,CAAC,oBAAoB,CAAC;iBAC5C;aACF;SACF;QACD;YACE,OAAO,EACL,6FAA6F;YAC/F,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE;gBACX,GAAG,kCAAmB;gBACtB,mBAAmB,EAAE;oBACnB,GAAG,kCAAmB,CAAC,mBAAmB;oBAC1C,mBAAmB,EAAE,CAAC,UAAU,EAAE,QAAQ,CAAC;iBAC5C;aACF;SACF;QACD;YACE,OAAO,EACL,oEAAoE;YACtE,UAAU,EAAE,KAAK;YACjB,WAAW,EAAE,kCAAmB;SACjC;KACF;CACF,CAAC;AAEF,kBAAe,cAAc,CAAC"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
|
|
4
|
-
const oidc_client_ext_1 = require("@inrupt/oidc-client-ext");
|
|
5
|
-
class TokenRefresher {
|
|
6
|
-
constructor(storageUtility, issuerConfigFetcher, clientRegistrar) {
|
|
7
|
-
this.storageUtility = storageUtility;
|
|
8
|
-
this.issuerConfigFetcher = issuerConfigFetcher;
|
|
9
|
-
this.clientRegistrar = clientRegistrar;
|
|
10
|
-
}
|
|
11
|
-
async refresh(sessionId, refreshToken, dpopKey, eventEmitter) {
|
|
12
|
-
const oidcContext = await (0, solid_client_authn_core_1.loadOidcContextFromStorage)(sessionId, this.storageUtility, this.issuerConfigFetcher);
|
|
13
|
-
const clientInfo = await this.clientRegistrar.getClient({ sessionId }, oidcContext.issuerConfig);
|
|
14
|
-
if (refreshToken === undefined) {
|
|
15
|
-
throw new Error(`Session [${sessionId}] has no refresh token to allow it to refresh its access token.`);
|
|
16
|
-
}
|
|
17
|
-
if (oidcContext.dpop && dpopKey === undefined) {
|
|
18
|
-
throw new Error(`For session [${sessionId}], the key bound to the DPoP access token must be provided to refresh said access token.`);
|
|
19
|
-
}
|
|
20
|
-
const tokenSet = await (0, oidc_client_ext_1.refresh)(refreshToken, oidcContext.issuerConfig, clientInfo, dpopKey);
|
|
21
|
-
if (tokenSet.refreshToken !== undefined) {
|
|
22
|
-
eventEmitter === null || eventEmitter === void 0 ? void 0 : eventEmitter.emit(solid_client_authn_core_1.EVENTS.NEW_REFRESH_TOKEN, tokenSet.refreshToken);
|
|
23
|
-
await this.storageUtility.setForUser(sessionId, {
|
|
24
|
-
refreshToken: tokenSet.refreshToken,
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
return tokenSet;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.default = TokenRefresher;
|
|
31
|
-
//# sourceMappingURL=TokenRefresher.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TokenRefresher.js","sourceRoot":"","sources":["../../../../src/login/oidc/refresh/TokenRefresher.ts"],"names":[],"mappings":";;AA0BA,6EAUyC;AACzC,6DAAkD;AAUlD,MAAqB,cAAc;IACjC,YACU,cAA+B,EAC/B,mBAAyC,EACzC,eAAiC;QAFjC,mBAAc,GAAd,cAAc,CAAiB;QAC/B,wBAAmB,GAAnB,mBAAmB,CAAsB;QACzC,oBAAe,GAAf,eAAe,CAAkB;IACxC,CAAC;IAEJ,KAAK,CAAC,OAAO,CACX,SAAiB,EACjB,YAAqB,EACrB,OAAiB,EACjB,YAA2B;QAE3B,MAAM,WAAW,GAAG,MAAM,IAAA,oDAA0B,EAClD,SAAS,EACT,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,mBAAmB,CACzB,CAAC;QAEF,MAAM,UAAU,GAAY,MAAM,IAAI,CAAC,eAAe,CAAC,SAAS,CAC9D,EAAE,SAAS,EAAE,EACb,WAAW,CAAC,YAAY,CACzB,CAAC;QAEF,IAAI,YAAY,KAAK,SAAS,EAAE;YAE9B,MAAM,IAAI,KAAK,CACb,YAAY,SAAS,iEAAiE,CACvF,CAAC;SACH;QAED,IAAI,WAAW,CAAC,IAAI,IAAI,OAAO,KAAK,SAAS,EAAE;YAC7C,MAAM,IAAI,KAAK,CACb,gBAAgB,SAAS,0FAA0F,CACpH,CAAC;SACH;QAED,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAO,EAC5B,YAAY,EACZ,WAAW,CAAC,YAAY,EACxB,UAAU,EACV,OAAO,CACR,CAAC;QAEF,IAAI,QAAQ,CAAC,YAAY,KAAK,SAAS,EAAE;YACvC,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,IAAI,CAAC,gCAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;YACpE,MAAM,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,SAAS,EAAE;gBAC9C,YAAY,EAAE,QAAQ,CAAC,YAAY;aACpC,CAAC,CAAC;SACJ;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AApDD,iCAoDC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
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,15 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class GeneralLogoutHandler {
|
|
4
|
-
constructor(sessionInfoManager) {
|
|
5
|
-
this.sessionInfoManager = sessionInfoManager;
|
|
6
|
-
}
|
|
7
|
-
async canHandle() {
|
|
8
|
-
return true;
|
|
9
|
-
}
|
|
10
|
-
async handle(userId) {
|
|
11
|
-
await this.sessionInfoManager.clear(userId);
|
|
12
|
-
}
|
|
13
|
-
}
|
|
14
|
-
exports.default = GeneralLogoutHandler;
|
|
15
|
-
//# sourceMappingURL=GeneralLogoutHandler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"GeneralLogoutHandler.js","sourceRoot":"","sources":["../../src/logout/GeneralLogoutHandler.ts"],"names":[],"mappings":";;AAkCA,MAAqB,oBAAoB;IACvC,YAAoB,kBAAuC;QAAvC,uBAAkB,GAAlB,kBAAkB,CAAqB;IAAG,CAAC;IAE/D,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,MAAc;QACzB,MAAM,IAAI,CAAC,kBAAkB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;CACF;AAVD,uCAUC"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SessionInfoManager = exports.clear = exports.getUnauthenticatedSession = void 0;
|
|
4
|
-
const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
|
|
5
|
-
const uuid_1 = require("uuid");
|
|
6
|
-
const oidc_client_ext_1 = require("@inrupt/oidc-client-ext");
|
|
7
|
-
const universal_fetch_1 = require("@inrupt/universal-fetch");
|
|
8
|
-
function getUnauthenticatedSession() {
|
|
9
|
-
return {
|
|
10
|
-
isLoggedIn: false,
|
|
11
|
-
sessionId: (0, uuid_1.v4)(),
|
|
12
|
-
fetch: universal_fetch_1.fetch,
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
exports.getUnauthenticatedSession = getUnauthenticatedSession;
|
|
16
|
-
async function clear(sessionId, storage) {
|
|
17
|
-
await Promise.all([
|
|
18
|
-
storage.deleteAllUserData(sessionId, { secure: false }),
|
|
19
|
-
storage.deleteAllUserData(sessionId, { secure: true }),
|
|
20
|
-
storage.delete("clientKey", { secure: false }),
|
|
21
|
-
]);
|
|
22
|
-
await (0, oidc_client_ext_1.clearOidcPersistentStorage)();
|
|
23
|
-
}
|
|
24
|
-
exports.clear = clear;
|
|
25
|
-
class SessionInfoManager {
|
|
26
|
-
constructor(storageUtility) {
|
|
27
|
-
this.storageUtility = storageUtility;
|
|
28
|
-
}
|
|
29
|
-
update(_sessionId, _options) {
|
|
30
|
-
throw new Error("Not Implemented");
|
|
31
|
-
}
|
|
32
|
-
async get(sessionId) {
|
|
33
|
-
var _a;
|
|
34
|
-
const isLoggedIn = await this.storageUtility.getForUser(sessionId, "isLoggedIn", {
|
|
35
|
-
secure: true,
|
|
36
|
-
});
|
|
37
|
-
const webId = await this.storageUtility.getForUser(sessionId, "webId", {
|
|
38
|
-
secure: true,
|
|
39
|
-
});
|
|
40
|
-
const clientId = await this.storageUtility.getForUser(sessionId, "clientId", {
|
|
41
|
-
secure: false,
|
|
42
|
-
});
|
|
43
|
-
const clientSecret = await this.storageUtility.getForUser(sessionId, "clientSecret", {
|
|
44
|
-
secure: false,
|
|
45
|
-
});
|
|
46
|
-
const redirectUrl = await this.storageUtility.getForUser(sessionId, "redirectUrl", {
|
|
47
|
-
secure: false,
|
|
48
|
-
});
|
|
49
|
-
const refreshToken = await this.storageUtility.getForUser(sessionId, "refreshToken", {
|
|
50
|
-
secure: true,
|
|
51
|
-
});
|
|
52
|
-
const issuer = await this.storageUtility.getForUser(sessionId, "issuer", {
|
|
53
|
-
secure: false,
|
|
54
|
-
});
|
|
55
|
-
const tokenType = (_a = (await this.storageUtility.getForUser(sessionId, "tokenType", {
|
|
56
|
-
secure: false,
|
|
57
|
-
}))) !== null && _a !== void 0 ? _a : "DPoP";
|
|
58
|
-
if (!(0, solid_client_authn_core_1.isSupportedTokenType)(tokenType)) {
|
|
59
|
-
throw new Error(`Tokens of type [${tokenType}] are not supported.`);
|
|
60
|
-
}
|
|
61
|
-
if (clientId === undefined &&
|
|
62
|
-
isLoggedIn === undefined &&
|
|
63
|
-
webId === undefined &&
|
|
64
|
-
refreshToken === undefined) {
|
|
65
|
-
return undefined;
|
|
66
|
-
}
|
|
67
|
-
return {
|
|
68
|
-
sessionId,
|
|
69
|
-
webId,
|
|
70
|
-
isLoggedIn: isLoggedIn === "true",
|
|
71
|
-
redirectUrl,
|
|
72
|
-
refreshToken,
|
|
73
|
-
issuer,
|
|
74
|
-
clientAppId: clientId,
|
|
75
|
-
clientAppSecret: clientSecret,
|
|
76
|
-
tokenType,
|
|
77
|
-
};
|
|
78
|
-
}
|
|
79
|
-
async getAll() {
|
|
80
|
-
throw new Error("Not implemented");
|
|
81
|
-
}
|
|
82
|
-
async clear(sessionId) {
|
|
83
|
-
return clear(sessionId, this.storageUtility);
|
|
84
|
-
}
|
|
85
|
-
async register(_sessionId) {
|
|
86
|
-
throw new Error("Not implemented");
|
|
87
|
-
}
|
|
88
|
-
async getRegisteredSessionIdAll() {
|
|
89
|
-
throw new Error("Not implemented");
|
|
90
|
-
}
|
|
91
|
-
async clearAll() {
|
|
92
|
-
throw new Error("Not implemented");
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
exports.SessionInfoManager = SessionInfoManager;
|
|
96
|
-
//# sourceMappingURL=SessionInfoManager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SessionInfoManager.js","sourceRoot":"","sources":["../../src/sessionInfo/SessionInfoManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*!
|
|
2
|
-
* The buffer module from node.js, for the browser.
|
|
3
|
-
*
|
|
4
|
-
* @author Feross Aboukhadijeh <http://feross.org>
|
|
5
|
-
* @license MIT
|
|
6
|
-
*/
|
|
7
|
-
|
|
8
|
-
/*! (c) Stefan Thomas | https://github.com/bitcoinjs/bitcoinjs-lib
|
|
9
|
-
*/
|
|
10
|
-
|
|
11
|
-
/*! (c) Tom Wu | http://www-cs-students.stanford.edu/~tjw/jsbn/
|
|
12
|
-
*/
|
|
13
|
-
|
|
14
|
-
/*! Mike Samuel (c) 2009 | code.google.com/p/json-sans-eval
|
|
15
|
-
*/
|
|
16
|
-
|
|
17
|
-
/*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
class BrowserStorage {
|
|
4
|
-
get storage() {
|
|
5
|
-
return window.localStorage;
|
|
6
|
-
}
|
|
7
|
-
async get(key) {
|
|
8
|
-
return this.storage.getItem(key) || undefined;
|
|
9
|
-
}
|
|
10
|
-
async set(key, value) {
|
|
11
|
-
this.storage.setItem(key, value);
|
|
12
|
-
}
|
|
13
|
-
async delete(key) {
|
|
14
|
-
this.storage.removeItem(key);
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
exports.default = BrowserStorage;
|
|
18
|
-
//# sourceMappingURL=BrowserStorage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"BrowserStorage.js","sourceRoot":"","sources":["../../src/storage/BrowserStorage.ts"],"names":[],"mappings":";;AA+BA,MAAqB,cAAc;IACjC,IAAI,OAAO;QACT,OAAO,MAAM,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW,EAAE,KAAa;QAClC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;CACF;AAhBD,iCAgBC"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const solid_client_authn_core_1 = require("@inrupt/solid-client-authn-core");
|
|
4
|
-
class StorageUtilityBrowser extends solid_client_authn_core_1.StorageUtility {
|
|
5
|
-
constructor(secureStorage, insecureStorage) {
|
|
6
|
-
super(secureStorage, insecureStorage);
|
|
7
|
-
}
|
|
8
|
-
}
|
|
9
|
-
exports.default = StorageUtilityBrowser;
|
|
10
|
-
//# sourceMappingURL=StorageUtility.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"StorageUtility.js","sourceRoot":"","sources":["../../src/storage/StorageUtility.ts"],"names":[],"mappings":";;AA6BA,6EAA2E;AAS3E,MAAqB,qBAAsB,SAAQ,wCAAc;IAC/D,YAAY,aAAuB,EAAE,eAAyB;QAC5D,KAAK,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC;IACxC,CAAC;CACF;AAJD,wCAIC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"UuidGenerator.js","sourceRoot":"","sources":["../../src/util/UuidGenerator.ts"],"names":[],"mappings":";;AA6BA,+BAA0B;AAY1B,MAAqB,aAAa;IAEhC,EAAE;QACA,OAAO,IAAA,SAAE,GAAE,CAAC;IACd,CAAC;CACF;AALD,gCAKC"}
|