@azure/msal-node-extensions 1.1.0 → 1.3.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/bin/arm64/dpapi.node +0 -0
- package/bin/ia32/dpapi.node +0 -0
- package/bin/x64/dpapi.node +0 -0
- package/dist/Dpapi.mjs +1 -1
- package/dist/broker/NativeBrokerPlugin.d.ts +2 -2
- package/dist/broker/NativeBrokerPlugin.mjs +35 -18
- package/dist/broker/NativeBrokerPlugin.mjs.map +1 -1
- package/dist/error/NativeAuthError.d.ts +1 -1
- package/dist/error/NativeAuthError.mjs +2 -2
- package/dist/error/PersistenceError.mjs +1 -1
- package/dist/index.d.ts +12 -12
- package/dist/index.mjs +1 -1
- package/dist/lib/msal-common/dist/constants/AADServerParamKeys.mjs +7 -0
- package/dist/lib/msal-common/dist/constants/AADServerParamKeys.mjs.map +1 -0
- package/dist/lib/msal-common/dist/error/AuthError.mjs +27 -0
- package/dist/lib/msal-common/dist/error/AuthError.mjs.map +1 -0
- package/dist/lib/msal-common/dist/error/ClientAuthError.mjs +81 -0
- package/dist/lib/msal-common/dist/error/ClientAuthError.mjs.map +1 -0
- package/dist/lib/msal-common/dist/error/ClientAuthErrorCodes.mjs +54 -0
- package/dist/lib/msal-common/dist/error/ClientAuthErrorCodes.mjs.map +1 -0
- package/dist/lib/msal-common/dist/error/ClientConfigurationError.mjs +51 -0
- package/dist/lib/msal-common/dist/error/ClientConfigurationError.mjs.map +1 -0
- package/dist/lib/msal-common/dist/error/ClientConfigurationErrorCodes.mjs +32 -0
- package/dist/lib/msal-common/dist/error/ClientConfigurationErrorCodes.mjs.map +1 -0
- package/dist/lib/msal-common/dist/error/InteractionRequiredAuthError.mjs +24 -0
- package/dist/lib/msal-common/dist/error/InteractionRequiredAuthError.mjs.map +1 -0
- package/dist/lib/msal-common/dist/error/ServerError.mjs +25 -0
- package/dist/lib/msal-common/dist/error/ServerError.mjs.map +1 -0
- package/dist/lib/msal-common/dist/logger/Logger.mjs +197 -0
- package/dist/lib/msal-common/dist/logger/Logger.mjs.map +1 -0
- package/dist/lib/msal-common/dist/telemetry/server/ServerTelemetryManager.mjs +270 -0
- package/dist/lib/msal-common/dist/telemetry/server/ServerTelemetryManager.mjs.map +1 -0
- package/dist/lib/msal-common/dist/utils/Constants.mjs +124 -0
- package/dist/lib/msal-common/dist/utils/Constants.mjs.map +1 -0
- package/dist/lock/CrossPlatformLock.d.ts +2 -2
- package/dist/lock/CrossPlatformLock.mjs +1 -1
- package/dist/packageMetadata.d.ts +1 -1
- package/dist/packageMetadata.mjs +2 -2
- package/dist/persistence/BasePersistence.d.ts +1 -1
- package/dist/persistence/BasePersistence.mjs +1 -1
- package/dist/persistence/DataProtectionScope.mjs +1 -1
- package/dist/persistence/FilePersistence.d.ts +3 -3
- package/dist/persistence/FilePersistence.mjs +2 -2
- package/dist/persistence/FilePersistenceWithDataProtection.d.ts +4 -4
- package/dist/persistence/FilePersistenceWithDataProtection.mjs +1 -1
- package/dist/persistence/IPersistence.d.ts +1 -1
- package/dist/persistence/IPersistenceConfiguration.d.ts +2 -2
- package/dist/persistence/KeychainPersistence.d.ts +3 -3
- package/dist/persistence/KeychainPersistence.mjs +1 -1
- package/dist/persistence/LibSecretPersistence.d.ts +3 -3
- package/dist/persistence/LibSecretPersistence.mjs +1 -1
- package/dist/persistence/PersistenceCachePlugin.d.ts +3 -3
- package/dist/persistence/PersistenceCachePlugin.mjs +1 -1
- package/dist/persistence/PersistenceCachePlugin.mjs.map +1 -1
- package/dist/persistence/PersistenceCreator.d.ts +2 -2
- package/dist/persistence/PersistenceCreator.mjs +1 -1
- package/dist/utils/Constants.mjs +1 -1
- package/dist/utils/Environment.mjs +1 -1
- package/dist/utils/TypeGuards.d.ts +1 -1
- package/dist/utils/TypeGuards.mjs +1 -1
- package/lib/msal-node-extensions.cjs +2238 -0
- package/lib/msal-node-extensions.cjs.map +1 -0
- package/lib/package.json +1 -0
- package/lib/types/Dpapi.d.ts +6 -0
- package/lib/types/broker/NativeBrokerPlugin.d.ts +20 -0
- package/lib/types/error/NativeAuthError.d.ts +6 -0
- package/lib/types/error/PersistenceError.d.ts +57 -0
- package/lib/types/index.d.ts +12 -0
- package/lib/types/lock/CrossPlatformLock.d.ts +24 -0
- package/lib/types/lock/CrossPlatformLockOptions.d.ts +10 -0
- package/lib/types/packageMetadata.d.ts +2 -0
- package/lib/types/persistence/BasePersistence.d.ts +5 -0
- package/{dist/persistence/DataProtectionScope.cjs → lib/types/persistence/DataProtectionScope.d.ts} +5 -15
- package/lib/types/persistence/FilePersistence.d.ts +29 -0
- package/lib/types/persistence/FilePersistenceWithDataProtection.d.ts +24 -0
- package/lib/types/persistence/IPersistence.d.ts +11 -0
- package/lib/types/persistence/IPersistenceConfiguration.d.ts +10 -0
- package/lib/types/persistence/KeychainPersistence.d.ts +23 -0
- package/lib/types/persistence/LibSecretPersistence.d.ts +24 -0
- package/lib/types/persistence/PersistenceCachePlugin.d.ts +38 -0
- package/lib/types/persistence/PersistenceCreator.d.ts +5 -0
- package/lib/types/utils/Constants.d.ts +54 -0
- package/lib/types/utils/Environment.d.ts +16 -0
- package/lib/types/utils/TypeGuards.d.ts +5 -0
- package/package.json +18 -11
- package/dist/Dpapi.cjs +0 -31
- package/dist/Dpapi.cjs.map +0 -1
- package/dist/broker/NativeBrokerPlugin.cjs +0 -426
- package/dist/broker/NativeBrokerPlugin.cjs.map +0 -1
- package/dist/error/NativeAuthError.cjs +0 -22
- package/dist/error/NativeAuthError.cjs.map +0 -1
- package/dist/error/PersistenceError.cjs +0 -93
- package/dist/error/PersistenceError.cjs.map +0 -1
- package/dist/index.cjs +0 -26
- package/dist/index.cjs.map +0 -1
- package/dist/lock/CrossPlatformLock.cjs +0 -97
- package/dist/lock/CrossPlatformLock.cjs.map +0 -1
- package/dist/packageMetadata.cjs +0 -11
- package/dist/packageMetadata.cjs.map +0 -1
- package/dist/persistence/BasePersistence.cjs +0 -38
- package/dist/persistence/BasePersistence.cjs.map +0 -1
- package/dist/persistence/DataProtectionScope.cjs.map +0 -1
- package/dist/persistence/FilePersistence.cjs +0 -175
- package/dist/persistence/FilePersistence.cjs.map +0 -1
- package/dist/persistence/FilePersistenceWithDataProtection.cjs +0 -92
- package/dist/persistence/FilePersistenceWithDataProtection.cjs.map +0 -1
- package/dist/persistence/KeychainPersistence.cjs +0 -92
- package/dist/persistence/KeychainPersistence.cjs.map +0 -1
- package/dist/persistence/LibSecretPersistence.cjs +0 -93
- package/dist/persistence/LibSecretPersistence.cjs.map +0 -1
- package/dist/persistence/PersistenceCachePlugin.cjs +0 -101
- package/dist/persistence/PersistenceCachePlugin.cjs.map +0 -1
- package/dist/persistence/PersistenceCreator.cjs +0 -70
- package/dist/persistence/PersistenceCreator.cjs.map +0 -1
- package/dist/utils/Constants.cjs +0 -66
- package/dist/utils/Constants.cjs.map +0 -1
- package/dist/utils/Environment.cjs +0 -96
- package/dist/utils/Environment.cjs.map +0 -1
- package/dist/utils/TypeGuards.cjs +0 -17
- package/dist/utils/TypeGuards.cjs.map +0 -1
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
/*! @azure/msal-node-extensions v1.1.0 2024-07-23 */
|
|
2
|
-
'use strict';
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var keytar = require('keytar');
|
|
6
|
-
var FilePersistence = require('./FilePersistence.cjs');
|
|
7
|
-
var PersistenceError = require('../error/PersistenceError.cjs');
|
|
8
|
-
var path = require('path');
|
|
9
|
-
var BasePersistence = require('./BasePersistence.cjs');
|
|
10
|
-
var TypeGuards = require('../utils/TypeGuards.cjs');
|
|
11
|
-
|
|
12
|
-
/*
|
|
13
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
14
|
-
* Licensed under the MIT License.
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Uses reads and writes passwords to macOS keychain
|
|
18
|
-
*
|
|
19
|
-
* serviceName: Identifier used as key for whatever value is stored
|
|
20
|
-
* accountName: Account under which password should be stored
|
|
21
|
-
*/
|
|
22
|
-
class KeychainPersistence extends BasePersistence.BasePersistence {
|
|
23
|
-
constructor(filePersistence, serviceName, accountName) {
|
|
24
|
-
super();
|
|
25
|
-
this.filePersistence = filePersistence;
|
|
26
|
-
this.serviceName = serviceName;
|
|
27
|
-
this.accountName = accountName;
|
|
28
|
-
}
|
|
29
|
-
static async create(fileLocation, serviceName, accountName, loggerOptions) {
|
|
30
|
-
const filePersistence = await FilePersistence.FilePersistence.create(fileLocation, loggerOptions);
|
|
31
|
-
const persistence = new KeychainPersistence(filePersistence, serviceName, accountName);
|
|
32
|
-
return persistence;
|
|
33
|
-
}
|
|
34
|
-
async save(contents) {
|
|
35
|
-
try {
|
|
36
|
-
await keytar.setPassword(this.serviceName, this.accountName, contents);
|
|
37
|
-
}
|
|
38
|
-
catch (err) {
|
|
39
|
-
if (TypeGuards.isNodeError(err)) {
|
|
40
|
-
throw PersistenceError.PersistenceError.createKeychainPersistenceError(err.message);
|
|
41
|
-
}
|
|
42
|
-
else {
|
|
43
|
-
throw err;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
// Write dummy data to update file mtime
|
|
47
|
-
await this.filePersistence.save("{}");
|
|
48
|
-
}
|
|
49
|
-
async load() {
|
|
50
|
-
try {
|
|
51
|
-
return await keytar.getPassword(this.serviceName, this.accountName);
|
|
52
|
-
}
|
|
53
|
-
catch (err) {
|
|
54
|
-
if (TypeGuards.isNodeError(err)) {
|
|
55
|
-
throw PersistenceError.PersistenceError.createKeychainPersistenceError(err.message);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
throw err;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
async delete() {
|
|
63
|
-
try {
|
|
64
|
-
await this.filePersistence.delete();
|
|
65
|
-
return await keytar.deletePassword(this.serviceName, this.accountName);
|
|
66
|
-
}
|
|
67
|
-
catch (err) {
|
|
68
|
-
if (TypeGuards.isNodeError(err)) {
|
|
69
|
-
throw PersistenceError.PersistenceError.createKeychainPersistenceError(err.message);
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
throw err;
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
async reloadNecessary(lastSync) {
|
|
77
|
-
return this.filePersistence.reloadNecessary(lastSync);
|
|
78
|
-
}
|
|
79
|
-
getFilePath() {
|
|
80
|
-
return this.filePersistence.getFilePath();
|
|
81
|
-
}
|
|
82
|
-
getLogger() {
|
|
83
|
-
return this.filePersistence.getLogger();
|
|
84
|
-
}
|
|
85
|
-
createForPersistenceValidation() {
|
|
86
|
-
const testCacheFileLocation = `${path.dirname(this.filePersistence.getFilePath())}/test.cache`;
|
|
87
|
-
return KeychainPersistence.create(testCacheFileLocation, "persistenceValidationServiceName", "persistencValidationAccountName");
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
|
|
91
|
-
exports.KeychainPersistence = KeychainPersistence;
|
|
92
|
-
//# sourceMappingURL=KeychainPersistence.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"KeychainPersistence.cjs","sources":["../../src/persistence/KeychainPersistence.ts"],"sourcesContent":[null],"names":["BasePersistence","FilePersistence","isNodeError","PersistenceError","dirname"],"mappings":"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"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
/*! @azure/msal-node-extensions v1.1.0 2024-07-23 */
|
|
2
|
-
'use strict';
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var keytar = require('keytar');
|
|
6
|
-
var FilePersistence = require('./FilePersistence.cjs');
|
|
7
|
-
var PersistenceError = require('../error/PersistenceError.cjs');
|
|
8
|
-
var path = require('path');
|
|
9
|
-
var BasePersistence = require('./BasePersistence.cjs');
|
|
10
|
-
var TypeGuards = require('../utils/TypeGuards.cjs');
|
|
11
|
-
|
|
12
|
-
/*
|
|
13
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
14
|
-
* Licensed under the MIT License.
|
|
15
|
-
*/
|
|
16
|
-
/**
|
|
17
|
-
* Uses reads and writes passwords to Secret Service API/libsecret. Requires libsecret
|
|
18
|
-
* to be installed.
|
|
19
|
-
*
|
|
20
|
-
* serviceName: Identifier used as key for whatever value is stored
|
|
21
|
-
* accountName: Account under which password should be stored
|
|
22
|
-
*/
|
|
23
|
-
class LibSecretPersistence extends BasePersistence.BasePersistence {
|
|
24
|
-
constructor(filePersistence, serviceName, accountName) {
|
|
25
|
-
super();
|
|
26
|
-
this.filePersistence = filePersistence;
|
|
27
|
-
this.serviceName = serviceName;
|
|
28
|
-
this.accountName = accountName;
|
|
29
|
-
}
|
|
30
|
-
static async create(fileLocation, serviceName, accountName, loggerOptions) {
|
|
31
|
-
const filePersistence = await FilePersistence.FilePersistence.create(fileLocation, loggerOptions);
|
|
32
|
-
const persistence = new LibSecretPersistence(filePersistence, serviceName, accountName);
|
|
33
|
-
return persistence;
|
|
34
|
-
}
|
|
35
|
-
async save(contents) {
|
|
36
|
-
try {
|
|
37
|
-
await keytar.setPassword(this.serviceName, this.accountName, contents);
|
|
38
|
-
}
|
|
39
|
-
catch (err) {
|
|
40
|
-
if (TypeGuards.isNodeError(err)) {
|
|
41
|
-
throw PersistenceError.PersistenceError.createLibSecretError(err.message);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
throw err;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
// Write dummy data to update file mtime
|
|
48
|
-
await this.filePersistence.save("{}");
|
|
49
|
-
}
|
|
50
|
-
async load() {
|
|
51
|
-
try {
|
|
52
|
-
return await keytar.getPassword(this.serviceName, this.accountName);
|
|
53
|
-
}
|
|
54
|
-
catch (err) {
|
|
55
|
-
if (TypeGuards.isNodeError(err)) {
|
|
56
|
-
throw PersistenceError.PersistenceError.createLibSecretError(err.message);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
throw err;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
async delete() {
|
|
64
|
-
try {
|
|
65
|
-
await this.filePersistence.delete();
|
|
66
|
-
return await keytar.deletePassword(this.serviceName, this.accountName);
|
|
67
|
-
}
|
|
68
|
-
catch (err) {
|
|
69
|
-
if (TypeGuards.isNodeError(err)) {
|
|
70
|
-
throw PersistenceError.PersistenceError.createLibSecretError(err.message);
|
|
71
|
-
}
|
|
72
|
-
else {
|
|
73
|
-
throw err;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
async reloadNecessary(lastSync) {
|
|
78
|
-
return this.filePersistence.reloadNecessary(lastSync);
|
|
79
|
-
}
|
|
80
|
-
getFilePath() {
|
|
81
|
-
return this.filePersistence.getFilePath();
|
|
82
|
-
}
|
|
83
|
-
getLogger() {
|
|
84
|
-
return this.filePersistence.getLogger();
|
|
85
|
-
}
|
|
86
|
-
createForPersistenceValidation() {
|
|
87
|
-
const testCacheFileLocation = `${path.dirname(this.filePersistence.getFilePath())}/test.cache`;
|
|
88
|
-
return LibSecretPersistence.create(testCacheFileLocation, "persistenceValidationServiceName", "persistencValidationAccountName");
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
exports.LibSecretPersistence = LibSecretPersistence;
|
|
93
|
-
//# sourceMappingURL=LibSecretPersistence.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LibSecretPersistence.cjs","sources":["../../src/persistence/LibSecretPersistence.ts"],"sourcesContent":[null],"names":["BasePersistence","FilePersistence","isNodeError","PersistenceError","dirname"],"mappings":"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"}
|
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
/*! @azure/msal-node-extensions v1.1.0 2024-07-23 */
|
|
2
|
-
'use strict';
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var CrossPlatformLock = require('../lock/CrossPlatformLock.cjs');
|
|
6
|
-
var process = require('process');
|
|
7
|
-
|
|
8
|
-
/*
|
|
9
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
10
|
-
* Licensed under the MIT License.
|
|
11
|
-
*/
|
|
12
|
-
/**
|
|
13
|
-
* MSAL cache plugin which enables callers to write the MSAL cache to disk on Windows,
|
|
14
|
-
* macOs, and Linux.
|
|
15
|
-
*
|
|
16
|
-
* - Persistence can be one of:
|
|
17
|
-
* - FilePersistence: Writes and reads from an unencrypted file. Can be used on Windows,
|
|
18
|
-
* macOs, or Linux.
|
|
19
|
-
* - FilePersistenceWithDataProtection: Used on Windows, writes and reads from file encrypted
|
|
20
|
-
* with windows dpapi-addon.
|
|
21
|
-
* - KeychainPersistence: Used on macOs, writes and reads from keychain.
|
|
22
|
-
* - LibSecretPersistence: Used on linux, writes and reads from secret service API. Requires
|
|
23
|
-
* libsecret be installed.
|
|
24
|
-
*/
|
|
25
|
-
class PersistenceCachePlugin {
|
|
26
|
-
constructor(persistence, lockOptions) {
|
|
27
|
-
this.persistence = persistence;
|
|
28
|
-
// initialize logger
|
|
29
|
-
this.logger = persistence.getLogger();
|
|
30
|
-
// create file lock
|
|
31
|
-
this.lockFilePath = `${this.persistence.getFilePath()}.lockfile`;
|
|
32
|
-
this.crossPlatformLock = new CrossPlatformLock.CrossPlatformLock(this.lockFilePath, this.logger, lockOptions);
|
|
33
|
-
// initialize default values
|
|
34
|
-
this.lastSync = 0;
|
|
35
|
-
this.currentCache = null;
|
|
36
|
-
}
|
|
37
|
-
/**
|
|
38
|
-
* Reads from storage and saves an in-memory copy. If persistence has not been updated
|
|
39
|
-
* since last time data was read, in memory copy is used.
|
|
40
|
-
*
|
|
41
|
-
* If cacheContext.cacheHasChanged === true, then file lock is created and not deleted until
|
|
42
|
-
* afterCacheAccess() is called, to prevent the cache file from changing in between
|
|
43
|
-
* beforeCacheAccess() and afterCacheAccess().
|
|
44
|
-
*/
|
|
45
|
-
async beforeCacheAccess(cacheContext) {
|
|
46
|
-
this.logger.info("Executing before cache access");
|
|
47
|
-
const reloadNecessary = await this.persistence.reloadNecessary(this.lastSync);
|
|
48
|
-
if (!reloadNecessary && this.currentCache !== null) {
|
|
49
|
-
if (cacheContext.cacheHasChanged) {
|
|
50
|
-
this.logger.verbose("Cache context has changed");
|
|
51
|
-
await this.crossPlatformLock.lock();
|
|
52
|
-
}
|
|
53
|
-
return;
|
|
54
|
-
}
|
|
55
|
-
try {
|
|
56
|
-
this.logger.info(`Reload necessary. Last sync time: ${this.lastSync}`);
|
|
57
|
-
await this.crossPlatformLock.lock();
|
|
58
|
-
this.currentCache = await this.persistence.load();
|
|
59
|
-
this.lastSync = new Date().getTime();
|
|
60
|
-
if (this.currentCache) {
|
|
61
|
-
cacheContext.tokenCache.deserialize(this.currentCache);
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
this.logger.info("Cache empty.");
|
|
65
|
-
}
|
|
66
|
-
this.logger.info(`Last sync time updated to: ${this.lastSync}`);
|
|
67
|
-
}
|
|
68
|
-
finally {
|
|
69
|
-
if (!cacheContext.cacheHasChanged) {
|
|
70
|
-
await this.crossPlatformLock.unlock();
|
|
71
|
-
this.logger.info(`Pid ${process.pid} released lock`);
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.logger.info(`Pid ${process.pid} beforeCacheAccess did not release lock`);
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
}
|
|
78
|
-
/**
|
|
79
|
-
* Writes to storage if MSAL in memory copy of cache has been changed.
|
|
80
|
-
*/
|
|
81
|
-
async afterCacheAccess(cacheContext) {
|
|
82
|
-
this.logger.info("Executing after cache access");
|
|
83
|
-
try {
|
|
84
|
-
if (cacheContext.cacheHasChanged) {
|
|
85
|
-
this.logger.info("Msal in-memory cache has changed. Writing changes to persistence");
|
|
86
|
-
this.currentCache = cacheContext.tokenCache.serialize();
|
|
87
|
-
await this.persistence.save(this.currentCache);
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
this.logger.info("Msal in-memory cache has not changed. Did not write to persistence");
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
finally {
|
|
94
|
-
await this.crossPlatformLock.unlock();
|
|
95
|
-
this.logger.info(`Pid ${process.pid} afterCacheAccess released lock`);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
exports.PersistenceCachePlugin = PersistenceCachePlugin;
|
|
101
|
-
//# sourceMappingURL=PersistenceCachePlugin.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistenceCachePlugin.cjs","sources":["../../src/persistence/PersistenceCachePlugin.ts"],"sourcesContent":[null],"names":["CrossPlatformLock","pid"],"mappings":";;;;;;;AAAA;;;AAGG;AAQH;;;;;;;;;;;;AAYG;MACU,sBAAsB,CAAA;IAU/B,WACI,CAAA,WAAyB,EACzB,WAAsC,EAAA;AAEtC,QAAA,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;;AAG/B,QAAA,IAAI,CAAC,MAAM,GAAG,WAAW,CAAC,SAAS,EAAE,CAAC;;QAGtC,IAAI,CAAC,YAAY,GAAG,CAAG,EAAA,IAAI,CAAC,WAAW,CAAC,WAAW,EAAE,CAAA,SAAA,CAAW,CAAC;AACjE,QAAA,IAAI,CAAC,iBAAiB,GAAG,IAAIA,mCAAiB,CAC1C,IAAI,CAAC,YAAY,EACjB,IAAI,CAAC,MAAM,EACX,WAAW,CACd,CAAC;;AAGF,QAAA,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC;AAClB,QAAA,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;KAC5B;AAED;;;;;;;AAOG;IACI,MAAM,iBAAiB,CAC1B,YAA+B,EAAA;AAE/B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;AAClD,QAAA,MAAM,eAAe,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,eAAe,CAC1D,IAAI,CAAC,QAAQ,CAChB,CAAC;QACF,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;YAChD,IAAI,YAAY,CAAC,eAAe,EAAE;AAC9B,gBAAA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,2BAA2B,CAAC,CAAC;AACjD,gBAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;AACvC,aAAA;YACD,OAAO;AACV,SAAA;QACD,IAAI;YACA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,CAAqC,kCAAA,EAAA,IAAI,CAAC,QAAQ,CAAE,CAAA,CACvD,CAAC;AACF,YAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,CAAC;YAEpC,IAAI,CAAC,YAAY,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;YAClD,IAAI,CAAC,QAAQ,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC;YACrC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,YAAY,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAC1D,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;AACpC,aAAA;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAA8B,2BAAA,EAAA,IAAI,CAAC,QAAQ,CAAE,CAAA,CAAC,CAAC;AACnE,SAAA;AAAS,gBAAA;AACN,YAAA,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE;AAC/B,gBAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;gBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAO,IAAA,EAAAC,WAAG,CAAgB,cAAA,CAAA,CAAC,CAAC;AAChD,aAAA;AAAM,iBAAA;gBACH,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,CAAO,IAAA,EAAAA,WAAG,CAAyC,uCAAA,CAAA,CACtD,CAAC;AACL,aAAA;AACJ,SAAA;KACJ;AAED;;AAEG;IACI,MAAM,gBAAgB,CACzB,YAA+B,EAAA;AAE/B,QAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;QACjD,IAAI;YACA,IAAI,YAAY,CAAC,eAAe,EAAE;AAC9B,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,kEAAkE,CACrE,CAAC;gBACF,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;gBACxD,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;AAClD,aAAA;AAAM,iBAAA;AACH,gBAAA,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,oEAAoE,CACvE,CAAC;AACL,aAAA;AACJ,SAAA;AAAS,gBAAA;AACN,YAAA,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAO,IAAA,EAAAA,WAAG,CAAiC,+BAAA,CAAA,CAAC,CAAC;AACjE,SAAA;KACJ;AACJ;;;;"}
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
/*! @azure/msal-node-extensions v1.1.0 2024-07-23 */
|
|
2
|
-
'use strict';
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var FilePersistenceWithDataProtection = require('./FilePersistenceWithDataProtection.cjs');
|
|
6
|
-
var LibSecretPersistence = require('./LibSecretPersistence.cjs');
|
|
7
|
-
var KeychainPersistence = require('./KeychainPersistence.cjs');
|
|
8
|
-
var DataProtectionScope = require('./DataProtectionScope.cjs');
|
|
9
|
-
var Environment = require('../utils/Environment.cjs');
|
|
10
|
-
var FilePersistence = require('./FilePersistence.cjs');
|
|
11
|
-
var PersistenceError = require('../error/PersistenceError.cjs');
|
|
12
|
-
|
|
13
|
-
/*
|
|
14
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
15
|
-
* Licensed under the MIT License.
|
|
16
|
-
*/
|
|
17
|
-
class PersistenceCreator {
|
|
18
|
-
static async createPersistence(config) {
|
|
19
|
-
let peristence;
|
|
20
|
-
// On Windows, uses a DPAPI encrypted file
|
|
21
|
-
if (Environment.Environment.isWindowsPlatform()) {
|
|
22
|
-
if (!config.cachePath || !config.dataProtectionScope) {
|
|
23
|
-
throw PersistenceError.PersistenceError.createPersistenceNotValidatedError("Cache path and/or data protection scope not provided for the FilePersistenceWithDataProtection cache plugin");
|
|
24
|
-
}
|
|
25
|
-
peristence = await FilePersistenceWithDataProtection.FilePersistenceWithDataProtection.create(config.cachePath, DataProtectionScope.DataProtectionScope.CurrentUser, undefined, config.loggerOptions);
|
|
26
|
-
}
|
|
27
|
-
// On Mac, uses keychain.
|
|
28
|
-
else if (Environment.Environment.isMacPlatform()) {
|
|
29
|
-
if (!config.cachePath ||
|
|
30
|
-
!config.serviceName ||
|
|
31
|
-
!config.accountName) {
|
|
32
|
-
throw PersistenceError.PersistenceError.createPersistenceNotValidatedError("Cache path, service name and/or account name not provided for the KeychainPersistence cache plugin");
|
|
33
|
-
}
|
|
34
|
-
peristence = await KeychainPersistence.KeychainPersistence.create(config.cachePath, config.serviceName, config.accountName, config.loggerOptions);
|
|
35
|
-
}
|
|
36
|
-
// On Linux, uses libsecret to store to secret service. Libsecret has to be installed.
|
|
37
|
-
else if (Environment.Environment.isLinuxPlatform()) {
|
|
38
|
-
if (!config.cachePath ||
|
|
39
|
-
!config.serviceName ||
|
|
40
|
-
!config.accountName) {
|
|
41
|
-
throw PersistenceError.PersistenceError.createPersistenceNotValidatedError("Cache path, service name and/or account name not provided for the LibSecretPersistence cache plugin");
|
|
42
|
-
}
|
|
43
|
-
peristence = await LibSecretPersistence.LibSecretPersistence.create(config.cachePath, config.serviceName, config.accountName, config.loggerOptions);
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
throw PersistenceError.PersistenceError.createNotSupportedError("The current environment is not supported by msal-node-extensions yet.");
|
|
47
|
-
}
|
|
48
|
-
await peristence.verifyPersistence().catch(async (e) => {
|
|
49
|
-
if (Environment.Environment.isLinuxPlatform() &&
|
|
50
|
-
config.usePlaintextFileOnLinux) {
|
|
51
|
-
if (!config.cachePath) {
|
|
52
|
-
throw PersistenceError.PersistenceError.createPersistenceNotValidatedError("Cache path not provided for the FilePersistence cache plugin");
|
|
53
|
-
}
|
|
54
|
-
peristence = await FilePersistence.FilePersistence.create(config.cachePath, config.loggerOptions);
|
|
55
|
-
const isFilePersistenceVerified = await peristence.verifyPersistence();
|
|
56
|
-
if (isFilePersistenceVerified) {
|
|
57
|
-
return peristence;
|
|
58
|
-
}
|
|
59
|
-
throw PersistenceError.PersistenceError.createPersistenceNotVerifiedError("Persistence could not be verified");
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
throw e;
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
return peristence;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
exports.PersistenceCreator = PersistenceCreator;
|
|
70
|
-
//# sourceMappingURL=PersistenceCreator.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"PersistenceCreator.cjs","sources":["../../src/persistence/PersistenceCreator.ts"],"sourcesContent":[null],"names":["Environment","PersistenceError","FilePersistenceWithDataProtection","DataProtectionScope","KeychainPersistence","LibSecretPersistence","FilePersistence"],"mappings":";;;;;;;;;;;;AAAA;;;AAGG;MAYU,kBAAkB,CAAA;AAC3B,IAAA,aAAa,iBAAiB,CAC1B,MAAiC,EAAA;AAEjC,QAAA,IAAI,UAAwB,CAAC;;AAG7B,QAAA,IAAIA,uBAAW,CAAC,iBAAiB,EAAE,EAAE;YACjC,IAAI,CAAC,MAAM,CAAC,SAAS,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE;AAClD,gBAAA,MAAMC,iCAAgB,CAAC,kCAAkC,CACrD,6GAA6G,CAChH,CAAC;AACL,aAAA;YAED,UAAU,GAAG,MAAMC,mEAAiC,CAAC,MAAM,CACvD,MAAM,CAAC,SAAS,EAChBC,uCAAmB,CAAC,WAAW,EAC/B,SAAS,EACT,MAAM,CAAC,aAAa,CACvB,CAAC;AACL,SAAA;;AAGI,aAAA,IAAIH,uBAAW,CAAC,aAAa,EAAE,EAAE;YAClC,IACI,CAAC,MAAM,CAAC,SAAS;gBACjB,CAAC,MAAM,CAAC,WAAW;gBACnB,CAAC,MAAM,CAAC,WAAW,EACrB;AACE,gBAAA,MAAMC,iCAAgB,CAAC,kCAAkC,CACrD,oGAAoG,CACvG,CAAC;AACL,aAAA;YAED,UAAU,GAAG,MAAMG,uCAAmB,CAAC,MAAM,CACzC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,aAAa,CACvB,CAAC;AACL,SAAA;;AAGI,aAAA,IAAIJ,uBAAW,CAAC,eAAe,EAAE,EAAE;YACpC,IACI,CAAC,MAAM,CAAC,SAAS;gBACjB,CAAC,MAAM,CAAC,WAAW;gBACnB,CAAC,MAAM,CAAC,WAAW,EACrB;AACE,gBAAA,MAAMC,iCAAgB,CAAC,kCAAkC,CACrD,qGAAqG,CACxG,CAAC;AACL,aAAA;YAED,UAAU,GAAG,MAAMI,yCAAoB,CAAC,MAAM,CAC1C,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,aAAa,CACvB,CAAC;AACL,SAAA;AAAM,aAAA;AACH,YAAA,MAAMJ,iCAAgB,CAAC,uBAAuB,CAC1C,uEAAuE,CAC1E,CAAC;AACL,SAAA;QAED,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAI;YACnD,IACID,uBAAW,CAAC,eAAe,EAAE;gBAC7B,MAAM,CAAC,uBAAuB,EAChC;AACE,gBAAA,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE;AACnB,oBAAA,MAAMC,iCAAgB,CAAC,kCAAkC,CACrD,8DAA8D,CACjE,CAAC;AACL,iBAAA;AAED,gBAAA,UAAU,GAAG,MAAMK,+BAAe,CAAC,MAAM,CACrC,MAAM,CAAC,SAAS,EAChB,MAAM,CAAC,aAAa,CACvB,CAAC;AAEF,gBAAA,MAAM,yBAAyB,GAC3B,MAAM,UAAU,CAAC,iBAAiB,EAAE,CAAC;AACzC,gBAAA,IAAI,yBAAyB,EAAE;AAC3B,oBAAA,OAAO,UAAU,CAAC;AACrB,iBAAA;AAED,gBAAA,MAAML,iCAAgB,CAAC,iCAAiC,CACpD,mCAAmC,CACtC,CAAC;AACL,aAAA;AAAM,iBAAA;AACH,gBAAA,MAAM,CAAC,CAAC;AACX,aAAA;AACL,SAAC,CAAC,CAAC;AAEH,QAAA,OAAO,UAAU,CAAC;KACrB;AACJ;;;;"}
|
package/dist/utils/Constants.cjs
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
/*! @azure/msal-node-extensions v1.1.0 2024-07-23 */
|
|
2
|
-
'use strict';
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
|
-
* Licensed under the MIT License.
|
|
8
|
-
*/
|
|
9
|
-
const Constants = {
|
|
10
|
-
/**
|
|
11
|
-
* An existing file was the target of an operation that required that the target not exist
|
|
12
|
-
*/
|
|
13
|
-
EEXIST_ERROR: "EEXIST",
|
|
14
|
-
/**
|
|
15
|
-
* No such file or directory: Commonly raised by fs operations to indicate that a component
|
|
16
|
-
* of the specified pathname does not exist. No entity (file or directory) could be found
|
|
17
|
-
* by the given path
|
|
18
|
-
*/
|
|
19
|
-
ENOENT_ERROR: "ENOENT",
|
|
20
|
-
/**
|
|
21
|
-
* Operation not permitted. An attempt was made to perform an operation that requires
|
|
22
|
-
* elevated privileges.
|
|
23
|
-
*/
|
|
24
|
-
EPERM_ERROR: "EPERM",
|
|
25
|
-
/**
|
|
26
|
-
* Default service name for using MSAL Keytar
|
|
27
|
-
*/
|
|
28
|
-
DEFAULT_SERVICE_NAME: "msal-node-extensions",
|
|
29
|
-
/**
|
|
30
|
-
* Test data used to verify underlying persistence mechanism
|
|
31
|
-
*/
|
|
32
|
-
PERSISTENCE_TEST_DATA: "Dummy data to verify underlying persistence mechanism",
|
|
33
|
-
/**
|
|
34
|
-
* This is the value of a the guid if the process is being ran by the root user
|
|
35
|
-
*/
|
|
36
|
-
LINUX_ROOT_USER_GUID: 0,
|
|
37
|
-
/**
|
|
38
|
-
* List of environment variables
|
|
39
|
-
*/
|
|
40
|
-
ENVIRONMENT: {
|
|
41
|
-
HOME: "HOME",
|
|
42
|
-
LOGNAME: "LOGNAME",
|
|
43
|
-
USER: "USER",
|
|
44
|
-
LNAME: "LNAME",
|
|
45
|
-
USERNAME: "USERNAME",
|
|
46
|
-
PLATFORM: "platform",
|
|
47
|
-
LOCAL_APPLICATION_DATA: "LOCALAPPDATA",
|
|
48
|
-
},
|
|
49
|
-
// Name of the default cache file
|
|
50
|
-
DEFAULT_CACHE_FILE_NAME: "cache.json",
|
|
51
|
-
};
|
|
52
|
-
const Platform = {
|
|
53
|
-
WINDOWS: "win32",
|
|
54
|
-
LINUX: "linux",
|
|
55
|
-
MACOS: "darwin",
|
|
56
|
-
};
|
|
57
|
-
const ErrorCodes = {
|
|
58
|
-
INTERATION_REQUIRED_ERROR_CODE: "interaction_required",
|
|
59
|
-
SERVER_UNAVAILABLE: "server_unavailable",
|
|
60
|
-
UNKNOWN: "unknown_error",
|
|
61
|
-
};
|
|
62
|
-
|
|
63
|
-
exports.Constants = Constants;
|
|
64
|
-
exports.ErrorCodes = ErrorCodes;
|
|
65
|
-
exports.Platform = Platform;
|
|
66
|
-
//# sourceMappingURL=Constants.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Constants.cjs","sources":["../../src/utils/Constants.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;AAGG;AAEU,MAAA,SAAS,GAAG;AACrB;;AAEG;AACH,IAAA,YAAY,EAAE,QAAQ;AAEtB;;;;AAIG;AACH,IAAA,YAAY,EAAE,QAAQ;AAEtB;;;AAGG;AACH,IAAA,WAAW,EAAE,OAAO;AAEpB;;AAEG;AACH,IAAA,oBAAoB,EAAE,sBAAsB;AAE5C;;AAEG;AACH,IAAA,qBAAqB,EACjB,uDAAuD;AAE3D;;AAEG;AACH,IAAA,oBAAoB,EAAE,CAAC;AAEvB;;AAEG;AACH,IAAA,WAAW,EAAE;AACT,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,IAAI,EAAE,MAAM;AACZ,QAAA,KAAK,EAAE,OAAO;AACd,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,sBAAsB,EAAE,cAAc;AACzC,KAAA;;AAGD,IAAA,uBAAuB,EAAE,YAAY;EACvC;AAEW,MAAA,QAAQ,GAAG;AACpB,IAAA,OAAO,EAAE,OAAO;AAChB,IAAA,KAAK,EAAE,OAAO;AACd,IAAA,KAAK,EAAE,QAAQ;EACR;AAGE,MAAA,UAAU,GAAG;AACtB,IAAA,8BAA8B,EAAE,sBAAsB;AACtD,IAAA,kBAAkB,EAAE,oBAAoB;AACxC,IAAA,OAAO,EAAE,eAAe;;;;;;;"}
|
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
/*! @azure/msal-node-extensions v1.1.0 2024-07-23 */
|
|
2
|
-
'use strict';
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
var path = require('path');
|
|
6
|
-
var Constants = require('./Constants.cjs');
|
|
7
|
-
var PersistenceError = require('../error/PersistenceError.cjs');
|
|
8
|
-
|
|
9
|
-
/*
|
|
10
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
11
|
-
* Licensed under the MIT License.
|
|
12
|
-
*/
|
|
13
|
-
class Environment {
|
|
14
|
-
static get homeEnvVar() {
|
|
15
|
-
return this.getEnvironmentVariable(Constants.Constants.ENVIRONMENT.HOME);
|
|
16
|
-
}
|
|
17
|
-
static get lognameEnvVar() {
|
|
18
|
-
return this.getEnvironmentVariable(Constants.Constants.ENVIRONMENT.LOGNAME);
|
|
19
|
-
}
|
|
20
|
-
static get userEnvVar() {
|
|
21
|
-
return this.getEnvironmentVariable(Constants.Constants.ENVIRONMENT.USER);
|
|
22
|
-
}
|
|
23
|
-
static get lnameEnvVar() {
|
|
24
|
-
return this.getEnvironmentVariable(Constants.Constants.ENVIRONMENT.LNAME);
|
|
25
|
-
}
|
|
26
|
-
static get usernameEnvVar() {
|
|
27
|
-
return this.getEnvironmentVariable(Constants.Constants.ENVIRONMENT.USERNAME);
|
|
28
|
-
}
|
|
29
|
-
static getEnvironmentVariable(name) {
|
|
30
|
-
return process.env[name] || "";
|
|
31
|
-
}
|
|
32
|
-
static getEnvironmentPlatform() {
|
|
33
|
-
return process.platform;
|
|
34
|
-
}
|
|
35
|
-
static isWindowsPlatform() {
|
|
36
|
-
return this.getEnvironmentPlatform() === Constants.Platform.WINDOWS;
|
|
37
|
-
}
|
|
38
|
-
static isLinuxPlatform() {
|
|
39
|
-
return this.getEnvironmentPlatform() === Constants.Platform.LINUX;
|
|
40
|
-
}
|
|
41
|
-
static isMacPlatform() {
|
|
42
|
-
return this.getEnvironmentPlatform() === Constants.Platform.MACOS;
|
|
43
|
-
}
|
|
44
|
-
static isLinuxRootUser() {
|
|
45
|
-
if (typeof process.getuid !== "function") {
|
|
46
|
-
return false;
|
|
47
|
-
}
|
|
48
|
-
return process.getuid() === Constants.Constants.LINUX_ROOT_USER_GUID;
|
|
49
|
-
}
|
|
50
|
-
static getUserRootDirectory() {
|
|
51
|
-
return !this.isWindowsPlatform()
|
|
52
|
-
? this.getUserHomeDirOnUnix()
|
|
53
|
-
: this.getUserHomeDirOnWindows();
|
|
54
|
-
}
|
|
55
|
-
static getUserHomeDirOnWindows() {
|
|
56
|
-
return this.getEnvironmentVariable(Constants.Constants.ENVIRONMENT.LOCAL_APPLICATION_DATA);
|
|
57
|
-
}
|
|
58
|
-
static getUserHomeDirOnUnix() {
|
|
59
|
-
if (this.isWindowsPlatform()) {
|
|
60
|
-
throw PersistenceError.PersistenceError.createNotSupportedError("Getting the user home directory for unix is not supported in windows");
|
|
61
|
-
}
|
|
62
|
-
if (this.homeEnvVar) {
|
|
63
|
-
return this.homeEnvVar;
|
|
64
|
-
}
|
|
65
|
-
let username = null;
|
|
66
|
-
if (this.lognameEnvVar) {
|
|
67
|
-
username = this.lognameEnvVar;
|
|
68
|
-
}
|
|
69
|
-
else if (this.userEnvVar) {
|
|
70
|
-
username = this.userEnvVar;
|
|
71
|
-
}
|
|
72
|
-
else if (this.lnameEnvVar) {
|
|
73
|
-
username = this.lnameEnvVar;
|
|
74
|
-
}
|
|
75
|
-
else if (this.usernameEnvVar) {
|
|
76
|
-
username = this.usernameEnvVar;
|
|
77
|
-
}
|
|
78
|
-
if (this.isMacPlatform()) {
|
|
79
|
-
return username ? path.join("/Users", username) : null;
|
|
80
|
-
}
|
|
81
|
-
else if (this.isLinuxPlatform()) {
|
|
82
|
-
if (this.isLinuxRootUser()) {
|
|
83
|
-
return "/root";
|
|
84
|
-
}
|
|
85
|
-
else {
|
|
86
|
-
return username ? path.join("/home", username) : null;
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
else {
|
|
90
|
-
throw PersistenceError.PersistenceError.createNotSupportedError("Getting the user home directory for unix is not supported in windows");
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
exports.Environment = Environment;
|
|
96
|
-
//# sourceMappingURL=Environment.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Environment.cjs","sources":["../../src/utils/Environment.ts"],"sourcesContent":[null],"names":["Constants","Platform","PersistenceError"],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
/*! @azure/msal-node-extensions v1.1.0 2024-07-23 */
|
|
2
|
-
'use strict';
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
/*
|
|
6
|
-
* Copyright (c) Microsoft Corporation. All rights reserved.
|
|
7
|
-
* Licensed under the MIT License.
|
|
8
|
-
*/
|
|
9
|
-
/**
|
|
10
|
-
* Returns whether or not the given object is a Node.js error
|
|
11
|
-
*/
|
|
12
|
-
const isNodeError = (error) => {
|
|
13
|
-
return !!error && typeof error === "object" && error.hasOwnProperty("code");
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
exports.isNodeError = isNodeError;
|
|
17
|
-
//# sourceMappingURL=TypeGuards.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"TypeGuards.cjs","sources":["../../src/utils/TypeGuards.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;AAGG;AAEH;;AAEG;AACU,MAAA,WAAW,GAAG,CAAC,KAAc,KAAoC;AAC1E,IAAA,OAAO,CAAC,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;AAChF;;;;"}
|