@azure/msal-common
Advanced tools
Comparing version 4.5.1 to 5.0.0
@@ -5,2 +5,89 @@ { | ||
{ | ||
"date": "Tue, 07 Sep 2021 23:22:24 GMT", | ||
"tag": "@azure/msal-common_v5.0.0", | ||
"version": "5.0.0", | ||
"comments": { | ||
"patch": [ | ||
{ | ||
"comment": "Add correlationId property to AuthError #3930", | ||
"author": "thomas.norling@microsoft.com", | ||
"commit": "c2d19c27d11fdab54fb336b9a455b05c753ae750", | ||
"package": "@azure/msal-common" | ||
}, | ||
{ | ||
"comment": "Fix logger constructor #3899", | ||
"author": "hemoral@microsoft.com", | ||
"commit": "b864252c09935f31d72ace20ca13a5a42d2a6bc1", | ||
"package": "@azure/msal-common" | ||
}, | ||
{ | ||
"comment": "Add correlationId to AuthenticationResult type #3947", | ||
"author": "thomas.norling@microsoft.com", | ||
"commit": "931061695df57488a26397763bbdb3e466713df8", | ||
"package": "@azure/msal-common" | ||
}, | ||
{ | ||
"comment": "Fix accesstoken_with_authscheme implementation #3910", | ||
"author": "hemoral@microsoft.com", | ||
"commit": "9aceb4219ebad900277aa6a59ca1ff93c5a21e0a", | ||
"package": "@azure/msal-common" | ||
}, | ||
{ | ||
"comment": "Add external token server response type #3895", | ||
"author": "joarroyo@microsoft.com", | ||
"commit": "cef2629499cf997f9167fe3ecc7628cf32513dfc", | ||
"package": "@azure/msal-common" | ||
}, | ||
{ | ||
"comment": "Fixes unescaped backslash and inefficient regex patterns #3993", | ||
"author": "thomas.norling@microsoft.com", | ||
"commit": "80434004e06dc11f3770ba84e5ead1c45f449156", | ||
"package": "@azure/msal-common" | ||
} | ||
], | ||
"none": [ | ||
{ | ||
"comment": "Resolve lint warnings #3994", | ||
"author": "thomas.norling@microsoft.com", | ||
"commit": "17cbef3c32f01e526e33964df21b0cda19e632b9", | ||
"package": "@azure/msal-common" | ||
}, | ||
{ | ||
"comment": "Removes logout cache clearing logic from AuthorizationCodeClient #3982", | ||
"author": "thomas.norling@microsoft.com", | ||
"commit": "9e4d8a161cd8eac51ea7ded5dadc2b6ff028f5d7", | ||
"package": "@azure/msal-common" | ||
} | ||
], | ||
"minor": [ | ||
{ | ||
"comment": "Adds state param to logout url #3909", | ||
"author": "bmahal@microsoft.com", | ||
"commit": "20c270e030922e3bb9df5beb1c6dcca190c4ac09", | ||
"package": "@azure/msal-common" | ||
}, | ||
{ | ||
"comment": "Add SignedHttpRequest class #3058", | ||
"author": "janutter@microsoft.com", | ||
"commit": "19fe65ef6562deeae0778db5030f44fa6e24aa5d", | ||
"package": "@azure/msal-common" | ||
} | ||
], | ||
"major": [ | ||
{ | ||
"comment": "Add pop params to request thumbprint #3973", | ||
"author": "hemoral@microsoft.com", | ||
"commit": "b3b18bc86a5949905be265c9b892e288551ac894", | ||
"package": "@azure/msal-common" | ||
}, | ||
{ | ||
"comment": "Remove token binding key from key store when refreshing pop token #3500", | ||
"author": "hemoral@microsoft.com", | ||
"commit": "6592652877f31405c8ed73a66f03eada90a78c0a", | ||
"package": "@azure/msal-common" | ||
} | ||
] | ||
} | ||
}, | ||
{ | ||
"date": "Mon, 02 Aug 2021 23:19:21 GMT", | ||
@@ -7,0 +94,0 @@ "tag": "@azure/msal-common_v4.5.1", |
# Change Log - @azure/msal-common | ||
This log was last generated on Mon, 02 Aug 2021 23:19:21 GMT and should not be manually modified. | ||
This log was last generated on Tue, 07 Sep 2021 23:22:24 GMT and should not be manually modified. | ||
<!-- Start content --> | ||
## 5.0.0 | ||
Tue, 07 Sep 2021 23:22:24 GMT | ||
### Major changes | ||
- Add pop params to request thumbprint #3973 (hemoral@microsoft.com) | ||
- Remove token binding key from key store when refreshing pop token #3500 (hemoral@microsoft.com) | ||
### Minor changes | ||
- Adds state param to logout url #3909 (bmahal@microsoft.com) | ||
- Add SignedHttpRequest class #3058 (janutter@microsoft.com) | ||
### Patches | ||
- Add correlationId property to AuthError #3930 (thomas.norling@microsoft.com) | ||
- Fix logger constructor #3899 (hemoral@microsoft.com) | ||
- Add correlationId to AuthenticationResult type #3947 (thomas.norling@microsoft.com) | ||
- Fix accesstoken_with_authscheme implementation #3910 (hemoral@microsoft.com) | ||
- Add external token server response type #3895 (joarroyo@microsoft.com) | ||
- Fixes unescaped backslash and inefficient regex patterns #3993 (thomas.norling@microsoft.com) | ||
## 4.5.1 | ||
@@ -8,0 +31,0 @@ |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ /*! ***************************************************************************** |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { ClientAuthError } from '../error/ClientAuthError.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { ClientAuthError } from '../error/ClientAuthError.js'; |
@@ -24,3 +24,8 @@ /** | ||
x5c_ca?: string; | ||
ts?: number; | ||
at?: string; | ||
u?: string; | ||
p?: string; | ||
m?: string; | ||
}; | ||
//# sourceMappingURL=TokenClaims.d.ts.map |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __awaiter, __generator, __assign } from '../_virtual/_tslib.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __awaiter, __generator } from '../_virtual/_tslib.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __awaiter, __generator } from '../_virtual/_tslib.js'; |
@@ -128,3 +128,3 @@ import { AccountCache, AccountFilter, CredentialFilter, CredentialCache, AppMetadataFilter, AppMetadataCache } from "./utils/CacheTypes"; | ||
*/ | ||
abstract clear(): void; | ||
abstract clear(): Promise<void>; | ||
/** | ||
@@ -138,3 +138,3 @@ * Returns all accounts in cache | ||
*/ | ||
saveCacheRecord(cacheRecord: CacheRecord): void; | ||
saveCacheRecord(cacheRecord: CacheRecord): Promise<void>; | ||
/** | ||
@@ -179,2 +179,4 @@ * saves access token credential | ||
* @param target | ||
* @param oboAssertion | ||
* @param tokenType | ||
*/ | ||
@@ -201,3 +203,3 @@ private getCredentialsFilteredByInternal; | ||
*/ | ||
removeAllAccounts(): boolean; | ||
removeAllAccounts(): Promise<boolean>; | ||
/** | ||
@@ -207,3 +209,3 @@ * returns a boolean if the given account is removed | ||
*/ | ||
removeAccount(accountKey: string): boolean; | ||
removeAccount(accountKey: string): Promise<boolean>; | ||
/** | ||
@@ -213,3 +215,3 @@ * returns a boolean if the given account is removed | ||
*/ | ||
removeAccountContext(account: AccountEntity): boolean; | ||
removeAccountContext(account: AccountEntity): Promise<boolean>; | ||
/** | ||
@@ -219,3 +221,3 @@ * returns a boolean if the given credential is removed | ||
*/ | ||
removeCredential(credential: CredentialEntity): boolean; | ||
removeCredential(credential: CredentialEntity): Promise<boolean>; | ||
/** | ||
@@ -320,2 +322,8 @@ * Removes all app metadata objects from cache. | ||
/** | ||
* Returns true if the credential's tokenType or Authentication Scheme matches the one in the request, false otherwise | ||
* @param entity | ||
* @param tokenType | ||
*/ | ||
private matchTokenType; | ||
/** | ||
* returns if a given cache entity is of the type appmetadata | ||
@@ -368,4 +376,4 @@ * @param key | ||
getKeys(): string[]; | ||
clear(): void; | ||
clear(): Promise<void>; | ||
} | ||
//# sourceMappingURL=CacheManager.d.ts.map |
@@ -1,5 +0,5 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
import { __extends } from '../_virtual/_tslib.js'; | ||
import { Constants, CredentialType, CacheSchemaType, THE_FAMILY_ID, APP_METADATA, AUTHORITY_METADATA_CONSTANTS, AuthenticationScheme } from '../utils/Constants.js'; | ||
import { __awaiter, __generator, __extends } from '../_virtual/_tslib.js'; | ||
import { Constants, CredentialType, AuthenticationScheme, CacheSchemaType, THE_FAMILY_ID, APP_METADATA, AUTHORITY_METADATA_CONSTANTS } from '../utils/Constants.js'; | ||
import { CredentialEntity } from './entities/CredentialEntity.js'; | ||
@@ -53,20 +53,31 @@ import { ScopeSet } from '../request/ScopeSet.js'; | ||
CacheManager.prototype.saveCacheRecord = function (cacheRecord) { | ||
if (!cacheRecord) { | ||
throw ClientAuthError.createNullOrUndefinedCacheRecord(); | ||
} | ||
if (!!cacheRecord.account) { | ||
this.setAccount(cacheRecord.account); | ||
} | ||
if (!!cacheRecord.idToken) { | ||
this.setIdTokenCredential(cacheRecord.idToken); | ||
} | ||
if (!!cacheRecord.accessToken) { | ||
this.saveAccessToken(cacheRecord.accessToken); | ||
} | ||
if (!!cacheRecord.refreshToken) { | ||
this.setRefreshTokenCredential(cacheRecord.refreshToken); | ||
} | ||
if (!!cacheRecord.appMetadata) { | ||
this.setAppMetadata(cacheRecord.appMetadata); | ||
} | ||
return __awaiter(this, void 0, void 0, function () { | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
if (!cacheRecord) { | ||
throw ClientAuthError.createNullOrUndefinedCacheRecord(); | ||
} | ||
if (!!cacheRecord.account) { | ||
this.setAccount(cacheRecord.account); | ||
} | ||
if (!!cacheRecord.idToken) { | ||
this.setIdTokenCredential(cacheRecord.idToken); | ||
} | ||
if (!!!cacheRecord.accessToken) return [3 /*break*/, 2]; | ||
return [4 /*yield*/, this.saveAccessToken(cacheRecord.accessToken)]; | ||
case 1: | ||
_a.sent(); | ||
_a.label = 2; | ||
case 2: | ||
if (!!cacheRecord.refreshToken) { | ||
this.setRefreshTokenCredential(cacheRecord.refreshToken); | ||
} | ||
if (!!cacheRecord.appMetadata) { | ||
this.setAppMetadata(cacheRecord.appMetadata); | ||
} | ||
return [2 /*return*/]; | ||
} | ||
}); | ||
}); | ||
}; | ||
@@ -78,21 +89,36 @@ /** | ||
CacheManager.prototype.saveAccessToken = function (credential) { | ||
var _this = this; | ||
var currentTokenCache = this.getCredentialsFilteredBy({ | ||
clientId: credential.clientId, | ||
credentialType: credential.credentialType, | ||
environment: credential.environment, | ||
homeAccountId: credential.homeAccountId, | ||
realm: credential.realm, | ||
}); | ||
var currentScopes = ScopeSet.fromString(credential.target); | ||
var currentAccessTokens = Object.keys(currentTokenCache.accessTokens).map(function (key) { return currentTokenCache.accessTokens[key]; }); | ||
if (currentAccessTokens) { | ||
currentAccessTokens.forEach(function (tokenEntity) { | ||
var tokenScopeSet = ScopeSet.fromString(tokenEntity.target); | ||
if (tokenScopeSet.intersectingScopeSets(currentScopes)) { | ||
_this.removeCredential(tokenEntity); | ||
return __awaiter(this, void 0, void 0, function () { | ||
var currentTokenCache, currentScopes, currentAccessTokens, removedAccessTokens_1; | ||
var _this = this; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
currentTokenCache = this.getCredentialsFilteredBy({ | ||
clientId: credential.clientId, | ||
credentialType: credential.credentialType, | ||
environment: credential.environment, | ||
homeAccountId: credential.homeAccountId, | ||
realm: credential.realm, | ||
tokenType: credential.tokenType | ||
}); | ||
currentScopes = ScopeSet.fromString(credential.target); | ||
currentAccessTokens = Object.keys(currentTokenCache.accessTokens).map(function (key) { return currentTokenCache.accessTokens[key]; }); | ||
if (!currentAccessTokens) return [3 /*break*/, 2]; | ||
removedAccessTokens_1 = []; | ||
currentAccessTokens.forEach(function (tokenEntity) { | ||
var tokenScopeSet = ScopeSet.fromString(tokenEntity.target); | ||
if (tokenScopeSet.intersectingScopeSets(currentScopes)) { | ||
removedAccessTokens_1.push(_this.removeCredential(tokenEntity)); | ||
} | ||
}); | ||
return [4 /*yield*/, Promise.all(removedAccessTokens_1)]; | ||
case 1: | ||
_a.sent(); | ||
_a.label = 2; | ||
case 2: | ||
this.setAccessTokenCredential(credential); | ||
return [2 /*return*/]; | ||
} | ||
}); | ||
} | ||
this.setAccessTokenCredential(credential); | ||
}); | ||
}; | ||
@@ -148,3 +174,3 @@ /** | ||
CacheManager.prototype.getCredentialsFilteredBy = function (filter) { | ||
return this.getCredentialsFilteredByInternal(filter.homeAccountId, filter.environment, filter.credentialType, filter.clientId, filter.familyId, filter.realm, filter.target, filter.oboAssertion); | ||
return this.getCredentialsFilteredByInternal(filter.homeAccountId, filter.environment, filter.credentialType, filter.clientId, filter.familyId, filter.realm, filter.target, filter.oboAssertion, filter.tokenType); | ||
}; | ||
@@ -159,4 +185,6 @@ /** | ||
* @param target | ||
* @param oboAssertion | ||
* @param tokenType | ||
*/ | ||
CacheManager.prototype.getCredentialsFilteredByInternal = function (homeAccountId, environment, credentialType, clientId, familyId, realm, target, oboAssertion) { | ||
CacheManager.prototype.getCredentialsFilteredByInternal = function (homeAccountId, environment, credentialType, clientId, familyId, realm, target, oboAssertion, tokenType) { | ||
var _this = this; | ||
@@ -208,2 +236,13 @@ var allCacheKeys = this.getKeys(); | ||
} | ||
if (credentialType === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME) { | ||
if (!!tokenType && !_this.matchTokenType(entity, tokenType)) { | ||
return; | ||
} | ||
// This check avoids matching outdated POP tokens that don't have the <-scheme> in the cache key | ||
if (cacheKey.indexOf(AuthenticationScheme.POP) === -1) { | ||
// AccessToken_With_AuthScheme that doesn't have pop in the key is outdated | ||
_this.removeItem(cacheKey, CacheSchemaType.CREDENTIAL); | ||
return; | ||
} | ||
} | ||
switch (credType) { | ||
@@ -289,12 +328,24 @@ case CredentialType.ID_TOKEN: | ||
CacheManager.prototype.removeAllAccounts = function () { | ||
var _this = this; | ||
var allCacheKeys = this.getKeys(); | ||
allCacheKeys.forEach(function (cacheKey) { | ||
var entity = _this.getAccount(cacheKey); | ||
if (!entity) { | ||
return; | ||
} | ||
_this.removeAccount(cacheKey); | ||
return __awaiter(this, void 0, void 0, function () { | ||
var allCacheKeys, removedAccounts; | ||
var _this = this; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
allCacheKeys = this.getKeys(); | ||
removedAccounts = []; | ||
allCacheKeys.forEach(function (cacheKey) { | ||
var entity = _this.getAccount(cacheKey); | ||
if (!entity) { | ||
return; | ||
} | ||
removedAccounts.push(_this.removeAccount(cacheKey)); | ||
}); | ||
return [4 /*yield*/, Promise.all(removedAccounts)]; | ||
case 1: | ||
_a.sent(); | ||
return [2 /*return*/, true]; | ||
} | ||
}); | ||
}); | ||
return true; | ||
}; | ||
@@ -306,7 +357,16 @@ /** | ||
CacheManager.prototype.removeAccount = function (accountKey) { | ||
var account = this.getAccount(accountKey); | ||
if (!account) { | ||
throw ClientAuthError.createNoAccountFoundError(); | ||
} | ||
return (this.removeAccountContext(account) && this.removeItem(accountKey, CacheSchemaType.ACCOUNT)); | ||
return __awaiter(this, void 0, void 0, function () { | ||
var account; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
account = this.getAccount(accountKey); | ||
if (!account) { | ||
throw ClientAuthError.createNoAccountFoundError(); | ||
} | ||
return [4 /*yield*/, this.removeAccountContext(account)]; | ||
case 1: return [2 /*return*/, ((_a.sent()) && this.removeItem(accountKey, CacheSchemaType.ACCOUNT))]; | ||
} | ||
}); | ||
}); | ||
}; | ||
@@ -318,17 +378,29 @@ /** | ||
CacheManager.prototype.removeAccountContext = function (account) { | ||
var _this = this; | ||
var allCacheKeys = this.getKeys(); | ||
var accountId = account.generateAccountId(); | ||
allCacheKeys.forEach(function (cacheKey) { | ||
// don't parse any non-credential type cache entities | ||
var credType = CredentialEntity.getCredentialType(cacheKey); | ||
if (credType === Constants.NOT_DEFINED) { | ||
return; | ||
} | ||
var cacheEntity = _this.getSpecificCredential(cacheKey, credType); | ||
if (!!cacheEntity && accountId === cacheEntity.generateAccountId()) { | ||
_this.removeCredential(cacheEntity); | ||
} | ||
return __awaiter(this, void 0, void 0, function () { | ||
var allCacheKeys, accountId, removedCredentials; | ||
var _this = this; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
allCacheKeys = this.getKeys(); | ||
accountId = account.generateAccountId(); | ||
removedCredentials = []; | ||
allCacheKeys.forEach(function (cacheKey) { | ||
// don't parse any non-credential type cache entities | ||
var credType = CredentialEntity.getCredentialType(cacheKey); | ||
if (credType === Constants.NOT_DEFINED) { | ||
return; | ||
} | ||
var cacheEntity = _this.getSpecificCredential(cacheKey, credType); | ||
if (!!cacheEntity && accountId === cacheEntity.generateAccountId()) { | ||
removedCredentials.push(_this.removeCredential(cacheEntity)); | ||
} | ||
}); | ||
return [4 /*yield*/, Promise.all(removedCredentials)]; | ||
case 1: | ||
_a.sent(); | ||
return [2 /*return*/, true]; | ||
} | ||
}); | ||
}); | ||
return true; | ||
}; | ||
@@ -340,4 +412,26 @@ /** | ||
CacheManager.prototype.removeCredential = function (credential) { | ||
var key = credential.generateCredentialKey(); | ||
return this.removeItem(key, CacheSchemaType.CREDENTIAL); | ||
return __awaiter(this, void 0, void 0, function () { | ||
var key, accessTokenWithAuthSchemeEntity, kid; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
key = credential.generateCredentialKey(); | ||
if (!(credential.credentialType.toLowerCase() === CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME.toLowerCase())) return [3 /*break*/, 4]; | ||
accessTokenWithAuthSchemeEntity = credential; | ||
kid = accessTokenWithAuthSchemeEntity.keyId; | ||
if (!kid) return [3 /*break*/, 4]; | ||
_a.label = 1; | ||
case 1: | ||
_a.trys.push([1, 3, , 4]); | ||
return [4 /*yield*/, this.cryptoImpl.removeTokenBindingKey(kid)]; | ||
case 2: | ||
_a.sent(); | ||
return [3 /*break*/, 4]; | ||
case 3: | ||
_a.sent(); | ||
throw ClientAuthError.createBindingKeyNotRemovedError(); | ||
case 4: return [2 /*return*/, this.removeItem(key, CacheSchemaType.CREDENTIAL)]; | ||
} | ||
}); | ||
}); | ||
}; | ||
@@ -423,2 +517,3 @@ /** | ||
CacheManager.prototype.readAccessTokenFromCache = function (clientId, account, scopes, authScheme) { | ||
// Distinguish between Bearer and PoP token cache types | ||
var credentialType = (authScheme === AuthenticationScheme.POP) ? CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME : CredentialType.ACCESS_TOKEN; | ||
@@ -432,2 +527,3 @@ var accessTokenFilter = { | ||
target: scopes.printScopesLowerCase(), | ||
tokenType: authScheme | ||
}; | ||
@@ -578,2 +674,10 @@ var credentialCache = this.getCredentialsFilteredBy(accessTokenFilter); | ||
/** | ||
* Returns true if the credential's tokenType or Authentication Scheme matches the one in the request, false otherwise | ||
* @param entity | ||
* @param tokenType | ||
*/ | ||
CacheManager.prototype.matchTokenType = function (entity, tokenType) { | ||
return !!(entity.tokenType && entity.tokenType === tokenType); | ||
}; | ||
/** | ||
* returns if a given cache entity is of the type appmetadata | ||
@@ -718,4 +822,9 @@ * @param key | ||
DefaultStorageClass.prototype.clear = function () { | ||
var notImplErr = "Storage interface - clear() has not been implemented for the cacheStorage interface."; | ||
throw AuthError.createUnexpectedError(notImplErr); | ||
return __awaiter(this, void 0, void 0, function () { | ||
var notImplErr; | ||
return __generator(this, function (_a) { | ||
notImplErr = "Storage interface - clear() has not been implemented for the cacheStorage interface."; | ||
throw AuthError.createUnexpectedError(notImplErr); | ||
}); | ||
}); | ||
}; | ||
@@ -722,0 +831,0 @@ return DefaultStorageClass; |
import { CredentialEntity } from "./CredentialEntity"; | ||
import { AuthenticationScheme } from "../../utils/Constants"; | ||
import { ICrypto } from "../../crypto/ICrypto"; | ||
@@ -35,3 +36,3 @@ /** | ||
keyId?: string; | ||
tokenType?: string; | ||
tokenType?: AuthenticationScheme; | ||
/** | ||
@@ -48,3 +49,3 @@ * Create AccessTokenEntity | ||
*/ | ||
static createAccessTokenEntity(homeAccountId: string, environment: string, accessToken: string, clientId: string, tenantId: string, scopes: string, expiresOn: number, extExpiresOn: number, cryptoUtils: ICrypto, refreshOn?: number, tokenType?: string, oboAssertion?: string): AccessTokenEntity; | ||
static createAccessTokenEntity(homeAccountId: string, environment: string, accessToken: string, clientId: string, tenantId: string, scopes: string, expiresOn: number, extExpiresOn: number, cryptoUtils: ICrypto, refreshOn?: number, tokenType?: AuthenticationScheme, oboAssertion?: string): AccessTokenEntity; | ||
/** | ||
@@ -51,0 +52,0 @@ * Validates an entity: checks for all expected params |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __extends } from '../../_virtual/_tslib.js'; |
@@ -74,3 +74,3 @@ import { Authority } from "../../authority/Authority"; | ||
*/ | ||
static createAccount(clientInfo: string, homeAccountId: string, authority: Authority, idToken: AuthToken, oboAssertion?: string, cloudGraphHostName?: string, msGraphHost?: string): AccountEntity; | ||
static createAccount(clientInfo: string, homeAccountId: string, idToken: AuthToken, authority?: Authority, oboAssertion?: string, cloudGraphHostName?: string, msGraphHost?: string, environment?: string): AccountEntity; | ||
/** | ||
@@ -81,3 +81,3 @@ * Builds non-AAD/ADFS account. | ||
*/ | ||
static createGenericAccount(authority: Authority, homeAccountId: string, idToken: AuthToken, oboAssertion?: string, cloudGraphHostName?: string, msGraphHost?: string): AccountEntity; | ||
static createGenericAccount(homeAccountId: string, idToken: AuthToken, authority?: Authority, oboAssertion?: string, cloudGraphHostName?: string, msGraphHost?: string, environment?: string): AccountEntity; | ||
/** | ||
@@ -84,0 +84,0 @@ * Generate HomeAccountId from server response |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -109,3 +109,3 @@ import { Separators, CacheAccountType, CacheType, Constants } from '../../utils/Constants.js'; | ||
*/ | ||
AccountEntity.createAccount = function (clientInfo, homeAccountId, authority, idToken, oboAssertion, cloudGraphHostName, msGraphHost) { | ||
AccountEntity.createAccount = function (clientInfo, homeAccountId, idToken, authority, oboAssertion, cloudGraphHostName, msGraphHost, environment) { | ||
var _a, _b, _c, _d, _e, _f; | ||
@@ -116,4 +116,4 @@ var account = new AccountEntity(); | ||
account.homeAccountId = homeAccountId; | ||
var env = authority.getPreferredCache(); | ||
if (StringUtils.isEmpty(env)) { | ||
var env = environment || (authority && authority.getPreferredCache()); | ||
if (!env) { | ||
throw ClientAuthError.createInvalidCacheEnvironmentError(); | ||
@@ -145,6 +145,6 @@ } | ||
*/ | ||
AccountEntity.createGenericAccount = function (authority, homeAccountId, idToken, oboAssertion, cloudGraphHostName, msGraphHost) { | ||
AccountEntity.createGenericAccount = function (homeAccountId, idToken, authority, oboAssertion, cloudGraphHostName, msGraphHost, environment) { | ||
var _a, _b, _c, _d; | ||
var account = new AccountEntity(); | ||
account.authorityType = (authority.authorityType === AuthorityType.Adfs) ? CacheAccountType.ADFS_ACCOUNT_TYPE : CacheAccountType.GENERIC_ACCOUNT_TYPE; | ||
account.authorityType = (authority && authority.authorityType === AuthorityType.Adfs) ? CacheAccountType.ADFS_ACCOUNT_TYPE : CacheAccountType.GENERIC_ACCOUNT_TYPE; | ||
account.homeAccountId = homeAccountId; | ||
@@ -154,4 +154,4 @@ // non AAD scenarios can have empty realm | ||
account.oboAssertion = oboAssertion; | ||
var env = authority.getPreferredCache(); | ||
if (StringUtils.isEmpty(env)) { | ||
var env = environment || authority && authority.getPreferredCache(); | ||
if (!env) { | ||
throw ClientAuthError.createInvalidCacheEnvironmentError(); | ||
@@ -158,0 +158,0 @@ } |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { Separators, APP_METADATA } from '../../utils/Constants.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { AUTHORITY_METADATA_CONSTANTS } from '../../utils/Constants.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ /* |
@@ -1,2 +0,2 @@ | ||
import { CredentialType } from "../../utils/Constants"; | ||
import { CredentialType, AuthenticationScheme } from "../../utils/Constants"; | ||
/** | ||
@@ -7,3 +7,3 @@ * Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc | ||
* | ||
* Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*> | ||
* Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>-<scheme> | ||
* | ||
@@ -21,2 +21,3 @@ * Value Schema: | ||
* oboAssertion: access token passed in as part of OBO request | ||
* tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop) | ||
* } | ||
@@ -34,2 +35,3 @@ */ | ||
oboAssertion?: string; | ||
tokenType?: AuthenticationScheme; | ||
/** | ||
@@ -62,4 +64,5 @@ * Generate Account Id key component as per the schema: <home_account_id>-<environment> | ||
* generates credential key | ||
* <home_account_id*>-\<environment>-<credential_type>-<client_id>-<realm\*>-<target\*>-<scheme\*> | ||
*/ | ||
static generateCredentialCacheKey(homeAccountId: string, environment: string, credentialType: CredentialType, clientId: string, realm?: string, target?: string, familyId?: string): string; | ||
static generateCredentialCacheKey(homeAccountId: string, environment: string, credentialType: CredentialType, clientId: string, realm?: string, target?: string, familyId?: string, tokenType?: AuthenticationScheme): string; | ||
/** | ||
@@ -66,0 +69,0 @@ * generates Account Id for keys |
@@ -1,4 +0,4 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
import { CredentialType, CacheType, Constants, Separators } from '../../utils/Constants.js'; | ||
import { CredentialType, CacheType, Constants, AuthenticationScheme, Separators } from '../../utils/Constants.js'; | ||
import { ClientAuthError } from '../../error/ClientAuthError.js'; | ||
@@ -15,3 +15,3 @@ | ||
* | ||
* Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*> | ||
* Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>-<scheme> | ||
* | ||
@@ -29,2 +29,3 @@ * Value Schema: | ||
* oboAssertion: access token passed in as part of OBO request | ||
* tokenType: Matches the authentication scheme for which the token was issued (i.e. Bearer or pop) | ||
* } | ||
@@ -57,3 +58,3 @@ */ | ||
CredentialEntity.prototype.generateCredentialKey = function () { | ||
return CredentialEntity.generateCredentialCacheKey(this.homeAccountId, this.environment, this.credentialType, this.clientId, this.realm, this.target, this.familyId); | ||
return CredentialEntity.generateCredentialCacheKey(this.homeAccountId, this.environment, this.credentialType, this.clientId, this.realm, this.target, this.familyId, this.tokenType); | ||
}; | ||
@@ -68,2 +69,3 @@ /** | ||
case CredentialType.ACCESS_TOKEN: | ||
case CredentialType.ACCESS_TOKEN_WITH_AUTH_SCHEME: | ||
return CacheType.ACCESS_TOKEN; | ||
@@ -100,9 +102,14 @@ case CredentialType.REFRESH_TOKEN: | ||
* generates credential key | ||
* <home_account_id*>-\<environment>-<credential_type>-<client_id>-<realm\*>-<target\*>-<scheme\*> | ||
*/ | ||
CredentialEntity.generateCredentialCacheKey = function (homeAccountId, environment, credentialType, clientId, realm, target, familyId) { | ||
CredentialEntity.generateCredentialCacheKey = function (homeAccountId, environment, credentialType, clientId, realm, target, familyId, tokenType) { | ||
var credentialKey = [ | ||
this.generateAccountIdForCacheKey(homeAccountId, environment), | ||
this.generateCredentialIdForCacheKey(credentialType, clientId, realm, familyId), | ||
this.generateTargetForCacheKey(target), | ||
this.generateTargetForCacheKey(target) | ||
]; | ||
// PoP Tokens include scheme in cache key | ||
if (tokenType === AuthenticationScheme.POP) { | ||
credentialKey.push(tokenType.toLowerCase()); | ||
} | ||
return credentialKey.join(Separators.CACHE_KEY_SEPARATOR).toLowerCase(); | ||
@@ -109,0 +116,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __extends } from '../../_virtual/_tslib.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __extends } from '../../_virtual/_tslib.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { SERVER_TELEM_CONSTANTS } from '../../utils/Constants.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { ThrottlingConstants } from '../../utils/Constants.js'; |
@@ -119,3 +119,3 @@ import { CredentialEntity } from "../entities/CredentialEntity"; | ||
*/ | ||
saveCacheRecord(cacheRecord: CacheRecord): void; | ||
saveCacheRecord(cacheRecord: CacheRecord): Promise<void>; | ||
/** | ||
@@ -141,3 +141,3 @@ * retrieve accounts matching all provided filters; if no filter is set, get all accounts | ||
*/ | ||
removeAllAccounts(): boolean; | ||
removeAllAccounts(): Promise<boolean>; | ||
/** | ||
@@ -147,3 +147,3 @@ * returns a boolean if the given account is removed | ||
*/ | ||
removeAccount(accountKey: string): boolean; | ||
removeAccount(accountKey: string): Promise<boolean>; | ||
/** | ||
@@ -153,3 +153,3 @@ * returns a boolean if the given account is removed | ||
*/ | ||
removeAccountContext(account: AccountEntity): boolean; | ||
removeAccountContext(account: AccountEntity): Promise<boolean>; | ||
/** | ||
@@ -159,4 +159,4 @@ * returns a boolean if the given credential is removed | ||
*/ | ||
removeCredential(credential: CredentialEntity): boolean; | ||
removeCredential(credential: CredentialEntity): Promise<boolean>; | ||
} | ||
//# sourceMappingURL=ICacheManager.d.ts.map |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ /* |
@@ -9,2 +9,3 @@ import { AccountEntity } from "../entities/AccountEntity"; | ||
import { AuthorityMetadataEntity } from "../entities/AuthorityMetadataEntity"; | ||
import { AuthenticationScheme } from "../../utils/Constants"; | ||
export declare type AccountCache = Record<string, AccountEntity>; | ||
@@ -37,3 +38,3 @@ export declare type IdTokenCache = Record<string, IdTokenEntity>; | ||
/** | ||
* Credential: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*> | ||
* Credential: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>-<scheme*> | ||
*/ | ||
@@ -49,2 +50,3 @@ export declare type CredentialFilter = { | ||
oboAssertion?: string; | ||
tokenType?: AuthenticationScheme; | ||
}; | ||
@@ -51,0 +53,0 @@ /** |
@@ -37,3 +37,3 @@ import { BaseClient } from "./BaseClient"; | ||
/** | ||
* Use to log out the current user, and redirect the user to the postLogoutRedirectUri. | ||
* Used to log out the current user, and redirect the user to the postLogoutRedirectUri. | ||
* Default behaviour is to redirect the user to `window.location.href`. | ||
@@ -40,0 +40,0 @@ * @param authorityUri |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -11,4 +11,2 @@ import { __extends, __awaiter, __generator, __assign, __spreadArrays } from '../_virtual/_tslib.js'; | ||
import { UrlString } from '../url/UrlString.js'; | ||
import { AccountEntity } from '../cache/entities/AccountEntity.js'; | ||
import { ClientConfigurationError } from '../error/ClientConfigurationError.js'; | ||
import { PopTokenGenerator } from '../crypto/PopTokenGenerator.js'; | ||
@@ -18,2 +16,3 @@ import { TimeUtils } from '../utils/TimeUtils.js'; | ||
import { CcsCredentialType } from '../account/CcsCredential.js'; | ||
import { ClientConfigurationError } from '../error/ClientConfigurationError.js'; | ||
@@ -102,3 +101,3 @@ /* | ||
/** | ||
* Use to log out the current user, and redirect the user to the postLogoutRedirectUri. | ||
* Used to log out the current user, and redirect the user to the postLogoutRedirectUri. | ||
* Default behaviour is to redirect the user to `window.location.href`. | ||
@@ -112,10 +111,2 @@ * @param authorityUri | ||
} | ||
if (logoutRequest.account) { | ||
// Clear given account. | ||
this.cacheManager.removeAccount(AccountEntity.generateAccountCacheKey(logoutRequest.account)); | ||
} | ||
else { | ||
// Clear all accounts and tokens | ||
this.cacheManager.clear(); | ||
} | ||
var queryString = this.createLogoutUrlQueryString(logoutRequest); | ||
@@ -139,3 +130,7 @@ // Construct logout URI. | ||
authority: authority.canonicalAuthority, | ||
scopes: request.scopes | ||
scopes: request.scopes, | ||
authenticationScheme: request.authenticationScheme, | ||
resourceRequestMethod: request.resourceRequestMethod, | ||
resourceRequestUri: request.resourceRequestUri, | ||
shrClaims: request.shrClaims | ||
}; | ||
@@ -376,2 +371,8 @@ return [4 /*yield*/, this.createTokenRequestBody(request)]; | ||
} | ||
if (request.state) { | ||
parameterBuilder.addState(request.state); | ||
} | ||
if (request.extraQueryParameters) { | ||
parameterBuilder.addExtraQueryParameters(request.extraQueryParameters); | ||
} | ||
return parameterBuilder.createQueryString(); | ||
@@ -378,0 +379,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __awaiter, __generator } from '../_virtual/_tslib.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -120,3 +120,7 @@ import { __extends, __awaiter, __generator } from '../_virtual/_tslib.js'; | ||
authority: request.authority, | ||
scopes: request.scopes | ||
scopes: request.scopes, | ||
authenticationScheme: request.authenticationScheme, | ||
resourceRequestMethod: request.resourceRequestMethod, | ||
resourceRequestUri: request.resourceRequestUri, | ||
shrClaims: request.shrClaims | ||
}; | ||
@@ -123,0 +127,0 @@ reqTimestamp = TimeUtils.nowSeconds(); |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -64,3 +64,7 @@ import { __extends, __awaiter, __generator } from '../_virtual/_tslib.js'; | ||
authority: request.authority, | ||
scopes: request.scopes | ||
scopes: request.scopes, | ||
authenticationScheme: request.authenticationScheme, | ||
resourceRequestMethod: request.resourceRequestMethod, | ||
resourceRequestUri: request.resourceRequestUri, | ||
shrClaims: request.shrClaims | ||
}; | ||
@@ -158,3 +162,7 @@ return [2 /*return*/, this.executePostRequestToDeviceCodeEndpoint(this.authority.deviceCodeEndpoint, queryString, headers, thumbprint)]; | ||
authority: request.authority, | ||
scopes: request.scopes | ||
scopes: request.scopes, | ||
authenticationScheme: request.authenticationScheme, | ||
resourceRequestMethod: request.resourceRequestMethod, | ||
resourceRequestUri: request.resourceRequestUri, | ||
shrClaims: request.shrClaims | ||
}; | ||
@@ -161,0 +169,0 @@ return [4 /*yield*/, this.executePostToTokenEndpoint(this.authority.tokenEndpoint, requestBody, headers, thumbprint)]; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -160,3 +160,7 @@ import { __extends, __awaiter, __generator } from '../_virtual/_tslib.js'; | ||
authority: request.authority, | ||
scopes: request.scopes | ||
scopes: request.scopes, | ||
authenticationScheme: request.authenticationScheme, | ||
resourceRequestMethod: request.resourceRequestMethod, | ||
resourceRequestUri: request.resourceRequestUri, | ||
shrClaims: request.shrClaims | ||
}; | ||
@@ -163,0 +167,0 @@ reqTimestamp = TimeUtils.nowSeconds(); |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -126,3 +126,7 @@ import { __extends, __awaiter, __generator, __assign } from '../_virtual/_tslib.js'; | ||
authority: authority.canonicalAuthority, | ||
scopes: request.scopes | ||
scopes: request.scopes, | ||
authenticationScheme: request.authenticationScheme, | ||
resourceRequestMethod: request.resourceRequestMethod, | ||
resourceRequestUri: request.resourceRequestUri, | ||
shrClaims: request.shrClaims | ||
}; | ||
@@ -129,0 +133,0 @@ endpoint = UrlString.appendQueryString(authority.tokenEndpoint, queryParameters); |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __extends, __awaiter, __generator } from '../_virtual/_tslib.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -62,3 +62,7 @@ import { __extends, __awaiter, __generator } from '../_virtual/_tslib.js'; | ||
authority: authority.canonicalAuthority, | ||
scopes: request.scopes | ||
scopes: request.scopes, | ||
authenticationScheme: request.authenticationScheme, | ||
resourceRequestMethod: request.resourceRequestMethod, | ||
resourceRequestUri: request.resourceRequestUri, | ||
shrClaims: request.shrClaims | ||
}; | ||
@@ -65,0 +69,0 @@ requestBody = this.createTokenRequestBody(request); |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -68,6 +68,7 @@ import { __assign, __awaiter, __generator } from '../_virtual/_tslib.js'; | ||
var userAuthOptions = _a.authOptions, userSystemOptions = _a.systemOptions, userLoggerOption = _a.loggerOptions, storageImplementation = _a.storageInterface, networkImplementation = _a.networkInterface, cryptoImplementation = _a.cryptoInterface, clientCredentials = _a.clientCredentials, libraryInfo = _a.libraryInfo, serverTelemetryManager = _a.serverTelemetryManager, persistencePlugin = _a.persistencePlugin, serializableCache = _a.serializableCache; | ||
var loggerOptions = __assign(__assign({}, DEFAULT_LOGGER_IMPLEMENTATION), userLoggerOption); | ||
return { | ||
authOptions: buildAuthOptions(userAuthOptions), | ||
systemOptions: __assign(__assign({}, DEFAULT_SYSTEM_OPTIONS), userSystemOptions), | ||
loggerOptions: __assign(__assign({}, DEFAULT_LOGGER_IMPLEMENTATION), userLoggerOption), | ||
loggerOptions: loggerOptions, | ||
storageInterface: storageImplementation || new DefaultStorageClass(userAuthOptions.clientId, DEFAULT_CRYPTO_IMPLEMENTATION), | ||
@@ -74,0 +75,0 @@ networkInterface: networkImplementation || DEFAULT_NETWORK_IMPLEMENTATION, |
@@ -12,2 +12,3 @@ import { BaseAuthRequest } from "../request/BaseAuthRequest"; | ||
}; | ||
export declare type SignedHttpRequestParameters = Pick<BaseAuthRequest, "resourceRequestMethod" | "resourceRequestUri" | "shrClaims">; | ||
/** | ||
@@ -39,4 +40,13 @@ * Interface for crypto functions used by library | ||
*/ | ||
getPublicKeyThumbprint(request: BaseAuthRequest): Promise<string>; | ||
getPublicKeyThumbprint(request: SignedHttpRequestParameters): Promise<string>; | ||
/** | ||
* Removes cryptographic keypair from key store matching the keyId passed in | ||
* @param kid | ||
*/ | ||
removeTokenBindingKey(kid: string): Promise<boolean>; | ||
/** | ||
* Removes all cryptographic keys from IndexedDB storage | ||
*/ | ||
clearKeystore(): Promise<boolean>; | ||
/** | ||
* Returns a signed proof-of-possession token with a given acces token that contains a cnf claim with the required kid. | ||
@@ -43,0 +53,0 @@ * @param accessToken |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -41,2 +41,20 @@ import { __awaiter, __generator } from '../_virtual/_tslib.js'; | ||
}, | ||
removeTokenBindingKey: function () { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var notImplErr; | ||
return __generator(this, function (_a) { | ||
notImplErr = "Crypto interface - removeTokenBindingKey() has not been implemented"; | ||
throw AuthError.createUnexpectedError(notImplErr); | ||
}); | ||
}); | ||
}, | ||
clearKeystore: function () { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var notImplErr; | ||
return __generator(this, function (_a) { | ||
notImplErr = "Crypto interface - clearKeystore() has not been implemented"; | ||
throw AuthError.createUnexpectedError(notImplErr); | ||
}); | ||
}); | ||
}, | ||
signJwt: function () { | ||
@@ -43,0 +61,0 @@ return __awaiter(this, void 0, void 0, function () { |
@@ -1,9 +0,26 @@ | ||
import { ICrypto } from "./ICrypto"; | ||
import { BaseAuthRequest } from "../request/BaseAuthRequest"; | ||
import { ICrypto, SignedHttpRequestParameters } from "./ICrypto"; | ||
/** | ||
* See eSTS docs for more info. | ||
* - A kid element, with the value containing an RFC 7638-compliant JWK thumbprint that is base64 encoded. | ||
* - xms_ksl element, representing the storage location of the key's secret component on the client device. One of two values: | ||
* - sw: software storage | ||
* - uhw: hardware storage | ||
*/ | ||
declare type ReqCnf = { | ||
kid: string; | ||
xms_ksl: KeyLocation; | ||
}; | ||
declare enum KeyLocation { | ||
SW = "sw", | ||
UHW = "uhw" | ||
} | ||
export declare class PopTokenGenerator { | ||
private cryptoUtils; | ||
constructor(cryptoUtils: ICrypto); | ||
generateCnf(request: BaseAuthRequest): Promise<string>; | ||
signPopToken(accessToken: string, request: BaseAuthRequest): Promise<string>; | ||
generateCnf(request: SignedHttpRequestParameters): Promise<string>; | ||
generateKid(request: SignedHttpRequestParameters): Promise<ReqCnf>; | ||
signPopToken(accessToken: string, request: SignedHttpRequestParameters): Promise<string>; | ||
signPayload(payload: string, kid: string, request: SignedHttpRequestParameters, claims?: object): Promise<string>; | ||
} | ||
export {}; | ||
//# sourceMappingURL=PopTokenGenerator.d.ts.map |
@@ -1,4 +0,4 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
import { __awaiter, __generator } from '../_virtual/_tslib.js'; | ||
import { __awaiter, __generator, __assign } from '../_virtual/_tslib.js'; | ||
import { AuthToken } from '../account/AuthToken.js'; | ||
@@ -24,13 +24,25 @@ import { TimeUtils } from '../utils/TimeUtils.js'; | ||
return __awaiter(this, void 0, void 0, function () { | ||
var kidThumbprint, reqCnf; | ||
var reqCnf; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4 /*yield*/, this.generateKid(request)]; | ||
case 1: | ||
reqCnf = _a.sent(); | ||
return [2 /*return*/, this.cryptoUtils.base64Encode(JSON.stringify(reqCnf))]; | ||
} | ||
}); | ||
}); | ||
}; | ||
PopTokenGenerator.prototype.generateKid = function (request) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var kidThumbprint; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: return [4 /*yield*/, this.cryptoUtils.getPublicKeyThumbprint(request)]; | ||
case 1: | ||
kidThumbprint = _a.sent(); | ||
reqCnf = { | ||
kid: kidThumbprint, | ||
xms_ksl: KeyLocation.SW | ||
}; | ||
return [2 /*return*/, this.cryptoUtils.base64Encode(JSON.stringify(reqCnf))]; | ||
return [2 /*return*/, { | ||
kid: kidThumbprint, | ||
xms_ksl: KeyLocation.SW | ||
}]; | ||
} | ||
@@ -43,24 +55,23 @@ }); | ||
return __awaiter(this, void 0, void 0, function () { | ||
var tokenClaims, resourceRequestMethod, resourceRequestUri, shrClaims, resourceUrlString, resourceUrlComponents; | ||
var tokenClaims; | ||
return __generator(this, function (_b) { | ||
switch (_b.label) { | ||
tokenClaims = AuthToken.extractTokenClaims(accessToken, this.cryptoUtils); | ||
if (!((_a = tokenClaims === null || tokenClaims === void 0 ? void 0 : tokenClaims.cnf) === null || _a === void 0 ? void 0 : _a.kid)) { | ||
throw ClientAuthError.createTokenClaimsRequiredError(); | ||
} | ||
return [2 /*return*/, this.signPayload(accessToken, tokenClaims.cnf.kid, request)]; | ||
}); | ||
}); | ||
}; | ||
PopTokenGenerator.prototype.signPayload = function (payload, kid, request, claims) { | ||
return __awaiter(this, void 0, void 0, function () { | ||
var resourceRequestMethod, resourceRequestUri, shrClaims, resourceUrlString, resourceUrlComponents; | ||
return __generator(this, function (_a) { | ||
switch (_a.label) { | ||
case 0: | ||
tokenClaims = AuthToken.extractTokenClaims(accessToken, this.cryptoUtils); | ||
resourceRequestMethod = request.resourceRequestMethod, resourceRequestUri = request.resourceRequestUri, shrClaims = request.shrClaims; | ||
resourceUrlString = (resourceRequestUri) ? new UrlString(resourceRequestUri) : undefined; | ||
resourceUrlComponents = resourceUrlString === null || resourceUrlString === void 0 ? void 0 : resourceUrlString.getUrlComponents(); | ||
if (!((_a = tokenClaims === null || tokenClaims === void 0 ? void 0 : tokenClaims.cnf) === null || _a === void 0 ? void 0 : _a.kid)) { | ||
throw ClientAuthError.createTokenClaimsRequiredError(); | ||
} | ||
return [4 /*yield*/, this.cryptoUtils.signJwt({ | ||
at: accessToken, | ||
ts: TimeUtils.nowSeconds(), | ||
m: resourceRequestMethod === null || resourceRequestMethod === void 0 ? void 0 : resourceRequestMethod.toUpperCase(), | ||
u: resourceUrlComponents === null || resourceUrlComponents === void 0 ? void 0 : resourceUrlComponents.HostNameAndPort, | ||
nonce: this.cryptoUtils.createNewGuid(), | ||
p: resourceUrlComponents === null || resourceUrlComponents === void 0 ? void 0 : resourceUrlComponents.AbsolutePath, | ||
q: (resourceUrlComponents === null || resourceUrlComponents === void 0 ? void 0 : resourceUrlComponents.QueryString) ? [[], resourceUrlComponents.QueryString] : undefined, | ||
client_claims: shrClaims || undefined | ||
}, tokenClaims.cnf.kid)]; | ||
case 1: return [2 /*return*/, _b.sent()]; | ||
return [4 /*yield*/, this.cryptoUtils.signJwt(__assign({ at: payload, ts: TimeUtils.nowSeconds(), m: resourceRequestMethod === null || resourceRequestMethod === void 0 ? void 0 : resourceRequestMethod.toUpperCase(), u: resourceUrlComponents === null || resourceUrlComponents === void 0 ? void 0 : resourceUrlComponents.HostNameAndPort, nonce: this.cryptoUtils.createNewGuid(), p: resourceUrlComponents === null || resourceUrlComponents === void 0 ? void 0 : resourceUrlComponents.AbsolutePath, q: (resourceUrlComponents === null || resourceUrlComponents === void 0 ? void 0 : resourceUrlComponents.QueryString) ? [[], resourceUrlComponents.QueryString] : undefined, client_claims: shrClaims || undefined }, claims), kid)]; | ||
case 1: return [2 /*return*/, _a.sent()]; | ||
} | ||
@@ -67,0 +78,0 @@ }); |
@@ -26,3 +26,8 @@ /** | ||
subError: string; | ||
/** | ||
* CorrelationId associated with the error | ||
*/ | ||
correlationId: string; | ||
constructor(errorCode?: string, errorMessage?: string, suberror?: string); | ||
setCorrelationId(correlationId: string): void; | ||
/** | ||
@@ -29,0 +34,0 @@ * Creates an error that is thrown when something unexpected happens in the library. |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -35,2 +35,5 @@ import { __extends } from '../_virtual/_tslib.js'; | ||
} | ||
AuthError.prototype.setCorrelationId = function (correlationId) { | ||
this.correlationId = correlationId; | ||
}; | ||
/** | ||
@@ -37,0 +40,0 @@ * Creates an error that is thrown when something unexpected happens in the library. |
@@ -178,2 +178,6 @@ import { AuthError } from "./AuthError"; | ||
}; | ||
bindingKeyNotRemovedError: { | ||
code: string; | ||
desc: string; | ||
}; | ||
}; | ||
@@ -355,3 +359,4 @@ /** | ||
static createNoAuthCodeInServerResponseError(): ClientAuthError; | ||
static createBindingKeyNotRemovedError(): ClientAuthError; | ||
} | ||
//# sourceMappingURL=ClientAuthError.d.ts.map |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -186,2 +186,6 @@ import { __extends } from '../_virtual/_tslib.js'; | ||
desc: "Access token entity is null, please check logs and cache to ensure a valid access token is present." | ||
}, | ||
bindingKeyNotRemovedError: { | ||
code: "binding_key_not_removed", | ||
desc: "Could not remove the credential's binding key from storage." | ||
} | ||
@@ -453,2 +457,5 @@ }; | ||
}; | ||
ClientAuthError.createBindingKeyNotRemovedError = function () { | ||
return new ClientAuthError(ClientAuthErrorMessage.bindingKeyNotRemovedError.code, ClientAuthErrorMessage.bindingKeyNotRemovedError.desc); | ||
}; | ||
return ClientAuthError; | ||
@@ -455,0 +462,0 @@ }(AuthError)); |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __extends } from '../_virtual/_tslib.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __extends } from '../_virtual/_tslib.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __extends } from '../_virtual/_tslib.js'; |
@@ -45,3 +45,3 @@ /** | ||
export { UrlString } from "./url/UrlString"; | ||
export { ICrypto, PkceCodes, DEFAULT_CRYPTO_IMPLEMENTATION } from "./crypto/ICrypto"; | ||
export { ICrypto, PkceCodes, DEFAULT_CRYPTO_IMPLEMENTATION, SignedHttpRequestParameters } from "./crypto/ICrypto"; | ||
export { SignedHttpRequest } from "./crypto/SignedHttpRequest"; | ||
@@ -64,3 +64,5 @@ export { BaseAuthRequest } from "./request/BaseAuthRequest"; | ||
export { ServerAuthorizationTokenResponse } from "./response/ServerAuthorizationTokenResponse"; | ||
export { ExternalTokenResponse } from "./response/ExternalTokenResponse"; | ||
export { DeviceCodeResponse } from "./response/DeviceCodeResponse"; | ||
export { ScopeSet } from "./request/ScopeSet"; | ||
export { ILoggerCallback, LogLevel, Logger } from "./logger/Logger"; | ||
@@ -79,2 +81,3 @@ export { InteractionRequiredAuthError } from "./error/InteractionRequiredAuthError"; | ||
export { ServerTelemetryRequest } from "./telemetry/server/ServerTelemetryRequest"; | ||
export { PopTokenGenerator } from "./crypto/PopTokenGenerator"; | ||
//# sourceMappingURL=index.d.ts.map |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -33,2 +33,3 @@ export { AuthorizationCodeClient } from './client/AuthorizationCodeClient.js'; | ||
export { DEFAULT_CRYPTO_IMPLEMENTATION } from './crypto/ICrypto.js'; | ||
export { ScopeSet } from './request/ScopeSet.js'; | ||
export { LogLevel, Logger } from './logger/Logger.js'; | ||
@@ -45,2 +46,3 @@ export { InteractionRequiredAuthError } from './error/InteractionRequiredAuthError.js'; | ||
export { ServerTelemetryManager } from './telemetry/server/ServerTelemetryManager.js'; | ||
export { PopTokenGenerator } from './crypto/PopTokenGenerator.js'; | ||
//# sourceMappingURL=index.js.map |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -28,6 +28,8 @@ import { StringUtils } from '../utils/StringUtils.js'; | ||
this.level = LogLevel.Info; | ||
var defaultLoggerCallback = function () { }; | ||
var defaultLoggerCallback = function () { | ||
return; | ||
}; | ||
this.localCallback = loggerOptions.loggerCallback || defaultLoggerCallback; | ||
this.piiLoggingEnabled = loggerOptions.piiLoggingEnabled || false; | ||
this.level = loggerOptions.logLevel || LogLevel.Info; | ||
this.level = typeof (loggerOptions.logLevel) === "number" ? loggerOptions.logLevel : LogLevel.Info; | ||
this.correlationId = loggerOptions.correlationId || ""; | ||
@@ -34,0 +36,0 @@ this.packageName = packageName || Constants.EMPTY_STRING; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { AuthError } from '../error/AuthError.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __awaiter, __generator } from '../_virtual/_tslib.js'; |
@@ -0,1 +1,2 @@ | ||
import { AuthenticationScheme } from "../utils/Constants"; | ||
/** | ||
@@ -9,3 +10,7 @@ * Type representing a unique request thumbprint. | ||
homeAccountIdentifier?: string; | ||
authenticationScheme?: AuthenticationScheme; | ||
resourceRequestMethod?: string; | ||
resourceRequestUri?: string; | ||
shrClaims?: string; | ||
}; | ||
//# sourceMappingURL=RequestThumbprint.d.ts.map |
@@ -5,2 +5,3 @@ import { NetworkResponse } from "./NetworkManager"; | ||
import { RequestThumbprint } from "./RequestThumbprint"; | ||
import { BaseAuthRequest } from "../request/BaseAuthRequest"; | ||
export declare class ThrottlingUtils { | ||
@@ -40,4 +41,4 @@ /** | ||
static calculateThrottleTime(throttleTime: number): number; | ||
static removeThrottle(cacheManager: CacheManager, clientId: string, authority: string, scopes: Array<string>, homeAccountIdentifier?: string): boolean; | ||
static removeThrottle(cacheManager: CacheManager, clientId: string, request: BaseAuthRequest, homeAccountIdentifier?: string): boolean; | ||
} | ||
//# sourceMappingURL=ThrottlingUtils.d.ts.map |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -81,8 +81,12 @@ import { ThrottlingConstants, CacheSchemaType, Constants, HeaderNames } from '../utils/Constants.js'; | ||
}; | ||
ThrottlingUtils.removeThrottle = function (cacheManager, clientId, authority, scopes, homeAccountIdentifier) { | ||
ThrottlingUtils.removeThrottle = function (cacheManager, clientId, request, homeAccountIdentifier) { | ||
var thumbprint = { | ||
clientId: clientId, | ||
authority: authority, | ||
scopes: scopes, | ||
homeAccountIdentifier: homeAccountIdentifier | ||
authority: request.authority, | ||
scopes: request.scopes, | ||
homeAccountIdentifier: homeAccountIdentifier, | ||
authenticationScheme: request.authenticationScheme, | ||
resourceRequestMethod: request.resourceRequestMethod, | ||
resourceRequestUri: request.resourceRequestUri, | ||
shrClaims: request.shrClaims | ||
}; | ||
@@ -89,0 +93,0 @@ var key = this.generateThrottlingStorageKey(thumbprint); |
export declare const name = "@azure/msal-common"; | ||
export declare const version = "4.5.1"; | ||
export declare const version = "5.0.0"; | ||
//# sourceMappingURL=packageMetadata.d.ts.map |
@@ -1,8 +0,8 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
/* eslint-disable header/header */ | ||
var name = "@azure/msal-common"; | ||
var version = "4.5.1"; | ||
var version = "5.0.0"; | ||
export { name, version }; | ||
//# sourceMappingURL=packageMetadata.js.map |
import { AccountInfo } from "../account/AccountInfo"; | ||
import { StringDict } from "../utils/MsalTypes"; | ||
/** | ||
@@ -8,2 +9,3 @@ * CommonEndSessionRequest | ||
* - idTokenHint - ID Token used by B2C to validate logout if required by the policy | ||
* - state - A value included in the request to the logout endpoint which will be returned in the query string upon post logout redirection | ||
*/ | ||
@@ -15,3 +17,5 @@ export declare type CommonEndSessionRequest = { | ||
idTokenHint?: string; | ||
state?: string; | ||
extraQueryParameters?: StringDict; | ||
}; | ||
//# sourceMappingURL=CommonEndSessionRequest.d.ts.map |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __spreadArrays } from '../_virtual/_tslib.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { StringUtils } from '../utils/StringUtils.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __spreadArrays } from '../_virtual/_tslib.js'; |
@@ -29,2 +29,3 @@ import { AccountInfo } from "../account/AccountInfo"; | ||
tokenType: string; | ||
correlationId: string; | ||
extExpiresOn?: Date; | ||
@@ -31,0 +32,0 @@ state?: string; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -105,3 +105,3 @@ import { __awaiter, __generator } from '../_virtual/_tslib.js'; | ||
case 1: | ||
_a.trys.push([1, , 4, 7]); | ||
_a.trys.push([1, , 5, 8]); | ||
if (!(this.persistencePlugin && this.serializableCache)) return [3 /*break*/, 3]; | ||
@@ -128,13 +128,15 @@ this.logger.verbose("Persistence enabled, calling beforeCacheAccess"); | ||
} | ||
this.cacheStorage.saveCacheRecord(cacheRecord); | ||
return [3 /*break*/, 7]; | ||
return [4 /*yield*/, this.cacheStorage.saveCacheRecord(cacheRecord)]; | ||
case 4: | ||
if (!(this.persistencePlugin && this.serializableCache && cacheContext)) return [3 /*break*/, 6]; | ||
_a.sent(); | ||
return [3 /*break*/, 8]; | ||
case 5: | ||
if (!(this.persistencePlugin && this.serializableCache && cacheContext)) return [3 /*break*/, 7]; | ||
this.logger.verbose("Persistence enabled, calling afterCacheAccess"); | ||
return [4 /*yield*/, this.persistencePlugin.afterCacheAccess(cacheContext)]; | ||
case 5: | ||
case 6: | ||
_a.sent(); | ||
_a.label = 6; | ||
case 6: return [7 /*endfinally*/]; | ||
case 7: return [2 /*return*/, ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenObj, requestStateObj)]; | ||
_a.label = 7; | ||
case 7: return [7 /*endfinally*/]; | ||
case 8: return [2 /*return*/, ResponseHandler.generateAuthenticationResult(this.cryptoObj, authority, cacheRecord, false, request, idTokenObj, requestStateObj)]; | ||
} | ||
@@ -205,3 +207,3 @@ }); | ||
this.logger.verbose("Authority type is ADFS, creating ADFS account"); | ||
return AccountEntity.createGenericAccount(authority, this.homeAccountIdentifier, idToken, oboAssertion, cloudGraphHostName, msGraphhost); | ||
return AccountEntity.createGenericAccount(this.homeAccountIdentifier, idToken, authority, oboAssertion, cloudGraphHostName, msGraphhost); | ||
} | ||
@@ -213,4 +215,4 @@ // This fallback applies to B2C as well as they fall under an AAD account type. | ||
return serverTokenResponse.client_info ? | ||
AccountEntity.createAccount(serverTokenResponse.client_info, this.homeAccountIdentifier, authority, idToken, oboAssertion, cloudGraphHostName, msGraphhost) : | ||
AccountEntity.createGenericAccount(authority, this.homeAccountIdentifier, idToken, oboAssertion, cloudGraphHostName, msGraphhost); | ||
AccountEntity.createAccount(serverTokenResponse.client_info, this.homeAccountIdentifier, idToken, authority, oboAssertion, cloudGraphHostName, msGraphhost) : | ||
AccountEntity.createGenericAccount(this.homeAccountIdentifier, idToken, authority, oboAssertion, cloudGraphHostName, msGraphhost); | ||
}; | ||
@@ -270,2 +272,3 @@ /** | ||
expiresOn: expiresOn, | ||
correlationId: request.correlationId, | ||
extExpiresOn: extExpiresOn, | ||
@@ -272,0 +275,0 @@ familyId: familyId, |
@@ -0,4 +1,5 @@ | ||
import { AuthenticationScheme } from "../utils/Constants"; | ||
/** | ||
* Deserialized response object from server authorization code request. | ||
* - token_type: Indicates the token type value. The only type that Azure AD supports is Bearer. | ||
* - token_type: Indicates the token type value. Can be either Bearer or pop. | ||
* - scope: The scopes that the access_token is valid for. | ||
@@ -21,3 +22,3 @@ * - expires_in: How long the access token is valid (in seconds). | ||
export declare type ServerAuthorizationTokenResponse = { | ||
token_type?: string; | ||
token_type?: AuthenticationScheme; | ||
scope?: string; | ||
@@ -24,0 +25,0 @@ expires_in?: number; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { SERVER_TELEM_CONSTANTS, CacheOutcome, Constants, Separators } from '../../utils/Constants.js'; |
@@ -20,8 +20,2 @@ import { ServerAuthorizationCodeResponse } from "../response/ServerAuthorizationCodeResponse"; | ||
/** | ||
* Function to remove query string params from url. Returns the new url. | ||
* @param url | ||
* @param name | ||
*/ | ||
urlRemoveQueryStringParameter(name: string): string; | ||
/** | ||
* Given a url and a query string return the url with provided query string appended | ||
@@ -28,0 +22,0 @@ * @param url |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -75,18 +75,2 @@ import { ClientConfigurationError } from '../error/ClientConfigurationError.js'; | ||
/** | ||
* Function to remove query string params from url. Returns the new url. | ||
* @param url | ||
* @param name | ||
*/ | ||
UrlString.prototype.urlRemoveQueryStringParameter = function (name) { | ||
var regex = new RegExp("(\\&" + name + "=)[^\&]+"); | ||
this._urlString = this.urlString.replace(regex, ""); | ||
// name=value& | ||
regex = new RegExp("(" + name + "=)[^\&]+&"); | ||
this._urlString = this.urlString.replace(regex, ""); | ||
// name=value | ||
regex = new RegExp("(" + name + "=)[^\&]+"); | ||
this._urlString = this.urlString.replace(regex, ""); | ||
return this.urlString; | ||
}; | ||
/** | ||
* Given a url and a query string return the url with provided query string appended | ||
@@ -211,3 +195,4 @@ * @param url | ||
UrlString.hashContainsKnownProperties = function (hash) { | ||
if (StringUtils.isEmpty(hash)) { | ||
if (StringUtils.isEmpty(hash) || hash.indexOf("=") < 0) { | ||
// Hash doesn't contain key/value pairs | ||
return false; | ||
@@ -214,0 +199,0 @@ } |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { __spreadArrays } from '../_virtual/_tslib.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ import { StringUtils } from './StringUtils.js'; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -70,12 +70,13 @@ import { ClientAuthError } from '../error/ClientAuthError.js'; | ||
StringUtils.queryStringToObject = function (query) { | ||
var match; // Regex for replacing addition symbol with a space | ||
var pl = /\+/g; | ||
var search = /([^&=]+)=([^&]*)/g; | ||
var decode = function (s) { return decodeURIComponent(s.replace(pl, " ")); }; | ||
var obj = {}; | ||
match = search.exec(query); | ||
while (match) { | ||
obj[decode(match[1])] = decode(match[2]); | ||
match = search.exec(query); | ||
} | ||
var params = query.split("&"); | ||
var decode = function (s) { return decodeURIComponent(s.replace(/\+/g, " ")); }; | ||
params.forEach(function (pair) { | ||
if (pair.trim()) { | ||
var _a = pair.split(/=(.+)/g, 2), key = _a[0], value = _a[1]; // Split on the first occurence of the '=' character | ||
if (key && value) { | ||
obj[decode(key)] = decode(value); | ||
} | ||
} | ||
}); | ||
return obj; | ||
@@ -122,3 +123,3 @@ }; | ||
*/ | ||
var regex = new RegExp(pattern.replace(/\*/g, "[^ ]*").replace(/\?/g, "\\\?")); | ||
var regex = new RegExp(pattern.replace(/\\/g, "\\\\").replace(/\*/g, "[^ ]*").replace(/\?/g, "\\\?")); // eslint-disable-line security/detect-non-literal-regexp | ||
return regex.test(input); | ||
@@ -125,0 +126,0 @@ }; |
@@ -1,2 +0,2 @@ | ||
/*! @azure/msal-common v4.5.1 2021-08-02 */ | ||
/*! @azure/msal-common v5.0.0 2021-09-08 */ | ||
'use strict'; | ||
@@ -3,0 +3,0 @@ /* |
@@ -13,3 +13,3 @@ { | ||
}, | ||
"version": "4.5.1", | ||
"version": "5.0.0", | ||
"description": "Microsoft Authentication Library for js", | ||
@@ -16,0 +16,0 @@ "keywords": [ |
@@ -0,0 +0,0 @@ # Microsoft Authentication Library for JavaScript (MSAL.js) Common Protocols Package |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
2005217
293
20073