@azure/msal-browser 2.18.0 → 2.22.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.json +1758 -1548
- package/CHANGELOG.md +553 -491
- package/LICENSE +21 -21
- package/README.md +5 -3
- package/dist/_virtual/_tslib.js +1 -1
- package/dist/app/ClientApplication.d.ts +30 -1
- package/dist/app/ClientApplication.d.ts.map +1 -1
- package/dist/app/ClientApplication.js +101 -5
- package/dist/app/ClientApplication.js.map +1 -1
- package/dist/app/IPublicClientApplication.d.ts +4 -0
- package/dist/app/IPublicClientApplication.d.ts.map +1 -1
- package/dist/app/IPublicClientApplication.js +7 -1
- package/dist/app/IPublicClientApplication.js.map +1 -1
- package/dist/app/PublicClientApplication.d.ts +2 -2
- package/dist/app/PublicClientApplication.d.ts.map +1 -1
- package/dist/app/PublicClientApplication.js +31 -24
- package/dist/app/PublicClientApplication.js.map +1 -1
- package/dist/cache/AsyncMemoryStorage.d.ts +46 -0
- package/dist/cache/AsyncMemoryStorage.d.ts.map +1 -0
- package/dist/cache/AsyncMemoryStorage.js +195 -0
- package/dist/cache/AsyncMemoryStorage.js.map +1 -0
- package/dist/cache/BrowserCacheManager.d.ts +19 -13
- package/dist/cache/BrowserCacheManager.d.ts.map +1 -1
- package/dist/cache/BrowserCacheManager.js +31 -7
- package/dist/cache/BrowserCacheManager.js.map +1 -1
- package/dist/cache/BrowserStorage.d.ts +1 -1
- package/dist/cache/BrowserStorage.d.ts.map +1 -1
- package/dist/cache/BrowserStorage.js +1 -1
- package/dist/cache/BrowserStorage.js.map +1 -1
- package/dist/cache/DatabaseStorage.d.ts +25 -6
- package/dist/cache/DatabaseStorage.d.ts.map +1 -1
- package/dist/cache/DatabaseStorage.js +127 -81
- package/dist/cache/DatabaseStorage.js.map +1 -1
- package/dist/cache/IAsyncMemoryStorage.d.ts +28 -0
- package/dist/cache/IAsyncMemoryStorage.d.ts.map +1 -0
- package/dist/cache/IWindowStorage.d.ts +3 -3
- package/dist/cache/IWindowStorage.d.ts.map +1 -1
- package/dist/cache/MemoryStorage.d.ts +3 -3
- package/dist/cache/MemoryStorage.d.ts.map +1 -1
- package/dist/cache/MemoryStorage.js +1 -1
- package/dist/cache/MemoryStorage.js.map +1 -1
- package/dist/cache/TokenCache.d.ts.map +1 -1
- package/dist/cache/TokenCache.js +4 -3
- package/dist/cache/TokenCache.js.map +1 -1
- package/dist/config/Configuration.d.ts +10 -9
- package/dist/config/Configuration.d.ts.map +1 -1
- package/dist/config/Configuration.js +7 -3
- package/dist/config/Configuration.js.map +1 -1
- package/dist/crypto/BrowserCrypto.d.ts +3 -1
- package/dist/crypto/BrowserCrypto.d.ts.map +1 -1
- package/dist/crypto/BrowserCrypto.js +3 -2
- package/dist/crypto/BrowserCrypto.js.map +1 -1
- package/dist/crypto/CryptoOps.d.ts +16 -5
- package/dist/crypto/CryptoOps.d.ts.map +1 -1
- package/dist/crypto/CryptoOps.js +58 -17
- package/dist/crypto/CryptoOps.js.map +1 -1
- package/dist/crypto/GuidGenerator.js +1 -1
- package/dist/crypto/GuidGenerator.js.map +1 -1
- package/dist/crypto/PkceGenerator.js +1 -1
- package/dist/crypto/PkceGenerator.js.map +1 -1
- package/dist/crypto/SignedHttpRequest.d.ts +6 -2
- package/dist/crypto/SignedHttpRequest.d.ts.map +1 -1
- package/dist/crypto/SignedHttpRequest.js +11 -5
- package/dist/crypto/SignedHttpRequest.js.map +1 -1
- package/dist/encode/Base64Decode.js +1 -1
- package/dist/encode/Base64Decode.js.map +1 -1
- package/dist/encode/Base64Encode.js +1 -1
- package/dist/encode/Base64Encode.js.map +1 -1
- package/dist/error/BrowserAuthError.d.ts +16 -0
- package/dist/error/BrowserAuthError.d.ts.map +1 -1
- package/dist/error/BrowserAuthError.js +22 -2
- package/dist/error/BrowserAuthError.js.map +1 -1
- package/dist/error/BrowserConfigurationAuthError.js +1 -1
- package/dist/error/BrowserConfigurationAuthError.js.map +1 -1
- package/dist/event/EventHandler.js +1 -1
- package/dist/event/EventHandler.js.map +1 -1
- package/dist/event/EventMessage.js +1 -1
- package/dist/event/EventMessage.js.map +1 -1
- package/dist/event/EventType.d.ts +3 -0
- package/dist/event/EventType.d.ts.map +1 -1
- package/dist/event/EventType.js +4 -1
- package/dist/event/EventType.js.map +1 -1
- package/dist/index.cjs.js +1473 -511
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.d.ts +16 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -3
- package/dist/index.js.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.d.ts +2 -2
- package/dist/interaction_client/BaseInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/BaseInteractionClient.js +40 -17
- package/dist/interaction_client/BaseInteractionClient.js.map +1 -1
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts +5 -0
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.d.ts.map +1 -0
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js +21 -0
- package/dist/interaction_client/HybridSpaAuthorizationCodeClient.js.map +1 -0
- package/dist/interaction_client/PopupClient.d.ts +4 -3
- package/dist/interaction_client/PopupClient.d.ts.map +1 -1
- package/dist/interaction_client/PopupClient.js +23 -21
- package/dist/interaction_client/PopupClient.js.map +1 -1
- package/dist/interaction_client/RedirectClient.d.ts +3 -3
- package/dist/interaction_client/RedirectClient.d.ts.map +1 -1
- package/dist/interaction_client/RedirectClient.js +22 -20
- package/dist/interaction_client/RedirectClient.js.map +1 -1
- package/dist/interaction_client/SilentAuthCodeClient.d.ts +22 -0
- package/dist/interaction_client/SilentAuthCodeClient.d.ts.map +1 -0
- package/dist/interaction_client/SilentAuthCodeClient.js +83 -0
- package/dist/interaction_client/SilentAuthCodeClient.js.map +1 -0
- package/dist/interaction_client/SilentCacheClient.d.ts +3 -3
- package/dist/interaction_client/SilentCacheClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentCacheClient.js +15 -5
- package/dist/interaction_client/SilentCacheClient.js.map +1 -1
- package/dist/interaction_client/SilentIframeClient.d.ts +3 -3
- package/dist/interaction_client/SilentIframeClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentIframeClient.js +16 -13
- package/dist/interaction_client/SilentIframeClient.js.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.d.ts +2 -2
- package/dist/interaction_client/SilentRefreshClient.d.ts.map +1 -1
- package/dist/interaction_client/SilentRefreshClient.js +13 -10
- package/dist/interaction_client/SilentRefreshClient.js.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.d.ts +11 -11
- package/dist/interaction_client/StandardInteractionClient.d.ts.map +1 -1
- package/dist/interaction_client/StandardInteractionClient.js +90 -57
- package/dist/interaction_client/StandardInteractionClient.js.map +1 -1
- package/dist/interaction_handler/InteractionHandler.d.ts +11 -2
- package/dist/interaction_handler/InteractionHandler.d.ts.map +1 -1
- package/dist/interaction_handler/InteractionHandler.js +36 -10
- package/dist/interaction_handler/InteractionHandler.js.map +1 -1
- package/dist/interaction_handler/PopupHandler.d.ts.map +1 -1
- package/dist/interaction_handler/PopupHandler.js +1 -3
- package/dist/interaction_handler/PopupHandler.js.map +1 -1
- package/dist/interaction_handler/RedirectHandler.d.ts +1 -1
- package/dist/interaction_handler/RedirectHandler.d.ts.map +1 -1
- package/dist/interaction_handler/RedirectHandler.js +2 -3
- package/dist/interaction_handler/RedirectHandler.js.map +1 -1
- package/dist/interaction_handler/SilentHandler.js +1 -1
- package/dist/interaction_handler/SilentHandler.js.map +1 -1
- package/dist/navigation/NavigationClient.js +1 -1
- package/dist/navigation/NavigationClient.js.map +1 -1
- package/dist/network/FetchClient.js +1 -1
- package/dist/network/FetchClient.js.map +1 -1
- package/dist/network/XhrClient.js +1 -1
- package/dist/network/XhrClient.js.map +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.js +2 -2
- package/dist/packageMetadata.js.map +1 -1
- package/dist/request/AuthorizationCodeRequest.d.ts +8 -0
- package/dist/request/AuthorizationCodeRequest.d.ts.map +1 -0
- package/dist/request/AuthorizationUrlRequest.d.ts +1 -1
- package/dist/request/AuthorizationUrlRequest.d.ts.map +1 -1
- package/dist/request/EndSessionPopupRequest.d.ts +1 -0
- package/dist/request/EndSessionPopupRequest.d.ts.map +1 -1
- package/dist/request/EndSessionRequest.d.ts +1 -0
- package/dist/request/EndSessionRequest.d.ts.map +1 -1
- package/dist/request/PopupRequest.d.ts +1 -1
- package/dist/request/PopupRequest.d.ts.map +1 -1
- package/dist/request/RedirectRequest.d.ts +1 -1
- package/dist/request/RedirectRequest.d.ts.map +1 -1
- package/dist/request/SilentRequest.d.ts +1 -1
- package/dist/request/SilentRequest.d.ts.map +1 -1
- package/dist/request/SsoSilentRequest.d.ts +1 -1
- package/dist/request/SsoSilentRequest.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.d.ts +6 -1
- package/dist/utils/BrowserConstants.d.ts.map +1 -1
- package/dist/utils/BrowserConstants.js +9 -3
- package/dist/utils/BrowserConstants.js.map +1 -1
- package/dist/utils/BrowserProtocolUtils.js +1 -1
- package/dist/utils/BrowserProtocolUtils.js.map +1 -1
- package/dist/utils/BrowserStringUtils.js +1 -1
- package/dist/utils/BrowserStringUtils.js.map +1 -1
- package/dist/utils/BrowserUtils.js +1 -1
- package/dist/utils/BrowserUtils.js.map +1 -1
- package/dist/utils/MathUtils.js +1 -1
- package/dist/utils/MathUtils.js.map +1 -1
- package/dist/utils/PopupUtils.d.ts +1 -2
- package/dist/utils/PopupUtils.d.ts.map +1 -1
- package/dist/utils/PopupUtils.js +3 -3
- package/dist/utils/PopupUtils.js.map +1 -1
- package/lib/msal-browser.js +1473 -511
- package/lib/msal-browser.js.map +1 -1
- package/lib/msal-browser.min.js +36 -31
- package/package.json +96 -94
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.22.0 2022-02-08 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __awaiter, __generator } from '../_virtual/_tslib.js';
|
|
4
4
|
import { BrowserAuthError } from '../error/BrowserAuthError.js';
|
|
5
|
+
import { DB_NAME, DB_VERSION, DB_TABLE_NAME } from '../utils/BrowserConstants.js';
|
|
5
6
|
|
|
6
7
|
/*
|
|
7
8
|
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
@@ -11,10 +12,10 @@ import { BrowserAuthError } from '../error/BrowserAuthError.js';
|
|
|
11
12
|
* Storage wrapper for IndexedDB storage in browsers: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API
|
|
12
13
|
*/
|
|
13
14
|
var DatabaseStorage = /** @class */ (function () {
|
|
14
|
-
function DatabaseStorage(
|
|
15
|
-
this.dbName =
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
15
|
+
function DatabaseStorage() {
|
|
16
|
+
this.dbName = DB_NAME;
|
|
17
|
+
this.version = DB_VERSION;
|
|
18
|
+
this.tableName = DB_TABLE_NAME;
|
|
18
19
|
this.dbOpen = false;
|
|
19
20
|
}
|
|
20
21
|
/**
|
|
@@ -25,7 +26,6 @@ var DatabaseStorage = /** @class */ (function () {
|
|
|
25
26
|
var _this = this;
|
|
26
27
|
return __generator(this, function (_a) {
|
|
27
28
|
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
28
|
-
// TODO: Add timeouts?
|
|
29
29
|
var openDB = window.indexedDB.open(_this.dbName, _this.version);
|
|
30
30
|
openDB.addEventListener("upgradeneeded", function (e) {
|
|
31
31
|
var event = e;
|
|
@@ -37,40 +37,53 @@ var DatabaseStorage = /** @class */ (function () {
|
|
|
37
37
|
_this.dbOpen = true;
|
|
38
38
|
resolve();
|
|
39
39
|
});
|
|
40
|
-
openDB.addEventListener("error", function (
|
|
40
|
+
openDB.addEventListener("error", function () { return reject(BrowserAuthError.createDatabaseUnavailableError()); });
|
|
41
41
|
})];
|
|
42
42
|
});
|
|
43
43
|
});
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
47
|
-
* @param key
|
|
46
|
+
* Opens database if it's not already open
|
|
48
47
|
*/
|
|
49
|
-
DatabaseStorage.prototype.
|
|
48
|
+
DatabaseStorage.prototype.validateDbIsOpen = function () {
|
|
50
49
|
return __awaiter(this, void 0, void 0, function () {
|
|
51
|
-
var _this = this;
|
|
52
50
|
return __generator(this, function (_a) {
|
|
53
51
|
switch (_a.label) {
|
|
54
52
|
case 0:
|
|
55
53
|
if (!!this.dbOpen) return [3 /*break*/, 2];
|
|
56
54
|
return [4 /*yield*/, this.open()];
|
|
55
|
+
case 1: return [2 /*return*/, _a.sent()];
|
|
56
|
+
case 2: return [2 /*return*/];
|
|
57
|
+
}
|
|
58
|
+
});
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Retrieves item from IndexedDB instance.
|
|
63
|
+
* @param key
|
|
64
|
+
*/
|
|
65
|
+
DatabaseStorage.prototype.getItem = function (key) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
67
|
+
var _this = this;
|
|
68
|
+
return __generator(this, function (_a) {
|
|
69
|
+
switch (_a.label) {
|
|
70
|
+
case 0: return [4 /*yield*/, this.validateDbIsOpen()];
|
|
57
71
|
case 1:
|
|
58
72
|
_a.sent();
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
})];
|
|
73
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
74
|
+
// TODO: Add timeouts?
|
|
75
|
+
if (!_this.db) {
|
|
76
|
+
return reject(BrowserAuthError.createDatabaseNotOpenError());
|
|
77
|
+
}
|
|
78
|
+
var transaction = _this.db.transaction([_this.tableName], "readonly");
|
|
79
|
+
var objectStore = transaction.objectStore(_this.tableName);
|
|
80
|
+
var dbGet = objectStore.get(key);
|
|
81
|
+
dbGet.addEventListener("success", function (e) {
|
|
82
|
+
var event = e;
|
|
83
|
+
resolve(event.target.result);
|
|
84
|
+
});
|
|
85
|
+
dbGet.addEventListener("error", function (e) { return reject(e); });
|
|
86
|
+
})];
|
|
74
87
|
}
|
|
75
88
|
});
|
|
76
89
|
});
|
|
@@ -80,31 +93,25 @@ var DatabaseStorage = /** @class */ (function () {
|
|
|
80
93
|
* @param key
|
|
81
94
|
* @param payload
|
|
82
95
|
*/
|
|
83
|
-
DatabaseStorage.prototype.
|
|
96
|
+
DatabaseStorage.prototype.setItem = function (key, payload) {
|
|
84
97
|
return __awaiter(this, void 0, void 0, function () {
|
|
85
98
|
var _this = this;
|
|
86
99
|
return __generator(this, function (_a) {
|
|
87
100
|
switch (_a.label) {
|
|
88
|
-
case 0:
|
|
89
|
-
if (!!this.dbOpen) return [3 /*break*/, 2];
|
|
90
|
-
return [4 /*yield*/, this.open()];
|
|
101
|
+
case 0: return [4 /*yield*/, this.validateDbIsOpen()];
|
|
91
102
|
case 1:
|
|
92
103
|
_a.sent();
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
resolve(event.target.result);
|
|
105
|
-
});
|
|
106
|
-
dbPut.addEventListener("error", function (e) { return reject(e); });
|
|
107
|
-
})];
|
|
104
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
105
|
+
// TODO: Add timeouts?
|
|
106
|
+
if (!_this.db) {
|
|
107
|
+
return reject(BrowserAuthError.createDatabaseNotOpenError());
|
|
108
|
+
}
|
|
109
|
+
var transaction = _this.db.transaction([_this.tableName], "readwrite");
|
|
110
|
+
var objectStore = transaction.objectStore(_this.tableName);
|
|
111
|
+
var dbPut = objectStore.put(payload, key);
|
|
112
|
+
dbPut.addEventListener("success", function () { return resolve(); });
|
|
113
|
+
dbPut.addEventListener("error", function (e) { return reject(e); });
|
|
114
|
+
})];
|
|
108
115
|
}
|
|
109
116
|
});
|
|
110
117
|
});
|
|
@@ -113,62 +120,101 @@ var DatabaseStorage = /** @class */ (function () {
|
|
|
113
120
|
* Removes item from IndexedDB under given key
|
|
114
121
|
* @param key
|
|
115
122
|
*/
|
|
116
|
-
DatabaseStorage.prototype.
|
|
123
|
+
DatabaseStorage.prototype.removeItem = function (key) {
|
|
117
124
|
return __awaiter(this, void 0, void 0, function () {
|
|
118
125
|
var _this = this;
|
|
119
126
|
return __generator(this, function (_a) {
|
|
120
127
|
switch (_a.label) {
|
|
121
|
-
case 0:
|
|
122
|
-
if (!!this.dbOpen) return [3 /*break*/, 2];
|
|
123
|
-
return [4 /*yield*/, this.open()];
|
|
128
|
+
case 0: return [4 /*yield*/, this.validateDbIsOpen()];
|
|
124
129
|
case 1:
|
|
125
130
|
_a.sent();
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
resolve(event.target.result === undefined);
|
|
137
|
-
});
|
|
138
|
-
dbDelete.addEventListener("error", function (e) { return reject(e); });
|
|
139
|
-
})];
|
|
131
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
132
|
+
if (!_this.db) {
|
|
133
|
+
return reject(BrowserAuthError.createDatabaseNotOpenError());
|
|
134
|
+
}
|
|
135
|
+
var transaction = _this.db.transaction([_this.tableName], "readwrite");
|
|
136
|
+
var objectStore = transaction.objectStore(_this.tableName);
|
|
137
|
+
var dbDelete = objectStore.delete(key);
|
|
138
|
+
dbDelete.addEventListener("success", function () { return resolve(); });
|
|
139
|
+
dbDelete.addEventListener("error", function (e) { return reject(e); });
|
|
140
|
+
})];
|
|
140
141
|
}
|
|
141
142
|
});
|
|
142
143
|
});
|
|
143
144
|
};
|
|
144
|
-
|
|
145
|
+
/**
|
|
146
|
+
* Get all the keys from the storage object as an iterable array of strings.
|
|
147
|
+
*/
|
|
148
|
+
DatabaseStorage.prototype.getKeys = function () {
|
|
145
149
|
return __awaiter(this, void 0, void 0, function () {
|
|
146
150
|
var _this = this;
|
|
147
151
|
return __generator(this, function (_a) {
|
|
148
152
|
switch (_a.label) {
|
|
149
|
-
case 0:
|
|
150
|
-
if (!!this.dbOpen) return [3 /*break*/, 2];
|
|
151
|
-
return [4 /*yield*/, this.open()];
|
|
153
|
+
case 0: return [4 /*yield*/, this.validateDbIsOpen()];
|
|
152
154
|
case 1:
|
|
153
155
|
_a.sent();
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
})];
|
|
156
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
157
|
+
if (!_this.db) {
|
|
158
|
+
return reject(BrowserAuthError.createDatabaseNotOpenError());
|
|
159
|
+
}
|
|
160
|
+
var transaction = _this.db.transaction([_this.tableName], "readonly");
|
|
161
|
+
var objectStore = transaction.objectStore(_this.tableName);
|
|
162
|
+
var dbGetKeys = objectStore.getAllKeys();
|
|
163
|
+
dbGetKeys.addEventListener("success", function (e) {
|
|
164
|
+
var event = e;
|
|
165
|
+
resolve(event.target.result);
|
|
166
|
+
});
|
|
167
|
+
dbGetKeys.addEventListener("error", function (e) { return reject(e); });
|
|
168
|
+
})];
|
|
168
169
|
}
|
|
169
170
|
});
|
|
170
171
|
});
|
|
171
172
|
};
|
|
173
|
+
/**
|
|
174
|
+
*
|
|
175
|
+
* Checks whether there is an object under the search key in the object store
|
|
176
|
+
*/
|
|
177
|
+
DatabaseStorage.prototype.containsKey = function (key) {
|
|
178
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
179
|
+
var _this = this;
|
|
180
|
+
return __generator(this, function (_a) {
|
|
181
|
+
switch (_a.label) {
|
|
182
|
+
case 0: return [4 /*yield*/, this.validateDbIsOpen()];
|
|
183
|
+
case 1:
|
|
184
|
+
_a.sent();
|
|
185
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
186
|
+
if (!_this.db) {
|
|
187
|
+
return reject(BrowserAuthError.createDatabaseNotOpenError());
|
|
188
|
+
}
|
|
189
|
+
var transaction = _this.db.transaction([_this.tableName], "readonly");
|
|
190
|
+
var objectStore = transaction.objectStore(_this.tableName);
|
|
191
|
+
var dbContainsKey = objectStore.count(key);
|
|
192
|
+
dbContainsKey.addEventListener("success", function (e) {
|
|
193
|
+
var event = e;
|
|
194
|
+
resolve(event.target.result === 1);
|
|
195
|
+
});
|
|
196
|
+
dbContainsKey.addEventListener("error", function (e) { return reject(e); });
|
|
197
|
+
})];
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
});
|
|
201
|
+
};
|
|
202
|
+
/**
|
|
203
|
+
* Deletes the MSAL database. The database is deleted rather than cleared to make it possible
|
|
204
|
+
* for client applications to downgrade to a previous MSAL version without worrying about forward compatibility issues
|
|
205
|
+
* with IndexedDB database versions.
|
|
206
|
+
*/
|
|
207
|
+
DatabaseStorage.prototype.deleteDatabase = function () {
|
|
208
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
209
|
+
return __generator(this, function (_a) {
|
|
210
|
+
return [2 /*return*/, new Promise(function (resolve, reject) {
|
|
211
|
+
var deleteDbRequest = window.indexedDB.deleteDatabase(DB_NAME);
|
|
212
|
+
deleteDbRequest.addEventListener("success", function () { return resolve(true); });
|
|
213
|
+
deleteDbRequest.addEventListener("error", function () { return reject(false); });
|
|
214
|
+
})];
|
|
215
|
+
});
|
|
216
|
+
});
|
|
217
|
+
};
|
|
172
218
|
return DatabaseStorage;
|
|
173
219
|
}());
|
|
174
220
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabaseStorage.js","sources":["../../src/cache/DatabaseStorage.ts"],"sourcesContent":["/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\r\n\r\ninterface IDBOpenDBRequestEvent extends Event {\r\n target: IDBOpenDBRequest & EventTarget;\r\n}\r\n\r\ninterface IDBOpenOnUpgradeNeededEvent extends IDBVersionChangeEvent {\r\n target: IDBOpenDBRequest & EventTarget;\r\n}\r\n\r\ninterface IDBRequestEvent extends Event {\r\n target: IDBRequest & EventTarget;\r\n}\r\n\r\n/**\r\n * Storage wrapper for IndexedDB storage in browsers: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API\r\n */\r\nexport class DatabaseStorage<T>{\r\n private db: IDBDatabase|undefined;\r\n private dbName: string;\r\n private tableName: string;\r\n private version: number;\r\n private dbOpen: boolean;\r\n\r\n constructor(dbName: string, tableName: string, version: number) {\r\n this.dbName = dbName;\r\n this.tableName = tableName;\r\n this.version = version;\r\n this.dbOpen = false;\r\n }\r\n\r\n /**\r\n * Opens IndexedDB instance.\r\n */\r\n async open(): Promise<void> {\r\n return new Promise((resolve, reject) => {\r\n // TODO: Add timeouts?\r\n const openDB = window.indexedDB.open(this.dbName, this.version);\r\n openDB.addEventListener(\"upgradeneeded\", (e: IDBVersionChangeEvent) => {\r\n const event = e as IDBOpenOnUpgradeNeededEvent;\r\n event.target.result.createObjectStore(this.tableName);\r\n });\r\n openDB.addEventListener(\"success\", (e: Event) => {\r\n const event = e as IDBOpenDBRequestEvent;\r\n this.db = event.target.result;\r\n this.dbOpen = true;\r\n resolve();\r\n });\r\n\r\n openDB.addEventListener(\"error\", error => reject(error));\r\n });\r\n }\r\n\r\n /**\r\n * Retrieves item from IndexedDB instance.\r\n * @param key \r\n */\r\n async get(key: string): Promise<T> {\r\n if (!this.dbOpen) {\r\n await this.open();\r\n }\r\n\r\n return new Promise<T>((resolve, reject) => {\r\n // TODO: Add timeouts?\r\n if (!this.db) {\r\n return reject(BrowserAuthError.createDatabaseNotOpenError());\r\n }\r\n\r\n const transaction = this.db.transaction([this.tableName], \"readonly\");\r\n\r\n const objectStore = transaction.objectStore(this.tableName);\r\n const dbGet = objectStore.get(key);\r\n dbGet.addEventListener(\"success\", (e: Event) => {\r\n const event = e as IDBRequestEvent;\r\n resolve(event.target.result);\r\n });\r\n dbGet.addEventListener(\"error\", e => reject(e));\r\n });\r\n }\r\n\r\n /**\r\n * Adds item to IndexedDB under given key\r\n * @param key \r\n * @param payload \r\n */\r\n async put(key: string, payload: T): Promise<T> {\r\n if (!this.dbOpen) {\r\n await this.open();\r\n }\r\n\r\n return new Promise<T>((resolve: Function, reject: Function) => {\r\n // TODO: Add timeouts?\r\n if (!this.db) {\r\n return reject(BrowserAuthError.createDatabaseNotOpenError());\r\n }\r\n\r\n const transaction = this.db.transaction([this.tableName], \"readwrite\");\r\n const objectStore = transaction.objectStore(this.tableName);\r\n\r\n const dbPut = objectStore.put(payload, key);\r\n dbPut.addEventListener(\"success\", (e: Event) => {\r\n const event = e as IDBRequestEvent;\r\n resolve(event.target.result);\r\n });\r\n dbPut.addEventListener(\"error\", e => reject(e));\r\n });\r\n }\r\n\r\n /**\r\n * Removes item from IndexedDB under given key\r\n * @param key\r\n */\r\n async delete(key: string): Promise<boolean> {\r\n if (!this.dbOpen) {\r\n await this.open();\r\n }\r\n\r\n return new Promise<boolean>((resolve: Function, reject: Function) => {\r\n if (!this.db) {\r\n return reject(BrowserAuthError.createDatabaseNotOpenError());\r\n }\r\n\r\n const transaction = this.db.transaction([this.tableName], \"readwrite\");\r\n\r\n const objectStore = transaction.objectStore(this.tableName);\r\n\r\n const dbDelete = objectStore.delete(key);\r\n\r\n dbDelete.addEventListener(\"success\", (e: Event) => {\r\n const event = e as IDBRequestEvent;\r\n resolve(event.target.result === undefined);\r\n });\r\n dbDelete.addEventListener(\"error\", e => reject(e));\r\n });\r\n }\r\n\r\n async clear(): Promise<boolean> {\r\n if (!this.dbOpen) {\r\n await this.open();\r\n }\r\n\r\n return new Promise<boolean>((resolve: Function, reject: Function) => {\r\n if (!this.db) {\r\n return reject(BrowserAuthError.createDatabaseNotOpenError());\r\n }\r\n\r\n const transaction = this.db.transaction([this.tableName], \"readwrite\");\r\n\r\n const objectStore = transaction.objectStore(this.tableName);\r\n\r\n const dbDelete = objectStore.clear();\r\n\r\n dbDelete.addEventListener(\"success\", (e: Event) => {\r\n const event = e as IDBRequestEvent;\r\n resolve(event.target.result === undefined);\r\n });\r\n dbDelete.addEventListener(\"error\", e => reject(e));\r\n });\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatabaseStorage.js","sources":["../../src/cache/DatabaseStorage.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\nimport { DB_NAME, DB_TABLE_NAME, DB_VERSION } from \"../utils/BrowserConstants\";\nimport { IAsyncStorage } from \"./IAsyncMemoryStorage\";\n\ninterface IDBOpenDBRequestEvent extends Event {\n target: IDBOpenDBRequest & EventTarget;\n}\n\ninterface IDBOpenOnUpgradeNeededEvent extends IDBVersionChangeEvent {\n target: IDBOpenDBRequest & EventTarget;\n}\n\ninterface IDBRequestEvent extends Event {\n target: IDBRequest & EventTarget;\n}\n\n/**\n * Storage wrapper for IndexedDB storage in browsers: https://developer.mozilla.org/en-US/docs/Web/API/IndexedDB_API\n */\nexport class DatabaseStorage<T> implements IAsyncStorage<T> {\n private db: IDBDatabase|undefined;\n private dbName: string;\n private tableName: string;\n private version: number;\n private dbOpen: boolean;\n\n constructor() {\n this.dbName = DB_NAME;\n this.version = DB_VERSION;\n this.tableName = DB_TABLE_NAME;\n this.dbOpen = false;\n }\n\n /**\n * Opens IndexedDB instance.\n */\n async open(): Promise<void> {\n return new Promise((resolve, reject) => {\n const openDB = window.indexedDB.open(this.dbName, this.version);\n openDB.addEventListener(\"upgradeneeded\", (e: IDBVersionChangeEvent) => {\n const event = e as IDBOpenOnUpgradeNeededEvent;\n event.target.result.createObjectStore(this.tableName);\n });\n openDB.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBOpenDBRequestEvent;\n this.db = event.target.result;\n this.dbOpen = true;\n resolve();\n });\n openDB.addEventListener(\"error\", () => reject(BrowserAuthError.createDatabaseUnavailableError()));\n });\n }\n\n /**\n * Opens database if it's not already open\n */\n private async validateDbIsOpen(): Promise<void> {\n if (!this.dbOpen) {\n return await this.open();\n }\n }\n\n /**\n * Retrieves item from IndexedDB instance.\n * @param key \n */\n async getItem(key: string): Promise<T | null> {\n await this.validateDbIsOpen();\n\n return new Promise<T>((resolve, reject) => {\n // TODO: Add timeouts?\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n const transaction = this.db.transaction([this.tableName], \"readonly\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbGet = objectStore.get(key);\n dbGet.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBRequestEvent;\n resolve(event.target.result);\n });\n dbGet.addEventListener(\"error\", (e) => reject(e));\n });\n }\n\n /**\n * Adds item to IndexedDB under given key\n * @param key \n * @param payload \n */\n async setItem(key: string, payload: T): Promise<void> {\n await this.validateDbIsOpen();\n\n return new Promise<void>((resolve: Function, reject: Function) => {\n // TODO: Add timeouts?\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n const transaction = this.db.transaction([this.tableName], \"readwrite\");\n\n const objectStore = transaction.objectStore(this.tableName);\n\n const dbPut = objectStore.put(payload, key);\n\n dbPut.addEventListener(\"success\", () => resolve());\n dbPut.addEventListener(\"error\", (e) => reject(e));\n });\n }\n\n /**\n * Removes item from IndexedDB under given key\n * @param key\n */\n async removeItem(key: string): Promise<void> {\n await this.validateDbIsOpen();\n\n return new Promise<void>((resolve: Function, reject: Function) => {\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n const transaction = this.db.transaction([this.tableName], \"readwrite\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbDelete = objectStore.delete(key);\n dbDelete.addEventListener(\"success\", () => resolve());\n dbDelete.addEventListener(\"error\", (e) => reject(e));\n });\n }\n\n /**\n * Get all the keys from the storage object as an iterable array of strings.\n */\n async getKeys(): Promise<string[]> {\n await this.validateDbIsOpen();\n\n return new Promise<string[]>((resolve: Function, reject: Function) => {\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n\n const transaction = this.db.transaction([this.tableName], \"readonly\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbGetKeys = objectStore.getAllKeys();\n dbGetKeys.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBRequestEvent;\n resolve(event.target.result);\n });\n dbGetKeys.addEventListener(\"error\", (e: Event) => reject(e));\n });\n }\n\n /**\n * \n * Checks whether there is an object under the search key in the object store\n */\n async containsKey(key: string): Promise<boolean> {\n await this.validateDbIsOpen();\n\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n if (!this.db) {\n return reject(BrowserAuthError.createDatabaseNotOpenError());\n }\n const transaction = this.db.transaction([this.tableName], \"readonly\");\n const objectStore = transaction.objectStore(this.tableName);\n const dbContainsKey = objectStore.count(key);\n dbContainsKey.addEventListener(\"success\", (e: Event) => {\n const event = e as IDBRequestEvent;\n resolve(event.target.result === 1);\n });\n dbContainsKey.addEventListener(\"error\", (e: Event) => reject(e));\n });\n }\n\n /**\n * Deletes the MSAL database. The database is deleted rather than cleared to make it possible\n * for client applications to downgrade to a previous MSAL version without worrying about forward compatibility issues\n * with IndexedDB database versions.\n */\n async deleteDatabase(): Promise<boolean> {\n return new Promise<boolean>((resolve: Function, reject: Function) => {\n const deleteDbRequest = window.indexedDB.deleteDatabase(DB_NAME);\n deleteDbRequest.addEventListener(\"success\", () => resolve(true));\n deleteDbRequest.addEventListener(\"error\", () => reject(false));\n });\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export interface IAsyncStorage<T> {
|
|
2
|
+
/**
|
|
3
|
+
* Get the item from the asynchronous storage object matching the given key.
|
|
4
|
+
* @param key
|
|
5
|
+
*/
|
|
6
|
+
getItem(key: string): Promise<T | null>;
|
|
7
|
+
/**
|
|
8
|
+
* Sets the item in the asynchronous storage object with the given key.
|
|
9
|
+
* @param key
|
|
10
|
+
* @param value
|
|
11
|
+
*/
|
|
12
|
+
setItem(key: string, value: T): Promise<void>;
|
|
13
|
+
/**
|
|
14
|
+
* Removes the item in the asynchronous storage object matching the given key.
|
|
15
|
+
* @param key
|
|
16
|
+
*/
|
|
17
|
+
removeItem(key: string): Promise<void>;
|
|
18
|
+
/**
|
|
19
|
+
* Get all the keys from the asynchronous storage object as an iterable array of strings.
|
|
20
|
+
*/
|
|
21
|
+
getKeys(): Promise<string[]>;
|
|
22
|
+
/**
|
|
23
|
+
* Returns true or false if the given key is present in the cache.
|
|
24
|
+
* @param key
|
|
25
|
+
*/
|
|
26
|
+
containsKey(key: string): Promise<boolean>;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=IAsyncMemoryStorage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IAsyncMemoryStorage.d.ts","sourceRoot":"","sources":["../../src/cache/IAsyncMemoryStorage.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,aAAa,CAAC,CAAC;IAC5B;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAExC;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAE9C;;;OAGG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAEvC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE7B;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9C"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
export interface IWindowStorage {
|
|
1
|
+
export interface IWindowStorage<T> {
|
|
2
2
|
/**
|
|
3
3
|
* Get the item from the window storage object matching the given key.
|
|
4
4
|
* @param key
|
|
5
5
|
*/
|
|
6
|
-
getItem(key: string):
|
|
6
|
+
getItem(key: string): T | null;
|
|
7
7
|
/**
|
|
8
8
|
* Sets the item in the window storage object with the given key.
|
|
9
9
|
* @param key
|
|
10
10
|
* @param value
|
|
11
11
|
*/
|
|
12
|
-
setItem(key: string, value:
|
|
12
|
+
setItem(key: string, value: T): void;
|
|
13
13
|
/**
|
|
14
14
|
* Removes the item in the window storage object matching the given key.
|
|
15
15
|
* @param key
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IWindowStorage.d.ts","sourceRoot":"","sources":["../../src/cache/IWindowStorage.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc;
|
|
1
|
+
{"version":3,"file":"IWindowStorage.d.ts","sourceRoot":"","sources":["../../src/cache/IWindowStorage.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,cAAc,CAAC,CAAC;IAC7B;;;OAGG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC;IAE/B;;;;OAIG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI,CAAC;IAErC;;;OAGG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B;;OAEG;IACH,OAAO,IAAI,MAAM,EAAE,CAAC;IAEpB;;;OAGG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACrC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { IWindowStorage } from "./IWindowStorage";
|
|
2
|
-
export declare class MemoryStorage implements IWindowStorage {
|
|
2
|
+
export declare class MemoryStorage<T> implements IWindowStorage<T> {
|
|
3
3
|
private cache;
|
|
4
4
|
constructor();
|
|
5
|
-
getItem(key: string):
|
|
6
|
-
setItem(key: string, value:
|
|
5
|
+
getItem(key: string): T | null;
|
|
6
|
+
setItem(key: string, value: T): void;
|
|
7
7
|
removeItem(key: string): void;
|
|
8
8
|
getKeys(): string[];
|
|
9
9
|
containsKey(key: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryStorage.d.ts","sourceRoot":"","sources":["../../src/cache/MemoryStorage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,
|
|
1
|
+
{"version":3,"file":"MemoryStorage.d.ts","sourceRoot":"","sources":["../../src/cache/MemoryStorage.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAElD,qBAAa,aAAa,CAAC,CAAC,CAAE,YAAW,cAAc,CAAC,CAAC,CAAC;IAEtD,OAAO,CAAC,KAAK,CAAiB;;IAM9B,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI;IAI9B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAIpC,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B,OAAO,IAAI,MAAM,EAAE;IAQnB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAIjC,KAAK,IAAI,IAAI;CAGhB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MemoryStorage.js","sources":["../../src/cache/MemoryStorage.ts"],"sourcesContent":["/*\
|
|
1
|
+
{"version":3,"file":"MemoryStorage.js","sources":["../../src/cache/MemoryStorage.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IWindowStorage } from \"./IWindowStorage\";\n\nexport class MemoryStorage<T> implements IWindowStorage<T> {\n\n private cache: Map<string, T>;\n\n constructor() {\n this.cache = new Map<string, T>();\n }\n\n getItem(key: string): T | null {\n return this.cache.get(key) || null;\n }\n\n setItem(key: string, value: T): void {\n this.cache.set(key, value);\n }\n\n removeItem(key: string): void {\n this.cache.delete(key);\n }\n\n getKeys(): string[] {\n const cacheKeys: string[] = [];\n this.cache.forEach((value: T, key: string) => {\n cacheKeys.push(key);\n });\n return cacheKeys;\n }\n\n containsKey(key: string): boolean {\n return this.cache.has(key);\n }\n\n clear() :void {\n this.cache.clear();\n }\n}\n"],"names":[],"mappings":";;AAAA;;;;;IAWI;QACI,IAAI,CAAC,KAAK,GAAG,IAAI,GAAG,EAAa,CAAC;KACrC;IAED,+BAAO,GAAP,UAAQ,GAAW;QACf,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC;KACtC;IAED,+BAAO,GAAP,UAAQ,GAAW,EAAE,KAAQ;QACzB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAC9B;IAED,kCAAU,GAAV,UAAW,GAAW;QAClB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAC1B;IAED,+BAAO,GAAP;QACI,IAAM,SAAS,GAAa,EAAE,CAAC;QAC/B,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,KAAQ,EAAE,GAAW;YACrC,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACvB,CAAC,CAAC;QACH,OAAO,SAAS,CAAC;KACpB;IAED,mCAAW,GAAX,UAAY,GAAW;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;KAC9B;IAED,6BAAK,GAAL;QACI,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;KACtB;IACL,oBAAC;AAAD,CAAC;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenCache.d.ts","sourceRoot":"","sources":["../../src/cache/TokenCache.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,OAAO,EAAiB,MAAM,EAAyC,qBAAqB,EAA4B,MAAM,oBAAoB,CAAC;AAC/K,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,oBAAY,gBAAgB,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAW,YAAW,WAAW;IAEnC,oBAAoB,EAAE,OAAO,CAAC;IAErC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAEvC,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAAU;gBAEf,aAAa,EAAE,oBAAoB,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;IAUjH;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;
|
|
1
|
+
{"version":3,"file":"TokenCache.d.ts","sourceRoot":"","sources":["../../src/cache/TokenCache.ts"],"names":[],"mappings":"AAKA,OAAO,EAAqB,OAAO,EAAiB,MAAM,EAAyC,qBAAqB,EAA4B,MAAM,oBAAoB,CAAC;AAC/K,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAG5C,oBAAY,gBAAgB,GAAG;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iBAAiB,CAAC,EAAE,MAAM,CAAA;CAC7B,CAAC;AAEF;;GAEG;AACH,qBAAa,UAAW,YAAW,WAAW;IAEnC,oBAAoB,EAAE,OAAO,CAAC;IAErC,SAAS,CAAC,MAAM,EAAE,oBAAoB,CAAC;IAEvC,OAAO,CAAC,OAAO,CAAsB;IAErC,OAAO,CAAC,MAAM,CAAS;IAEvB,OAAO,CAAC,SAAS,CAAU;gBAEf,aAAa,EAAE,oBAAoB,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO;IAUjH;;;;;OAKG;IACH,kBAAkB,CAAC,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,qBAAqB,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAsC5G;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAiBnB;;;;;;;;;OASG;IACH,OAAO,CAAC,eAAe;CA4B1B"}
|
package/dist/cache/TokenCache.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.22.0 2022-02-08 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { Authority, IdTokenEntity, AuthToken, AccountEntity, ScopeSet, AccessTokenEntity } from '@azure/msal-common';
|
|
4
4
|
import { BrowserAuthError } from '../error/BrowserAuthError.js';
|
|
@@ -35,13 +35,14 @@ var TokenCache = /** @class */ (function () {
|
|
|
35
35
|
this.loadAccessToken(request, response, request.account.homeAccountId, request.account.environment, request.account.tenantId, options);
|
|
36
36
|
}
|
|
37
37
|
else if (request.authority) {
|
|
38
|
+
var authorityUrl = Authority.generateAuthority(request.authority, request.azureCloudOptions);
|
|
38
39
|
var authorityOptions = {
|
|
39
40
|
protocolMode: this.config.auth.protocolMode,
|
|
40
41
|
knownAuthorities: this.config.auth.knownAuthorities,
|
|
41
42
|
cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,
|
|
42
|
-
authorityMetadata: this.config.auth.authorityMetadata
|
|
43
|
+
authorityMetadata: this.config.auth.authorityMetadata,
|
|
43
44
|
};
|
|
44
|
-
var authority = new Authority(
|
|
45
|
+
var authority = new Authority(authorityUrl, this.config.system.networkClient, this.storage, authorityOptions);
|
|
45
46
|
// "clientInfo" from options takes precedence over "clientInfo" in response
|
|
46
47
|
if (options.clientInfo) {
|
|
47
48
|
this.logger.trace("TokenCache - homeAccountId from options");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenCache.js","sources":["../../src/cache/TokenCache.ts"],"sourcesContent":["/*\r\n * Copyright (c) Microsoft Corporation. All rights reserved.\r\n * Licensed under the MIT License.\r\n */\r\n\r\nimport { AccessTokenEntity, ICrypto, IdTokenEntity, Logger, ScopeSet, Authority, AuthorityOptions, ExternalTokenResponse, AccountEntity, AuthToken } from \"@azure/msal-common\";\r\nimport { BrowserConfiguration } from \"../config/Configuration\";\r\nimport { SilentRequest } from \"../request/SilentRequest\";\r\nimport { BrowserCacheManager } from \"./BrowserCacheManager\";\r\nimport { ITokenCache } from \"./ITokenCache\";\r\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\r\n\r\nexport type LoadTokenOptions = {\r\n clientInfo?: string,\r\n extendedExpiresOn?: number\r\n};\r\n\r\n/**\r\n * Token cache manager\r\n */\r\nexport class TokenCache implements ITokenCache {\r\n // Flag to indicate if in browser environment\r\n public isBrowserEnvironment: boolean;\r\n // Input configuration by developer/user\r\n protected config: BrowserConfiguration;\r\n // Browser cache storage\r\n private storage: BrowserCacheManager;\r\n // Logger\r\n private logger: Logger;\r\n // Crypto class\r\n private cryptoObj: ICrypto;\r\n\r\n constructor(configuration: BrowserConfiguration, storage: BrowserCacheManager, logger: Logger, cryptoObj: ICrypto) {\r\n this.isBrowserEnvironment = typeof window !== \"undefined\";\r\n this.config = configuration;\r\n this.storage = storage;\r\n this.logger = logger;\r\n this.cryptoObj = cryptoObj;\r\n }\r\n \r\n // Move getAllAccounts here and cache utility APIs\r\n\r\n /**\r\n * API to load tokens to msal-browser cache. \r\n * @param request \r\n * @param response\r\n * @param options\r\n */\r\n loadExternalTokens(request: SilentRequest, response: ExternalTokenResponse, options: LoadTokenOptions): void {\r\n this.logger.info(\"TokenCache - loadExternalTokens called\");\r\n\r\n if (!response.id_token) {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please ensure server response includes id token.\");\r\n }\r\n\r\n if (request.account) {\r\n this.loadIdToken(response.id_token, request.account.homeAccountId, request.account.environment, request.account.tenantId, options);\r\n this.loadAccessToken(request, response, request.account.homeAccountId, request.account.environment, request.account.tenantId, options);\r\n } else if (request.authority) {\r\n\r\n const authorityOptions: AuthorityOptions = {\r\n protocolMode: this.config.auth.protocolMode,\r\n knownAuthorities: this.config.auth.knownAuthorities,\r\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\r\n authorityMetadata: this.config.auth.authorityMetadata\r\n };\r\n const authority = new Authority(request.authority, this.config.system.networkClient, this.storage, authorityOptions);\r\n\r\n // \"clientInfo\" from options takes precedence over \"clientInfo\" in response\r\n if (options.clientInfo) {\r\n this.logger.trace(\"TokenCache - homeAccountId from options\");\r\n this.loadIdToken(response.id_token, options.clientInfo, authority.hostnameAndPort, authority.tenant, options);\r\n this.loadAccessToken(request, response, options.clientInfo, authority.hostnameAndPort, authority.tenant, options);\r\n } else if (response.client_info) {\r\n this.logger.trace(\"TokenCache - homeAccountId from response\");\r\n this.loadIdToken(response.id_token, response.client_info, authority.hostnameAndPort, authority.tenant, options);\r\n this.loadAccessToken(request, response, response.client_info, authority.hostnameAndPort, authority.tenant, options);\r\n } else {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide clientInfo in the response or options.\");\r\n }\r\n } else {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide a request with an account or a request with authority.\");\r\n }\r\n }\r\n\r\n /**\r\n * Helper function to load id tokens to msal-browser cache\r\n * @param idToken \r\n * @param homeAccountId \r\n * @param environment \r\n * @param tenantId \r\n * @param options \r\n */\r\n private loadIdToken(idToken: string, homeAccountId: string, environment: string, tenantId: string, options: LoadTokenOptions): void {\r\n\r\n const idTokenEntity = IdTokenEntity.createIdTokenEntity(homeAccountId, environment, idToken, this.config.auth.clientId, tenantId);\r\n const idAuthToken = new AuthToken(idToken, this.cryptoObj);\r\n const accountEntity = options.clientInfo ?\r\n AccountEntity.createAccount(options.clientInfo, homeAccountId, idAuthToken, undefined, undefined, undefined, undefined, environment) :\r\n AccountEntity.createGenericAccount(homeAccountId, idAuthToken, undefined, undefined, undefined, undefined, environment);\r\n\r\n if (this.isBrowserEnvironment) {\r\n this.logger.verbose(\"TokenCache - loading id token\");\r\n this.storage.setAccount(accountEntity);\r\n this.storage.setIdTokenCredential(idTokenEntity);\r\n } else {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\r\n }\r\n }\r\n\r\n /**\r\n * Helper function to load access tokens to msal-browser cache\r\n * @param request \r\n * @param response \r\n * @param options \r\n * @param homeAccountId \r\n * @param environment \r\n * @param tenantId \r\n * @returns \r\n */\r\n private loadAccessToken(request: SilentRequest, response: ExternalTokenResponse, homeAccountId: string, environment: string, tenantId: string, options: LoadTokenOptions): void {\r\n\r\n if (!response.access_token) {\r\n this.logger.verbose(\"TokenCache - No access token provided for caching\");\r\n return;\r\n }\r\n\r\n if (!response.expires_in) {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please ensure server response includes expires_in value.\");\r\n }\r\n\r\n if (!options.extendedExpiresOn) {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide an extendedExpiresOn value in the options.\");\r\n }\r\n \r\n const scopes = new ScopeSet(request.scopes).printScopes();\r\n const expiresOn = response.expires_in;\r\n const extendedExpiresOn = options.extendedExpiresOn;\r\n\r\n const accessTokenEntity = AccessTokenEntity.createAccessTokenEntity(homeAccountId, environment, response.access_token, this.config.auth.clientId, tenantId, scopes, expiresOn, extendedExpiresOn, this.cryptoObj);\r\n\r\n if (this.isBrowserEnvironment) {\r\n this.logger.verbose(\"TokenCache - loading access token\");\r\n this.storage.setAccessTokenCredential(accessTokenEntity);\r\n } else {\r\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\r\n }\r\n }\r\n}\r\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"TokenCache.js","sources":["../../src/cache/TokenCache.ts"],"sourcesContent":["/*\n * Copyright (c) Microsoft Corporation. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { AccessTokenEntity, ICrypto, IdTokenEntity, Logger, ScopeSet, Authority, AuthorityOptions, ExternalTokenResponse, AccountEntity, AuthToken } from \"@azure/msal-common\";\nimport { BrowserConfiguration } from \"../config/Configuration\";\nimport { SilentRequest } from \"../request/SilentRequest\";\nimport { BrowserCacheManager } from \"./BrowserCacheManager\";\nimport { ITokenCache } from \"./ITokenCache\";\nimport { BrowserAuthError } from \"../error/BrowserAuthError\";\n\nexport type LoadTokenOptions = {\n clientInfo?: string,\n extendedExpiresOn?: number\n};\n\n/**\n * Token cache manager\n */\nexport class TokenCache implements ITokenCache {\n // Flag to indicate if in browser environment\n public isBrowserEnvironment: boolean;\n // Input configuration by developer/user\n protected config: BrowserConfiguration;\n // Browser cache storage\n private storage: BrowserCacheManager;\n // Logger\n private logger: Logger;\n // Crypto class\n private cryptoObj: ICrypto;\n\n constructor(configuration: BrowserConfiguration, storage: BrowserCacheManager, logger: Logger, cryptoObj: ICrypto) {\n this.isBrowserEnvironment = typeof window !== \"undefined\";\n this.config = configuration;\n this.storage = storage;\n this.logger = logger;\n this.cryptoObj = cryptoObj;\n }\n\n // Move getAllAccounts here and cache utility APIs\n\n /**\n * API to load tokens to msal-browser cache.\n * @param request\n * @param response\n * @param options\n */\n loadExternalTokens(request: SilentRequest, response: ExternalTokenResponse, options: LoadTokenOptions): void {\n this.logger.info(\"TokenCache - loadExternalTokens called\");\n\n if (!response.id_token) {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please ensure server response includes id token.\");\n }\n\n if (request.account) {\n this.loadIdToken(response.id_token, request.account.homeAccountId, request.account.environment, request.account.tenantId, options);\n this.loadAccessToken(request, response, request.account.homeAccountId, request.account.environment, request.account.tenantId, options);\n } else if (request.authority) {\n\n const authorityUrl = Authority.generateAuthority(request.authority, request.azureCloudOptions);\n const authorityOptions: AuthorityOptions = {\n protocolMode: this.config.auth.protocolMode,\n knownAuthorities: this.config.auth.knownAuthorities,\n cloudDiscoveryMetadata: this.config.auth.cloudDiscoveryMetadata,\n authorityMetadata: this.config.auth.authorityMetadata,\n };\n const authority = new Authority(authorityUrl, this.config.system.networkClient, this.storage, authorityOptions);\n\n // \"clientInfo\" from options takes precedence over \"clientInfo\" in response\n if (options.clientInfo) {\n this.logger.trace(\"TokenCache - homeAccountId from options\");\n this.loadIdToken(response.id_token, options.clientInfo, authority.hostnameAndPort, authority.tenant, options);\n this.loadAccessToken(request, response, options.clientInfo, authority.hostnameAndPort, authority.tenant, options);\n } else if (response.client_info) {\n this.logger.trace(\"TokenCache - homeAccountId from response\");\n this.loadIdToken(response.id_token, response.client_info, authority.hostnameAndPort, authority.tenant, options);\n this.loadAccessToken(request, response, response.client_info, authority.hostnameAndPort, authority.tenant, options);\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide clientInfo in the response or options.\");\n }\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide a request with an account or a request with authority.\");\n }\n }\n\n /**\n * Helper function to load id tokens to msal-browser cache\n * @param idToken\n * @param homeAccountId\n * @param environment\n * @param tenantId\n * @param options\n */\n private loadIdToken(idToken: string, homeAccountId: string, environment: string, tenantId: string, options: LoadTokenOptions): void {\n\n const idTokenEntity = IdTokenEntity.createIdTokenEntity(homeAccountId, environment, idToken, this.config.auth.clientId, tenantId);\n const idAuthToken = new AuthToken(idToken, this.cryptoObj);\n const accountEntity = options.clientInfo ?\n AccountEntity.createAccount(options.clientInfo, homeAccountId, idAuthToken, undefined, undefined, undefined, undefined, environment) :\n AccountEntity.createGenericAccount(homeAccountId, idAuthToken, undefined, undefined, undefined, undefined, environment);\n\n if (this.isBrowserEnvironment) {\n this.logger.verbose(\"TokenCache - loading id token\");\n this.storage.setAccount(accountEntity);\n this.storage.setIdTokenCredential(idTokenEntity);\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\n }\n }\n\n /**\n * Helper function to load access tokens to msal-browser cache\n * @param request\n * @param response\n * @param options\n * @param homeAccountId\n * @param environment\n * @param tenantId\n * @returns\n */\n private loadAccessToken(request: SilentRequest, response: ExternalTokenResponse, homeAccountId: string, environment: string, tenantId: string, options: LoadTokenOptions): void {\n\n if (!response.access_token) {\n this.logger.verbose(\"TokenCache - No access token provided for caching\");\n return;\n }\n\n if (!response.expires_in) {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please ensure server response includes expires_in value.\");\n }\n\n if (!options.extendedExpiresOn) {\n throw BrowserAuthError.createUnableToLoadTokenError(\"Please provide an extendedExpiresOn value in the options.\");\n }\n\n const scopes = new ScopeSet(request.scopes).printScopes();\n const expiresOn = response.expires_in;\n const extendedExpiresOn = options.extendedExpiresOn;\n\n const accessTokenEntity = AccessTokenEntity.createAccessTokenEntity(homeAccountId, environment, response.access_token, this.config.auth.clientId, tenantId, scopes, expiresOn, extendedExpiresOn, this.cryptoObj);\n\n if (this.isBrowserEnvironment) {\n this.logger.verbose(\"TokenCache - loading access token\");\n this.storage.setAccessTokenCredential(accessTokenEntity);\n } else {\n throw BrowserAuthError.createUnableToLoadTokenError(\"loadExternalTokens is designed to work in browser environments only.\");\n }\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { SystemOptions, LoggerOptions, INetworkModule, ProtocolMode } from "@azure/msal-common";
|
|
1
|
+
import { SystemOptions, LoggerOptions, INetworkModule, ProtocolMode, AzureCloudOptions } from "@azure/msal-common";
|
|
2
2
|
import { BrowserCacheLocation } from "../utils/BrowserConstants";
|
|
3
3
|
import { INavigationClient } from "../navigation/INavigationClient";
|
|
4
4
|
export declare const DEFAULT_POPUP_TIMEOUT_MS = 60000;
|
|
@@ -11,11 +11,11 @@ export declare const DEFAULT_REDIRECT_TIMEOUT_MS = 30000;
|
|
|
11
11
|
* - authority - You can configure a specific authority, defaults to " " or "https://login.microsoftonline.com/common"
|
|
12
12
|
* - knownAuthorities - An array of URIs that are known to be valid. Used in B2C scenarios.
|
|
13
13
|
* - cloudDiscoveryMetadata - A string containing the cloud discovery response. Used in AAD scenarios.
|
|
14
|
-
* - redirectUri
|
|
15
|
-
* - postLogoutRedirectUri
|
|
16
|
-
* - navigateToLoginRequestUrl
|
|
17
|
-
* - clientCapabilities
|
|
18
|
-
* - protocolMode
|
|
14
|
+
* - redirectUri - The redirect URI where authentication responses can be received by your application. It must exactly match one of the redirect URIs registered in the Azure portal.
|
|
15
|
+
* - postLogoutRedirectUri - The redirect URI where the window navigates after a successful logout.
|
|
16
|
+
* - navigateToLoginRequestUrl - Boolean indicating whether to navigate to the original request URL after the auth server navigates to the redirect URL.
|
|
17
|
+
* - clientCapabilities - Array of capabilities which will be added to the claims.access_token.xms_cc request property on every network request.
|
|
18
|
+
* - protocolMode - Enum that represents the protocol that msal follows. Used for configuring proper endpoints.
|
|
19
19
|
*/
|
|
20
20
|
export declare type BrowserAuthOptions = {
|
|
21
21
|
clientId: string;
|
|
@@ -28,13 +28,14 @@ export declare type BrowserAuthOptions = {
|
|
|
28
28
|
navigateToLoginRequestUrl?: boolean;
|
|
29
29
|
clientCapabilities?: Array<string>;
|
|
30
30
|
protocolMode?: ProtocolMode;
|
|
31
|
+
azureCloudOptions?: AzureCloudOptions;
|
|
31
32
|
};
|
|
32
33
|
/**
|
|
33
34
|
* Use this to configure the below cache configuration options:
|
|
34
35
|
*
|
|
35
|
-
* - cacheLocation
|
|
36
|
-
* - storeAuthStateInCookie
|
|
37
|
-
* - secureCookies
|
|
36
|
+
* - cacheLocation - Used to specify the cacheLocation user wants to set. Valid values are "localStorage" and "sessionStorage"
|
|
37
|
+
* - storeAuthStateInCookie - If set, MSAL stores the auth request state required for validation of the auth flows in the browser cookies. By default this flag is set to false.
|
|
38
|
+
* - secureCookies - If set, MSAL sets the "Secure" flag on cookies so they can only be sent over HTTPS. By default this flag is set to false.
|
|
38
39
|
*/
|
|
39
40
|
export declare type CacheOptions = {
|
|
40
41
|
cacheLocation?: BrowserCacheLocation | string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/config/Configuration.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAqC,YAAY,
|
|
1
|
+
{"version":3,"file":"Configuration.d.ts","sourceRoot":"","sources":["../../src/config/Configuration.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAqC,YAAY,EAAsD,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAE1M,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,MAAM,iCAAiC,CAAC;AAIpE,eAAO,MAAM,wBAAwB,QAAQ,CAAC;AAC9C,eAAO,MAAM,yBAAyB,OAAO,CAAC;AAC9C,eAAO,MAAM,2BAA2B,QAAQ,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,oBAAY,kBAAkB,GAAG;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACjC,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtC,yBAAyB,CAAC,EAAE,OAAO,CAAC;IACpC,kBAAkB,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACnC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,iBAAiB,CAAC,EAAE,iBAAiB,CAAC;CACzC,CAAC;AAEF;;;;;;GAMG;AACH,oBAAY,YAAY,GAAG;IACvB,aAAa,CAAC,EAAE,oBAAoB,GAAG,MAAM,CAAC;IAC9C,sBAAsB,CAAC,EAAE,OAAO,CAAC;IACjC,aAAa,CAAC,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF;;;;;;;;;;;;;GAaG;AACH,oBAAY,oBAAoB,GAAG,aAAa,GAAG;IAC/C,aAAa,CAAC,EAAE,aAAa,CAAC;IAC9B,aAAa,CAAC,EAAE,cAAc,CAAC;IAC/B,gBAAgB,CAAC,EAAE,iBAAiB,CAAC;IACrC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACnC,CAAC;AAEF;;;;;;;GAOG;AACH,oBAAY,aAAa,GAAG;IACxB,IAAI,EAAE,kBAAkB,CAAC;IACzB,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,MAAM,CAAC,EAAE,oBAAoB,CAAA;CAChC,CAAC;AAEF,oBAAY,oBAAoB,GAAG;IAC/B,IAAI,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IACnC,KAAK,EAAE,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC9B,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,CAAA;CACzC,CAAC;AAEF;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,eAAe,EAAE,EAAE,aAAa,EAAE,oBAAoB,EAAE,OAAO,GAAG,oBAAoB,CAyD9K"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
/*! @azure/msal-browser v2.
|
|
1
|
+
/*! @azure/msal-browser v2.22.0 2022-02-08 */
|
|
2
2
|
'use strict';
|
|
3
3
|
import { __assign } from '../_virtual/_tslib.js';
|
|
4
|
-
import { DEFAULT_SYSTEM_OPTIONS, StubbedNetworkModule, Constants, ProtocolMode, LogLevel } from '@azure/msal-common';
|
|
4
|
+
import { DEFAULT_SYSTEM_OPTIONS, StubbedNetworkModule, Constants, ProtocolMode, AzureCloudInstance, LogLevel } from '@azure/msal-common';
|
|
5
5
|
import { BrowserUtils } from '../utils/BrowserUtils.js';
|
|
6
6
|
import { BrowserCacheLocation } from '../utils/BrowserConstants.js';
|
|
7
7
|
import { NavigationClient } from '../navigation/NavigationClient.js';
|
|
@@ -36,7 +36,11 @@ function buildConfiguration(_a, isBrowserEnvironment) {
|
|
|
36
36
|
postLogoutRedirectUri: "",
|
|
37
37
|
navigateToLoginRequestUrl: true,
|
|
38
38
|
clientCapabilities: [],
|
|
39
|
-
protocolMode: ProtocolMode.AAD
|
|
39
|
+
protocolMode: ProtocolMode.AAD,
|
|
40
|
+
azureCloudOptions: {
|
|
41
|
+
azureCloudInstance: AzureCloudInstance.None,
|
|
42
|
+
tenant: ""
|
|
43
|
+
},
|
|
40
44
|
};
|
|
41
45
|
// Default cache options for browser
|
|
42
46
|
var DEFAULT_CACHE_OPTIONS = {
|