modules inc

master
nannal 3 years ago
parent 6bb353de89
commit 5921b02b7c

121
.gitignore vendored

@ -1,121 +0,0 @@
# ---> Node
# Logs
logs
*.log
npm-debug.log*
yarn-debug.log*
yarn-error.log*
lerna-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
# Runtime data
pids
*.pid
*.seed
*.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul
coverage
*.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories
node_modules/
jspm_packages/
# Snowpack dependency directory (https://snowpack.dev/)
web_modules/
# TypeScript cache
*.tsbuildinfo
# Optional npm cache directory
.npm
# Optional eslint cache
.eslintcache
# Microbundle cache
.rpt2_cache/
.rts2_cache_cjs/
.rts2_cache_es/
.rts2_cache_umd/
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file
.yarn-integrity
# dotenv environment variables file
.env
.env.test
# parcel-bundler cache (https://parceljs.org/)
.cache
.parcel-cache
# Next.js build output
.next
out
# Nuxt.js build / generate output
.nuxt
dist
# Gatsby files
.cache/
# Comment in the public line in if your project uses Gatsby and not Next.js
# https://nextjs.org/blog/next-9-1#public-directory-support
# public
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
# TernJS port file
.tern-port
# Stores VSCode versions used for testing VSCode extensions
.vscode-test
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
config.js

1
node_modules/.bin/mime generated vendored

@ -0,0 +1 @@
../mime/cli.js

1
node_modules/.bin/semver generated vendored

@ -0,0 +1 @@
../semver/bin/semver

1
node_modules/.bin/uuid generated vendored

@ -0,0 +1 @@
../uuid/dist/bin/uuid

693
node_modules/.package-lock.json generated vendored

@ -0,0 +1,693 @@
{
"name": "msal-node-auth-code",
"version": "1.0.0",
"lockfileVersion": 2,
"requires": true,
"packages": {
"node_modules/@azure/msal-common": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/@azure/msal-common/-/msal-common-4.0.1.tgz",
"integrity": "sha512-dHdTmLnRpqGasqAUCOzDt9Os8rke1cRk6Mo6yeI0ucis+G/CwLFQ2G08SEdPfZZnvemhTRP0l70UBPax1Gwxmw==",
"dependencies": {
"debug": "^4.1.1"
},
"engines": {
"node": ">=0.8.0"
}
},
"node_modules/@azure/msal-node": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/@azure/msal-node/-/msal-node-1.0.0.tgz",
"integrity": "sha512-uc8B9n9U6IRVsCLOn1D39GhuA8CzbxP8MUl53Sr9hyAjJG4W7139dZSCnZ6VCBlgqm7VmtDSKOaOBWvbBjcJzg==",
"dependencies": {
"@azure/msal-common": "^4.0.1",
"axios": "^0.21.1",
"jsonwebtoken": "^8.5.1",
"uuid": "^8.3.0"
},
"engines": {
"node": "10 || 12 || 14"
}
},
"node_modules/accepts": {
"version": "1.3.7",
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz",
"integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==",
"dependencies": {
"mime-types": "~2.1.24",
"negotiator": "0.6.2"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/array-flatten": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
"integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI="
},
"node_modules/axios": {
"version": "0.21.1",
"resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz",
"integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==",
"dependencies": {
"follow-redirects": "^1.10.0"
}
},
"node_modules/body-parser": {
"version": "1.19.0",
"resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz",
"integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==",
"dependencies": {
"bytes": "3.1.0",
"content-type": "~1.0.4",
"debug": "2.6.9",
"depd": "~1.1.2",
"http-errors": "1.7.2",
"iconv-lite": "0.4.24",
"on-finished": "~2.3.0",
"qs": "6.7.0",
"raw-body": "2.4.0",
"type-is": "~1.6.17"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/body-parser/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/body-parser/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"node_modules/buffer-equal-constant-time": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
"integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk="
},
"node_modules/bytes": {
"version": "3.1.0",
"resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz",
"integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/content-disposition": {
"version": "0.5.3",
"resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz",
"integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==",
"dependencies": {
"safe-buffer": "5.1.2"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/content-disposition/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/content-type": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
"integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/cookie": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz",
"integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/cookie-signature": {
"version": "1.0.6",
"resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz",
"integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw="
},
"node_modules/debug": {
"version": "4.3.1",
"resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz",
"integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==",
"dependencies": {
"ms": "2.1.2"
},
"engines": {
"node": ">=6.0"
}
},
"node_modules/depd": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz",
"integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/destroy": {
"version": "1.0.4",
"resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz",
"integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA="
},
"node_modules/ecdsa-sig-formatter": {
"version": "1.0.11",
"resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz",
"integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==",
"dependencies": {
"safe-buffer": "^5.0.1"
}
},
"node_modules/ee-first": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
"integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0="
},
"node_modules/encodeurl": {
"version": "1.0.2",
"resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz",
"integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/escape-html": {
"version": "1.0.3",
"resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
"integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg="
},
"node_modules/etag": {
"version": "1.8.1",
"resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
"integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/express": {
"version": "4.17.1",
"resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz",
"integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==",
"dependencies": {
"accepts": "~1.3.7",
"array-flatten": "1.1.1",
"body-parser": "1.19.0",
"content-disposition": "0.5.3",
"content-type": "~1.0.4",
"cookie": "0.4.0",
"cookie-signature": "1.0.6",
"debug": "2.6.9",
"depd": "~1.1.2",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"finalhandler": "~1.1.2",
"fresh": "0.5.2",
"merge-descriptors": "1.0.1",
"methods": "~1.1.2",
"on-finished": "~2.3.0",
"parseurl": "~1.3.3",
"path-to-regexp": "0.1.7",
"proxy-addr": "~2.0.5",
"qs": "6.7.0",
"range-parser": "~1.2.1",
"safe-buffer": "5.1.2",
"send": "0.17.1",
"serve-static": "1.14.1",
"setprototypeof": "1.1.1",
"statuses": "~1.5.0",
"type-is": "~1.6.18",
"utils-merge": "1.0.1",
"vary": "~1.1.2"
},
"engines": {
"node": ">= 0.10.0"
}
},
"node_modules/express/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/express/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"node_modules/express/node_modules/safe-buffer": {
"version": "5.1.2",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz",
"integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/finalhandler": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz",
"integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==",
"dependencies": {
"debug": "2.6.9",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"on-finished": "~2.3.0",
"parseurl": "~1.3.3",
"statuses": "~1.5.0",
"unpipe": "~1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/finalhandler/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/finalhandler/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"node_modules/follow-redirects": {
"version": "1.13.2",
"resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.2.tgz",
"integrity": "sha512-6mPTgLxYm3r6Bkkg0vNM0HTjfGrOEtsfbhagQvbxDEsEkpNhw582upBaoRZylzen6krEmxXJgt9Ju6HiI4O7BA==",
"engines": {
"node": ">=4.0"
}
},
"node_modules/forwarded": {
"version": "0.1.2",
"resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz",
"integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/fresh": {
"version": "0.5.2",
"resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
"integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/http-errors": {
"version": "1.7.2",
"resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz",
"integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==",
"dependencies": {
"depd": "~1.1.2",
"inherits": "2.0.3",
"setprototypeof": "1.1.1",
"statuses": ">= 1.5.0 < 2",
"toidentifier": "1.0.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/iconv-lite": {
"version": "0.4.24",
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
"integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
"dependencies": {
"safer-buffer": ">= 2.1.2 < 3"
},
"engines": {
"node": ">=0.10.0"
}
},
"node_modules/inherits": {
"version": "2.0.3",
"resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
"integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
},
"node_modules/ipaddr.js": {
"version": "1.9.1",
"resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
"integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
"engines": {
"node": ">= 0.10"
}
},
"node_modules/jsonwebtoken": {
"version": "8.5.1",
"resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz",
"integrity": "sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==",
"dependencies": {
"jws": "^3.2.2",
"lodash.includes": "^4.3.0",
"lodash.isboolean": "^3.0.3",
"lodash.isinteger": "^4.0.4",
"lodash.isnumber": "^3.0.3",
"lodash.isplainobject": "^4.0.6",
"lodash.isstring": "^4.0.1",
"lodash.once": "^4.0.0",
"ms": "^2.1.1",
"semver": "^5.6.0"
},
"engines": {
"node": ">=4",
"npm": ">=1.4.28"
}
},
"node_modules/jwa": {
"version": "1.4.1",
"resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
"integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
"dependencies": {
"buffer-equal-constant-time": "1.0.1",
"ecdsa-sig-formatter": "1.0.11",
"safe-buffer": "^5.0.1"
}
},
"node_modules/jws": {
"version": "3.2.2",
"resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
"integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
"dependencies": {
"jwa": "^1.4.1",
"safe-buffer": "^5.0.1"
}
},
"node_modules/lodash.includes": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz",
"integrity": "sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8="
},
"node_modules/lodash.isboolean": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz",
"integrity": "sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY="
},
"node_modules/lodash.isinteger": {
"version": "4.0.4",
"resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz",
"integrity": "sha1-YZwK89A/iwTDH1iChAt3sRzWg0M="
},
"node_modules/lodash.isnumber": {
"version": "3.0.3",
"resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz",
"integrity": "sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w="
},
"node_modules/lodash.isplainobject": {
"version": "4.0.6",
"resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz",
"integrity": "sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs="
},
"node_modules/lodash.isstring": {
"version": "4.0.1",
"resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz",
"integrity": "sha1-1SfftUVuynzJu5XV2ur4i6VKVFE="
},
"node_modules/lodash.once": {
"version": "4.1.1",
"resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz",
"integrity": "sha1-DdOXEhPHxW34gJd9UEyI+0cal6w="
},
"node_modules/media-typer": {
"version": "0.3.0",
"resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
"integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/merge-descriptors": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz",
"integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E="
},
"node_modules/methods": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
"integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime": {
"version": "1.6.0",
"resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
"integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
"bin": {
"mime": "cli.js"
},
"engines": {
"node": ">=4"
}
},
"node_modules/mime-db": {
"version": "1.46.0",
"resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.46.0.tgz",
"integrity": "sha512-svXaP8UQRZ5K7or+ZmfNhg2xX3yKDMUzqadsSqi4NCH/KomcH75MAMYAGVlvXn4+b/xOPhS3I2uHKRUzvjY7BQ==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/mime-types": {
"version": "2.1.29",
"resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.29.tgz",
"integrity": "sha512-Y/jMt/S5sR9OaqteJtslsFZKWOIIqMACsJSiHghlCAyhf7jfVYjKBmLiX8OgpWeW+fjJ2b+Az69aPFPkUOY6xQ==",
"dependencies": {
"mime-db": "1.46.0"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/ms": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/negotiator": {
"version": "0.6.2",
"resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz",
"integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/on-finished": {
"version": "2.3.0",
"resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz",
"integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=",
"dependencies": {
"ee-first": "1.1.1"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/parseurl": {
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
"integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/path-to-regexp": {
"version": "0.1.7",
"resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz",
"integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w="
},
"node_modules/proxy-addr": {
"version": "2.0.6",
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz",
"integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==",
"dependencies": {
"forwarded": "~0.1.2",
"ipaddr.js": "1.9.1"
},
"engines": {
"node": ">= 0.10"
}
},
"node_modules/qs": {
"version": "6.7.0",
"resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz",
"integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==",
"engines": {
"node": ">=0.6"
}
},
"node_modules/range-parser": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
"integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/raw-body": {
"version": "2.4.0",
"resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz",
"integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==",
"dependencies": {
"bytes": "3.1.0",
"http-errors": "1.7.2",
"iconv-lite": "0.4.24",
"unpipe": "1.0.0"
},
"engines": {
"node": ">= 0.8"
}
},
"node_modules/safe-buffer": {
"version": "5.2.1",
"resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
"integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ=="
},
"node_modules/safer-buffer": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/semver": {
"version": "5.7.1",
"resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
"integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
"bin": {
"semver": "bin/semver"
}
},
"node_modules/send": {
"version": "0.17.1",
"resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz",
"integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==",
"dependencies": {
"debug": "2.6.9",
"depd": "~1.1.2",
"destroy": "~1.0.4",
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"etag": "~1.8.1",
"fresh": "0.5.2",
"http-errors": "~1.7.2",
"mime": "1.6.0",
"ms": "2.1.1",
"on-finished": "~2.3.0",
"range-parser": "~1.2.1",
"statuses": "~1.5.0"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/send/node_modules/debug": {
"version": "2.6.9",
"resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
"integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
"dependencies": {
"ms": "2.0.0"
}
},
"node_modules/send/node_modules/debug/node_modules/ms": {
"version": "2.0.0",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
"integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g="
},
"node_modules/send/node_modules/ms": {
"version": "2.1.1",
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz",
"integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg=="
},
"node_modules/serve-static": {
"version": "1.14.1",
"resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz",
"integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==",
"dependencies": {
"encodeurl": "~1.0.2",
"escape-html": "~1.0.3",
"parseurl": "~1.3.3",
"send": "0.17.1"
},
"engines": {
"node": ">= 0.8.0"
}
},
"node_modules/setprototypeof": {
"version": "1.1.1",
"resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz",
"integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw=="
},
"node_modules/statuses": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz",
"integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=",
"engines": {
"node": ">= 0.6"
}
},
"node_modules/toidentifier": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz",
"integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==",
"engines": {
"node": ">=0.6"
}
},
"node_modules/type-is": {
"version": "1.6.18",
"resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
"integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
"dependencies": {
"media-typer": "0.3.0",
"mime-types": "~2.1.24"
},
"engines": {
"node": ">= 0.6"
}
},
"node_modules/unpipe": {
"version": "1.0.0",
"resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
"integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=",
"engines": {
"node": ">= 0.8"
}
},
"node_modules/utils-merge": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
"integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=",
"engines": {
"node": ">= 0.4.0"
}
},
"node_modules/uuid": {
"version": "8.3.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
"integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
"bin": {
"uuid": "dist/bin/uuid"
}
},
"node_modules/vary": {
"version": "1.1.2",
"resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
"integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=",
"engines": {
"node": ">= 0.8"
}
}
}
}

@ -0,0 +1,684 @@
{
"name": "@azure/msal-common",
"entries": [
{
"date": "Thu, 18 Feb 2021 00:34:32 GMT",
"tag": "@azure/msal-common_v4.0.1",
"version": "4.0.1",
"comments": {
"patch": [
{
"comment": "Clarify Device Code Timeout units (#3031)",
"author": "hemoral@microsoft.com",
"commit": "af97180664ec257f2fdb6f04ab0921affeb9a8f3",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Tue, 09 Feb 2021 01:48:22 GMT",
"tag": "@azure/msal-common_v4.0.0",
"version": "4.0.0",
"comments": {
"patch": [
{
"comment": "Fix version.json import errors (#2993)",
"author": "thomas.norling@microsoft.com",
"commit": "6dc3bc9e2148bc53b181d9f079f6e11e0159620b",
"package": "@azure/msal-common"
},
{
"comment": "Setting postLogoutRedirectUri as null will disable post logout redirect",
"author": "janutter@microsoft.com",
"commit": "cae9fa7bdd1575067d2e823402e0725f7bf8b11e",
"package": "@azure/msal-common"
},
{
"comment": "Ignore OIDC scopes during cache lookup or replacement (#2969)",
"author": "prkanher@microsoft.com",
"commit": "554f47e8ff576c3230c36df74cd73b6101d333ab",
"package": "@azure/msal-common"
}
],
"major": [
{
"comment": "Add API Extractor for msal-node",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "01747296efdf08eefe585930097d9bbbf6b00789",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Tue, 02 Feb 2021 01:56:47 GMT",
"tag": "@azure/msal-common_v3.1.0",
"version": "3.1.0",
"comments": {
"patch": [
{
"comment": "Fix token timestamp calculation",
"author": "prkanher@microsoft.com",
"commit": "12f9fa2b6a9530fac5f7570ee3c49dc39232284c",
"package": "@azure/msal-common"
},
{
"comment": "Fix B2C policy switching (#2949)",
"author": "thomas.norling@microsoft.com",
"commit": "05eb650487a800d4bb3f94ec9dacca2efa98cc82",
"package": "@azure/msal-common"
},
{
"comment": "Get package version from version.json (#2915)",
"author": "thomas.norling@microsoft.com",
"commit": "a6f4702f9439e318a8cb6dc65d1def16351a84fd",
"package": "@azure/msal-common"
}
],
"minor": [
{
"comment": "Add wrapper SKU and version to current telemetry header (#2845)",
"author": "thomas.norling@microsoft.com",
"commit": "27597c148c718e3d001309349a4498a958688cbd",
"package": "@azure/msal-common"
}
],
"none": [
{
"comment": "Add project references (#2930)",
"author": "thomas.norling@microsoft.com",
"commit": "a836e77e372f1b4da28195d4ad8c0c75d6794875",
"package": "@azure/msal-common"
},
{
"comment": "Typedocs Updates (#2926)",
"author": "thomas.norling@microsoft.com",
"commit": "3fd4a48143ed4fb62b9e3266338b1abda920d68a",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Thu, 21 Jan 2021 21:48:01 GMT",
"tag": "@azure/msal-common_v3.0.0",
"version": "3.0.0",
"comments": {
"major": [
{
"comment": "Authority metadata caching (#2758)",
"author": "thomas.norling@microsoft.com",
"commit": "28b3268b1385e99249c0b7a95b0b14299011ca46",
"package": "@azure/msal-common"
}
],
"none": [
{
"comment": "Add missing license files",
"author": "janutter@microsoft.com",
"commit": "bee8cbd1f3a22efccb83ba045231eb611e2a7f7d",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Tue, 12 Jan 2021 00:51:26 GMT",
"tag": "@azure/msal-common_v2.1.0",
"version": "2.1.0",
"comments": {
"patch": [
{
"comment": "Adding account info equality check function (#2728)",
"author": "prkanher@microsoft.com",
"commit": "ca8c0d55d2abc4eefaa52c833510e313610eb424",
"package": "@azure/msal-common"
},
{
"comment": "Adding device code timeout to the device code request(#2656)",
"author": "samuel.kamau@microsoft.com",
"commit": "4e50ca592f5a17578072be9e4ac28e05b3e6d594",
"package": "@azure/msal-common"
}
],
"none": [
{
"comment": "Merge angular-v2 to dev (#2709)",
"author": "joarroyo@microsoft.com",
"commit": "76a88f98fbab73fd6c0ad6d04b294814c169fc10",
"package": "@azure/msal-common"
},
{
"comment": "Fix npm audit warnings",
"author": "janutter@microsoft.com",
"commit": "751026cdaa24dd370c50ad714bf0b1d54c71fbde",
"package": "@azure/msal-common"
}
],
"minor": [
{
"comment": "Add interface stubs (#2792)",
"author": "thomas.norling@microsoft.com",
"commit": "a6fae46d307d0a6101e926cb28298fd9f60d4a49",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Mon, 07 Dec 2020 22:19:03 GMT",
"tag": "@azure/msal-common_v2.0.0",
"version": "2.0.0",
"comments": {
"patch": [
{
"comment": "Fix login loop with empty query string (#2707)",
"author": "thomas.norling@microsoft.com",
"commit": "307307edb3d9877caca3874d17f35faf2bae6180",
"package": "@azure/msal-common"
},
{
"comment": "Expose idTokenClaims on AccountInfo (#2554)",
"author": "janutter@microsoft.com",
"commit": "cb2165aad7995d904ec49ade565d907dc314ce16",
"package": "@azure/msal-common"
},
{
"comment": "Add matchPattern string util for wildcard matching for urls (#2678)",
"author": "janutter@microsoft.com",
"commit": "4642741f3def4cdb575cc0a228f88e19f84e3da5",
"package": "@azure/msal-common"
},
{
"comment": "fix: added missing async (AzureAD/microsoft-authentication-library-for-js#2652)",
"author": "patrick@ruhkopf.me",
"commit": "1c0df2fc1468fb094c76da04de91271ffb4461c7",
"package": "@azure/msal-common"
},
{
"comment": "Log messages contain package name and version (#2589)",
"author": "thomas.norling@microsoft.com",
"commit": "4568c16bd425e242cdb799ec59b3508654cc2e45",
"package": "@azure/msal-common"
}
],
"minor": [
{
"comment": "Add clone to Logger (#2670)",
"author": "joarroyo@microsoft.com",
"commit": "9efb3ba5886eaf6f3a3cd36957ab9fcb7399278a",
"package": "@azure/msal-common"
},
{
"comment": "Enable the instance_aware flow (#1804)",
"author": "prkanher@microsoft.com",
"commit": "3e616e162149f4e57257b70e6d481c4596d91ef9",
"package": "@azure/msal-common"
},
{
"comment": "Support id_token_hint on logout request (#2587)",
"author": "thomas.norling@microsoft.com",
"commit": "fa9b7009f094b3c17a6d177fcec9b736320735c0",
"package": "@azure/msal-common"
}
],
"major": [
{
"comment": "Enable StrictNullChecks (#2602)",
"author": "thomas.norling@microsoft.com",
"commit": "ebf18c6daead16f8cfd2afb3b63cbd59fc63046a",
"package": "@azure/msal-common"
},
{
"comment": "Rename request types and change required fields (#2512)",
"author": "thomas.norling@microsoft.com",
"commit": "5b891222d674eb5664af9187f319a61b50341f55",
"package": "@azure/msal-common"
}
],
"none": [
{
"comment": "Enforce triple equals in eslint",
"author": "janutter@microsoft.com",
"commit": "5975eb4077a2b4372683e68af4d748b0808134ab",
"package": "@azure/msal-common"
},
{
"comment": "Package-lock update",
"author": "thomas.norling@microsoft.com",
"commit": "9c029bc074ecd32483a45cfab8721f0771c31e55",
"package": "@azure/msal-common"
},
{
"comment": "Remove console.log in unit tests (#2629)",
"author": "thomas.norling@microsoft.com",
"commit": "b89d8029a3703b2bfa1f9399456e652fe6f26e4f",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Wed, 11 Nov 2020 23:33:20 GMT",
"tag": "@azure/msal-common_v1.7.2",
"version": "1.7.2",
"comments": {
"none": [
{
"comment": "Documentation update for new account retrieval APIs (#2585)",
"author": "hemoral@microsoft.com",
"commit": "cb782967cc8f07581488de71c4509fa12a702774",
"package": "@azure/msal-common"
}
],
"patch": [
{
"comment": "Add getAbsolutePath helper function to UrlString class (#2560)",
"author": "thomas.norling@microsoft.com",
"commit": "12ccf0441f8735e9d2875cebac6065447ecc622d",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Tue, 10 Nov 2020 01:48:44 GMT",
"tag": "@azure/msal-common_v1.7.1",
"version": "1.7.1",
"comments": {
"patch": [
{
"comment": "Enhance lookup for IdTokens/AppMetadata (#2530)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "e51446295f8c857f1abc7f6874a4c7fde157699e",
"package": "@azure/msal-common"
},
{
"comment": "Add LocalAccountId for ADFS usecases (#2573)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "d8247d8e74fc8854ffdb5a6001df00b36fdddd62",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Sat, 07 Nov 2020 01:50:14 GMT",
"tag": "@azure/msal-common_v1.7.0",
"version": "1.7.0",
"comments": {
"patch": [
{
"comment": "Mandate localAccount in AccountInfo",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "ee770fc1f4ed1ef9e53b28a18487e9b7686ffa64",
"package": "@azure/msal-common"
},
{
"comment": "Filtered lookup of IdTokens, AppMetadata; Error handling in Node Storage (#2530)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "354dd86449d792b7369fb240c5e2cfd70ca73488",
"package": "@azure/msal-common"
}
],
"none": [
{
"comment": "Build Pipeline Changes (#2406)",
"author": "thomas.norling@microsoft.com",
"commit": "af8459c0d53a4dc2bf495017608c0bb03004d006",
"package": "@azure/msal-common"
}
],
"minor": [
{
"comment": "Implement Password Grant Flow (#2204)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "baf6d157e7bbeae439526aee13eb08962974925b",
"package": "@azure/msal-common"
},
{
"comment": "Fixing a bug and adding `localAccountId` in AccountInfo interface (#2516)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "c2ec3b43f07d9c18eec14e109caddcf7941f50b4",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Mon, 26 Oct 2020 21:00:29 GMT",
"tag": "@azure/msal-common_v1.6.3",
"version": "1.6.3",
"comments": {
"patch": [
{
"comment": "Fix ServerTelemetry maxErrorToSend bug (#2491)",
"author": "thomas.norling@microsoft.com",
"commit": "81575de28b78e7c09c5d475854e14a8bc1b7b567",
"package": "@azure/msal-common"
},
{
"comment": "Add missing default headers to device code",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "e007d2b425c8ceaed409ed9b11a1a72bc64fa955",
"package": "@azure/msal-common"
},
{
"comment": "msal-browser and msal-node cache Interfaces to msal-common updated (#2415)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "9d4c4a18de10eb3d918810dc10766fbd5547165d",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Tue, 20 Oct 2020 23:47:28 GMT",
"tag": "@azure/msal-common_v1.6.2",
"version": "1.6.2",
"comments": {
"patch": [
{
"comment": "Adds support for any OIDC-compliant authority (#2389).",
"author": "jamckenn@microsoft.com",
"commit": "2b6b9ec9033a8b829393e44c3feb7b19b163d2cd",
"package": "@azure/msal-common"
}
],
"none": [
{
"comment": "Updated eslint rules (#2345)",
"author": "janutter@microsoft.com",
"commit": "64a4f9e868e63346dfd711dec717abe7fd14d949",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Thu, 15 Oct 2020 00:49:18 GMT",
"tag": "@azure/msal-common_v1.6.1",
"version": "1.6.1",
"comments": {
"patch": [
{
"comment": "Removing unused errors in msal-common and fixing possible build errors in @azure/msal-common@1.6.0 (#2432)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "c752e512993dc3a294b51fe0849c70e3cfeafa3e",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Wed, 14 Oct 2020 23:45:07 GMT",
"tag": "@azure/msal-common_v1.6.0",
"version": "1.6.0",
"comments": {
"none": [
{
"comment": "Docs updates for msal-node release",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "20718209d5d567c02223a7f1b220b4aa40ad6817",
"package": "@azure/msal-common"
}
],
"minor": [
{
"comment": "Add support for persistence cache plugin (#2348)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "26723689e35918c59bd6ce58ba8cb886118676c6",
"package": "@azure/msal-common"
}
],
"patch": [
{
"comment": "Add Telemetry header size limit (#2223)",
"author": "thomas.norling@microsoft.com",
"commit": "82b982ba38d70d9060e3cf5d9c38e0203b60d963",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Fri, 02 Oct 2020 17:42:35 GMT",
"tag": "@azure/msal-common_v1.5.0",
"version": "1.5.0",
"comments": {
"minor": [
{
"comment": "Implementation of Access Token Proof-of-Possession Flow (#2151, #2153, #2154, #2209, #2289)",
"author": "prkanher@microsoft.com",
"commit": "3cffbc99730532bbd0b35f2e3a9df17f032c0675",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Wed, 30 Sep 2020 17:58:33 GMT",
"tag": "@azure/msal-common_v1.4.0",
"version": "1.4.0",
"comments": {
"none": [
{
"comment": "Updating dependency versions(#2342)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "bc3f324edd6cf83937c31f73d3aefc6dbaf5f748",
"package": "@azure/msal-common"
},
{
"comment": "Update changelog versions for msal-node and extensions (#2336)",
"author": "hectormgdev@gmail.com",
"commit": "323875a725e0d5049ff6742a9ca5160c2d4b7d0d",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Wed, 23 Sep 2020 21:13:48 GMT",
"tag": "@azure/msal-common_v1.4.0",
"version": "1.4.0",
"comments": {
"patch": [
{
"comment": "Remove null in function return types to be compatible with ICacheManager.ts (#2335)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "aecc41e9f23b350a25bba9dd23e739627e61f8ab",
"package": "@azure/msal-common"
},
{
"comment": "Scopes stored case sensitive, compared case insensitive (#2302)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "60fe1e6b2e4c3fdd1f7ce0dd0fbee0febed6d0d2",
"package": "@azure/msal-common"
}
],
"minor": [
{
"comment": "FOCI - Family of Client IDs feature (#2201)",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "209789cdffdfd38087819cbb23688bcd5ce47b60",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Thu, 17 Sep 2020 23:16:22 GMT",
"tag": "@azure/msal-common_v1.3.0",
"version": "1.3.0",
"comments": {
"patch": [
{
"comment": "Add name field to AccountInfo (#2288)",
"author": "jamckenn@microsoft.com",
"commit": "d917d6a91987522f1c4390817966945ce18fa099",
"package": "@azure/msal-common"
},
{
"comment": "Realm should fallback to an empty string for non AAD scenarios",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "d4c4b1f53e919c226b19e3fa72f42f02baa394da",
"package": "@azure/msal-common"
},
{
"comment": "Add default scopes in all requests and ignore in cache lookups (#2267)",
"author": "thomas.norling@microsoft.com",
"commit": "3a18b100f38149a35c01cc491a9de78ea505d771",
"package": "@azure/msal-common"
},
{
"comment": "Move refreshToken API to RefreshTokenClient (#2264)",
"author": "thomas.norling@microsoft.com",
"commit": "6923e66fc9ca44c460489b41ff6a4d104ebde864",
"package": "@azure/msal-common"
},
{
"comment": "Track Suberrors in Telemetry (#1921)",
"author": "thomas.norling@microsoft.com",
"commit": "1872900d149b60436ef59fd41ab542c58c32e8f1",
"package": "@azure/msal-common"
},
{
"comment": "Separate cache lookup from token refresh (#2189)",
"author": "thomas.norling@microsoft.com",
"commit": "b452afeac6bf3fc5df0535c22433709a06921b33",
"package": "@azure/msal-common"
}
],
"none": [
{
"comment": "Update core, browser, common to use central eslint configuration",
"author": "janutter@microsoft.com",
"commit": "fc49c6f16b3f7a62a67d249107fc484272133305",
"package": "@azure/msal-common"
}
],
"minor": [
{
"comment": "Add support for On-behalf-of flow",
"author": "sagonzal@microsoft.com",
"commit": "53c018c8ea0d1877c12641fc1a749e6d66e7ff78",
"package": "@azure/msal-common"
},
{
"comment": "ValidCacheType adds ServerTelemetryEntity",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "9760b6ff6c0ad403ac1b26968cb10d3d7e72a6fd",
"package": "@azure/msal-common"
},
{
"comment": "Added client-side throttling to enhance server stability (#1907)",
"author": "jamckenn@microsoft.com",
"commit": "91a1dba29dbfb8f6fc329c0381767d6b6f661281",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Tue, 25 Aug 2020 00:40:45 GMT",
"tag": "@azure/msal-common_v1.2.0",
"version": "1.2.0",
"comments": {
"patch": [
{
"comment": "ignore offline_access in scopes lookup",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "ed55b106bba3d97378b8760d711b24217a7adbbf",
"package": "@azure/msal-common"
},
{
"comment": "Adds checks for cache entities",
"author": "sameera.gajjarapu@microsoft.com",
"commit": "282035aecb07956dca323d65275fdaa703c4a325",
"package": "@azure/msal-common"
},
{
"comment": "Add claims request to /token calls (#2138)",
"author": "thomas.norling@microsoft.com",
"commit": "a2813a0b7dc1b6ad8fa76f1fd7444b95d380e42b",
"package": "@azure/msal-common"
},
{
"comment": "Fix Telemetry cacheHit Bug (#2170)",
"author": "thomas.norling@microsoft.com",
"commit": "a9305a0ec3405f892ff4a1926ffb3dbca26e9a83",
"package": "@azure/msal-common"
},
{
"comment": "Get username from emails claim in B2C scenarios (#2114)",
"author": "thomas.norling@microsoft.com",
"commit": "40b1716fec63893f57762f37b55944f6c8c86e21",
"package": "@azure/msal-common"
},
{
"comment": "Update POST header to type Record (#2128)",
"author": "thomas.norling@microsoft.com",
"commit": "c9b65c59797cd3240aad2b4f1e0e866a90373c4a",
"package": "@azure/msal-common"
}
],
"minor": [
{
"comment": "Client Capabilities Support (#2169)",
"author": "thomas.norling@microsoft.com",
"commit": "0cdad1b8a3855b2414be9740862df29524897a22",
"package": "@azure/msal-common"
},
{
"comment": "Add support for acquiring tokens with client credentials grant",
"author": "sagonzal@microsoft.com",
"commit": "98647b7a8a40e1a5f7855f0bcee4594e080a8398",
"package": "@azure/msal-common"
}
]
}
},
{
"date": "Thu, 13 Aug 2020 02:20:48 GMT",
"tag": "@azure/msal-common_v1.1.1",
"version": "1.1.1",
"comments": {
"patch": [
{
"comment": "knownAuthorities enhancements (#2106)",
"author": "thomas.l.norling@gmail.com",
"commit": "7f86c1ef455deda854fc1743e8a3f687e3f8ee76",
"package": "@azure/msal-common"
},
{
"comment": "Update typing of IdTokenClaims (#2105)",
"author": "hemoral@microsoft.com",
"commit": "a5994b5767d36476066c86822ce49a8ba4dbd3a7",
"package": "@azure/msal-common"
},
{
"comment": "Fix hash parsing issue from #2118 and back button cache clearing (#2129)",
"author": "prkanher@microsoft.com",
"commit": "10ab51ecd9e4bb1ba1668972b693055310c65736",
"package": "@azure/msal-common"
}
],
"none": [
{
"comment": "Added documentation for client-side throttling (#2033)",
"author": "jamckenn@microsoft.com",
"commit": "4a45286aa7767a4f60aa0eadd4ed125d520034f7",
"package": "@azure/msal-common"
},
{
"comment": "updating files for automated release steps",
"author": "prkanher@microsoft.com",
"commit": "2c937a52cef36cbc84231f8868b4251529fa38c9",
"package": "@azure/msal-common"
}
]
}
}
]
}

@ -0,0 +1,21 @@
MIT License
Copyright (c) Microsoft Corporation. All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE

@ -0,0 +1,58 @@
# Microsoft Authentication Library for JavaScript (MSAL.js) Common Protocols Package
[![npm version](https://img.shields.io/npm/v/@azure/msal-common.svg?style=flat)](https://www.npmjs.com/package/@azure/msal-common/)[![npm version](https://img.shields.io/npm/dm/@azure/msal-common.svg)](https://nodei.co/npm/@azure/msal-common/)[![Coverage Status](https://coveralls.io/repos/github/AzureAD/microsoft-authentication-library-for-js/badge.svg?branch=dev)](https://coveralls.io/github/AzureAD/microsoft-authentication-library-for-js?branch=dev)
| <a href="https://docs.microsoft.com/azure/active-directory/develop/guidedsetups/active-directory-javascriptspa" target="_blank">Getting Started</a> | <a href="https://aka.ms/aaddevv2" target="_blank">AAD Docs</a> | <a href="https://azuread.github.io/microsoft-authentication-library-for-js/ref/modules/_azure_msal_common.html" target="_blank">Library Reference</a> |
| --- | --- | --- |
1. [About](#about)
2. [FAQ](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/FAQ.md)
3. [Releases](#releases)
4. [Prerequisites and Usage](#prerequisites-and-usage)
5. [Installation](#installation)
6. [Security Reporting](#security-reporting)
7. [License](#license)
8. [Code of Conduct](#we-value-and-adhere-to-the-microsoft-open-source-code-of-conduct)
## About
The MSAL library for JavaScript enables client-side JavaScript applications to authenticate users using [Azure AD](https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-overview) work and school accounts (AAD), Microsoft personal accounts (MSA) and social identity providers like Facebook, Google, LinkedIn, Microsoft accounts, etc. through [Azure AD B2C](https://docs.microsoft.com/en-us/azure/active-directory-b2c/active-directory-b2c-overview#identity-providers) service. It also enables your app to get tokens to access [Microsoft Cloud](https://www.microsoft.com/enterprise) services such as [Microsoft Graph](https://graph.microsoft.io).
The `@azure/msal-common` package described by the code in this folder serves as a common package dependency for the `@azure/msal-browser` package (and in the future, the msal-node package). Be aware that this is an internal library, and is subject to frequent change. **It is not meant for production consumption by itself.**
## FAQ
See [here](https://github.com/AzureAD/microsoft-authentication-library-for-js/blob/dev/lib/msal-common/FAQ.md).
## Releases
*Expect us to detail our major and minor releases moving forward, while leaving out our patch releases. Patch release notes can be found in our change log.*
| Date | Release | Announcement | Main features |
| ------| ------- | ---------| --------- |
| August 4, 2020 | @azure/msal-common v1.1.0 | [Release Notes](https://https://github.com/AzureAD/microsoft-authentication-library-for-js/releases/tag/msal-common-v1.1.0)
| July 20, 2020 | @azure/msal-common v1.0.0 | [Release Notes](https://github.com/AzureAD/microsoft-authentication-library-for-js/releases/tag/msal-common-v1.0.0) | Full release version of the `@azure/msal-common` |
| May 11, 2020 | @azure/msal-common v1.0.0-beta | Beta version of the `@azure/msal-common` package |
| January 17, 2020 | @azure/msal-common v1.0.0-alpha | No release notes yet | Alpha version of the `@azure/msal-common` package with authorization code flow for SPAs working in dev. |
## Prerequisites and Usage
This library is not meant for production use. Please use one of these packages specific to the platform you are developing for:
- [MSAL for Single Page Applications (SPAs)](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-browser)
- [MSAL for Node.js](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-node)
## Installation
### Via NPM:
npm install @azure/msal-common
## Security Reporting
If you find a security issue with our libraries or services please report it to [secure@microsoft.com](mailto:secure@microsoft.com) with as much detail as possible. Your submission may be eligible for a bounty through the [Microsoft Bounty](http://aka.ms/bugbounty) program. Please do not post security issues to GitHub Issues or any other public site. We will contact you shortly upon receiving the information. We encourage you to get notifications of when security incidents occur by visiting [this page](https://technet.microsoft.com/en-us/security/dd252948) and subscribing to Security Advisory Alerts.
## License
Copyright (c) Microsoft Corporation. All rights reserved. Licensed under the MIT License (the "License");
## We Value and Adhere to the Microsoft Open Source Code of Conduct
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any additional questions or comments.

@ -0,0 +1,297 @@
# Change Log - @azure/msal-common
This log was last generated on Thu, 18 Feb 2021 00:34:32 GMT and should not be manually modified.
<!-- Start content -->
## 4.0.1
Thu, 18 Feb 2021 00:34:32 GMT
### Patches
- Clarify Device Code Timeout units (#3031) (hemoral@microsoft.com)
## 4.0.0
Tue, 09 Feb 2021 01:48:22 GMT
### Major changes
- Add API Extractor for msal-node (sameera.gajjarapu@microsoft.com)
### Patches
- Fix version.json import errors (#2993) (thomas.norling@microsoft.com)
- Setting postLogoutRedirectUri as null will disable post logout redirect (janutter@microsoft.com)
- Ignore OIDC scopes during cache lookup or replacement (#2969) (prkanher@microsoft.com)
## 3.1.0
Tue, 02 Feb 2021 01:56:47 GMT
### Minor changes
- Add wrapper SKU and version to current telemetry header (#2845) (thomas.norling@microsoft.com)
### Patches
- Fix token timestamp calculation (prkanher@microsoft.com)
- Fix B2C policy switching (#2949) (thomas.norling@microsoft.com)
- Get package version from version.json (#2915) (thomas.norling@microsoft.com)
## 3.0.0
Thu, 21 Jan 2021 21:48:01 GMT
### Major changes
- Authority metadata caching (#2758) (thomas.norling@microsoft.com)
## 2.1.0
Tue, 12 Jan 2021 00:51:26 GMT
### Minor changes
- Add interface stubs (#2792) (thomas.norling@microsoft.com)
### Patches
- Adding account info equality check function (#2728) (prkanher@microsoft.com)
- Adding device code timeout to the device code request(#2656) (samuel.kamau@microsoft.com)
## 2.0.0
Mon, 07 Dec 2020 22:19:03 GMT
### Major changes
- Enable StrictNullChecks (#2602) (thomas.norling@microsoft.com)
- Rename request types and change required fields (#2512) (thomas.norling@microsoft.com)
### Minor changes
- Add clone to Logger (#2670) (joarroyo@microsoft.com)
- Enable the instance_aware flow (#1804) (prkanher@microsoft.com)
- Support id_token_hint on logout request (#2587) (thomas.norling@microsoft.com)
### Patches
- Fix login loop with empty query string (#2707) (thomas.norling@microsoft.com)
- Expose idTokenClaims on AccountInfo (#2554) (janutter@microsoft.com)
- Add matchPattern string util for wildcard matching for urls (#2678) (janutter@microsoft.com)
- fix: added missing async (AzureAD/microsoft-authentication-library-for-js#2652) (patrick@ruhkopf.me)
- Log messages contain package name and version (#2589) (thomas.norling@microsoft.com)
## 1.7.2
Wed, 11 Nov 2020 23:33:20 GMT
### Patches
- Add getAbsolutePath helper function to UrlString class (#2560) (thomas.norling@microsoft.com)
## 1.7.1
Tue, 10 Nov 2020 01:48:44 GMT
### Patches
- Enhance lookup for IdTokens/AppMetadata (#2530) (sameera.gajjarapu@microsoft.com)
- Add LocalAccountId for ADFS usecases (#2573) (sameera.gajjarapu@microsoft.com)
## 1.7.0
Sat, 07 Nov 2020 01:50:14 GMT
### Minor changes
- Implement Password Grant Flow (#2204) (sameera.gajjarapu@microsoft.com)
- Fixing a bug and adding `localAccountId` in AccountInfo interface (#2516) (sameera.gajjarapu@microsoft.com)
### Patches
- Mandate localAccount in AccountInfo (sameera.gajjarapu@microsoft.com)
- Filtered lookup of IdTokens, AppMetadata; Error handling in Node Storage (#2530) (sameera.gajjarapu@microsoft.com)
## 1.6.3
Mon, 26 Oct 2020 21:00:29 GMT
### Patches
- Fix ServerTelemetry maxErrorToSend bug (#2491) (thomas.norling@microsoft.com)
- Add missing default headers to device code (sameera.gajjarapu@microsoft.com)
- msal-browser and msal-node cache Interfaces to msal-common updated (#2415) (sameera.gajjarapu@microsoft.com)
## 1.6.2
Tue, 20 Oct 2020 23:47:28 GMT
### Patches
- Adds support for any OIDC-compliant authority (#2389). (jamckenn@microsoft.com)
## 1.6.1
Thu, 15 Oct 2020 00:49:18 GMT
### Patches
- Removing unused errors in msal-common and fixing possible build errors in @azure/msal-common@1.6.0 (#2432) (sameera.gajjarapu@microsoft.com)
## 1.6.0
Wed, 14 Oct 2020 23:45:07 GMT
### Minor changes
- Add support for persistence cache plugin (#2348) (sameera.gajjarapu@microsoft.com)
### Patches
- Add Telemetry header size limit (#2223) (thomas.norling@microsoft.com)
## 1.5.0
Fri, 02 Oct 2020 17:42:35 GMT
### Minor changes
- Implementation of Access Token Proof-of-Possession Flow (#2151, #2153, #2154, #2209, #2289) (prkanher@microsoft.com)
## 1.4.0
Wed, 23 Sep 2020 21:13:48 GMT
### Minor changes
- FOCI - Family of Client IDs feature (#2201) (sameera.gajjarapu@microsoft.com)
### Patches
- Remove null in function return types to be compatible with ICacheManager.ts (#2335) (sameera.gajjarapu@microsoft.com)
- Scopes stored case sensitive, compared case insensitive (#2302) (sameera.gajjarapu@microsoft.com)
## 1.3.0
Thu, 17 Sep 2020 23:16:22 GMT
### Minor changes
- Add support for On-behalf-of flow (#2157) (sagonzal@microsoft.com)
- ValidCacheType adds ServerTelemetryEntity (sameera.gajjarapu@microsoft.com)
- Added client-side throttling to enhance server stability (#1907) (jamckenn@microsoft.com)
### Patches
- Add name field to AccountInfo (#2288) (jamckenn@microsoft.com)
- Realm should fallback to an empty string for non AAD scenarios (sameera.gajjarapu@microsoft.com)
- Add default scopes in all requests and ignore in cache lookups (#2267) (thomas.norling@microsoft.com)
- Move refreshToken API to RefreshTokenClient (#2264) (thomas.norling@microsoft.com)
- Track Suberrors in Telemetry (#1921) (thomas.norling@microsoft.com)
- Separate cache lookup from token refresh (#2189) (thomas.norling@microsoft.com)
## 1.2.0
Tue, 25 Aug 2020 00:40:45 GMT
### Minor changes
- Client Capabilities Support (#2169) (thomas.norling@microsoft.com)
- Add support for acquiring tokens with client credentials grant (sagonzal@microsoft.com)
### Patches
- ignore offline_access in scopes lookup (sameera.gajjarapu@microsoft.com)
- Adds checks for cache entities (sameera.gajjarapu@microsoft.com)
- Add claims request to /token calls (#2138) (thomas.norling@microsoft.com)
- Fix Telemetry cacheHit Bug (#2170) (thomas.norling@microsoft.com)
- Get username from emails claim in B2C scenarios (#2114) (thomas.norling@microsoft.com)
- Update POST header to type Record (#2128) (thomas.norling@microsoft.com)
## 1.1.1
Thu, 13 Aug 2020 02:20:48 GMT
### Patches
- knownAuthorities enhancements (#2106) (thomas.l.norling@gmail.com)
- Update typing of IdTokenClaims (#2105) (hemoral@microsoft.com)
- Fix hash parsing issue from #2118 and back button cache clearing (#2129) (prkanher@microsoft.com)
# 1.1.0
## Breaking Changes
- None
## Features and Fixes
- Decode state from URI Encoding before comparing (#2049)
- getAllAccounts() returns empty array instead of `null` (#2059)
- Updated the `UrlString.canonicalizeUri()` API to be static (#2078)
- Add sid to `AuthorizationUrlRequest` and as part of request parameters sent to server (#2030)
- Enable server telemetry headers to be formatted and sent in every request (#1917)
- Enable platform level state information to be sent and read through the request state (#2045)
- Add the confidential client flow (#2023)
# 1.0.0
## Breaking Changes
- None
## Features and Fixes
- Fixed an issue where scopes were being made lower case before being sent to the service (#1961)
- Fix an issue where token values were replaced with undefined if not sent by server (#1946)
- Fix an issue where cache lookup for accounts was not working correctly (#1919)
- Removed TelemetryOptions from msal-common since they were unused (#1983)
- Add a response handler for the device code flow (#1947)
# 1.0.0-beta.4
## Breaking Changes
- None
## Features and Fixes
- Fix an issue where state may be encoded twice on the server-side (#1852)
- Fix an issue where extraScopesToConsent was not appending scopes correctly (#1854)
- Fix an issue where the expiration was not being calculated correctly (#1860)
- Add correlationId to all requests (#1868)
# 1.0.0-beta.3
## Breaking Changes
- `Request` update in msal-common (#1682, #1771)
- AccountInfo interface (#1789)
- Removal of SPA Client (#1793)
- Unified Cache support (#1444, #1471, #1519, #1520, #1522, #1609, #1622, #1624, #1655, #1680, #1762)
## Features and Fixes
- Initialization of B2cTrustedHostList (#1646)
- SilentFlow support (#1711)
- Utilize `Scopeset` across all libraries (#1770)
- `state` support in msal-common (#1790)
- EndSessionRequest (#1802)
# 1.0.0-beta.2
- Fixed an issue where types were not being exported from the correct location (#1613)
- Fixed an issue where system configuration values were being overwritten with `undefined` (#1631)
- Added support for sub-error codes from the eSTS service (#1533)
# 1.0.0-beta.1
- Fixed an issue where types are not exported correctly (#1517)
- Logger class is now exported (#1486)
- Added knownAuthorities to support B2C authorities (#1416)
- Refactored authority classes for B2C use cases (#1424)
- Synced all classes and objects to work for both @azure/msal-browser and @azure/msal-node (#1552)
- Merged configuration for node and browser classes (#1575)
- Fixed issue with caching for multiple resources (#1553)
- Adding support for node classes
- Refresh token client (#1496)
- Device code client (#1550, #1434)
- Authorization Code Client (#1434)
# 1.0.0-beta.0
- Fully functioning project completed
- Build and test pipelines in place
- Added bug fixes from unit testing
- Added docs and samples
# 0.0.1
- Created library with initial files for repo structure, build and package dependencies

@ -0,0 +1,21 @@
/**
* Account object with the following signature:
* - homeAccountId - Home account identifier for this account object
* - environment - Entity which issued the token represented by the domain of the issuer (e.g. login.microsoftonline.com)
* - tenantId - Full tenant or organizational id that this account belongs to
* - username - preferred_username claim of the id_token that represents this account
* - localAccountId - Local, tenant-specific account identifer for this account object, usually used in legacy cases
* - name - Full name for the account, including given name and family name
* - idTokenClaims - Object contains claims from ID token
* - localAccountId - The user's account ID
*/
export declare type AccountInfo = {
homeAccountId: string;
environment: string;
tenantId: string;
username: string;
localAccountId: string;
name?: string;
idTokenClaims?: object;
};
//# sourceMappingURL=AccountInfo.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AccountInfo.d.ts","sourceRoot":"","sources":["../../src/account/AccountInfo.ts"],"names":[],"mappings":"AAKA;;;;;;;;;;GAUG;AACH,oBAAY,WAAW,GAAG;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAC"}

@ -0,0 +1,17 @@
import { TokenClaims } from "./TokenClaims";
import { ICrypto } from "../crypto/ICrypto";
/**
* JWT Token representation class. Parses token string and generates claims object.
*/
export declare class AuthToken {
rawToken: string;
claims: TokenClaims;
constructor(rawToken: string, crypto: ICrypto);
/**
* Extract token by decoding the rawToken
*
* @param encodedToken
*/
static extractTokenClaims(encodedToken: string, crypto: ICrypto): TokenClaims;
}
//# sourceMappingURL=AuthToken.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AuthToken.d.ts","sourceRoot":"","sources":["../../src/account/AuthToken.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;GAEG;AACH,qBAAa,SAAS;IAGlB,QAAQ,EAAE,MAAM,CAAC;IAEjB,MAAM,EAAE,WAAW,CAAC;gBACR,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO;IAS7C;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,WAAW;CAehF"}

@ -0,0 +1,15 @@
import { ICrypto } from "../crypto/ICrypto";
/**
* Client info object which consists of two IDs. Need to add more info here.
*/
export declare type ClientInfo = {
uid: string;
utid: string;
};
/**
* Function to build a client info object
* @param rawClientInfo
* @param crypto
*/
export declare function buildClientInfo(rawClientInfo: string, crypto: ICrypto): ClientInfo;
//# sourceMappingURL=ClientInfo.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ClientInfo.d.ts","sourceRoot":"","sources":["../../src/account/ClientInfo.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAE5C;;GAEG;AACH,oBAAY,UAAU,GAAG;IACrB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAA;CACf,CAAC;AAEF;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,UAAU,CAWlF"}

@ -0,0 +1,9 @@
/**
* Interface for Decoded JWT tokens.
*/
export interface DecodedAuthToken {
header: string;
JWSPayload: string;
JWSSig: string;
}
//# sourceMappingURL=DecodedAuthToken.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"DecodedAuthToken.d.ts","sourceRoot":"","sources":["../../src/account/DecodedAuthToken.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAA;CACjB"}

@ -0,0 +1,23 @@
/**
* Type which describes Id Token claims known by MSAL.
*/
export declare type TokenClaims = {
iss?: string;
oid?: string;
sub?: string;
tid?: string;
ver?: string;
upn?: string;
preferred_username?: string;
emails?: string[];
name?: string;
nonce?: string;
exp?: number;
home_oid?: string;
sid?: string;
cloud_instance_host_name?: string;
cnf?: {
kid: string;
};
};
//# sourceMappingURL=TokenClaims.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"TokenClaims.d.ts","sourceRoot":"","sources":["../../src/account/TokenClaims.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,oBAAY,WAAW,GAAG;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAClC,GAAG,CAAC,EAAE;QACF,GAAG,EAAE,MAAM,CAAC;KACf,CAAC;CACL,CAAC"}

@ -0,0 +1,148 @@
import { AuthorityType } from "./AuthorityType";
import { IUri } from "../url/IUri";
import { INetworkModule } from "../network/INetworkModule";
import { ProtocolMode } from "./ProtocolMode";
import { ICacheManager } from "../cache/interface/ICacheManager";
import { AuthorityOptions } from "./AuthorityOptions";
import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata";
/**
* The authority class validates the authority URIs used by the user, and retrieves the OpenID Configuration Data from the
* endpoint. It will store the pertinent config data in this object for use during token calls.
*/
export declare class Authority {
private _canonicalAuthority;
private _canonicalAuthorityUrlComponents;
protected networkInterface: INetworkModule;
protected cacheManager: ICacheManager;
private authorityOptions;
private metadata;
constructor(authority: string, networkInterface: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions);
get authorityType(): AuthorityType;
/**
* ProtocolMode enum representing the way endpoints are constructed.
*/
get protocolMode(): ProtocolMode;
/**
* Returns authorityOptions which can be used to reinstantiate a new authority instance
*/
get options(): AuthorityOptions;
/**
* A URL that is the authority set by the developer
*/
get canonicalAuthority(): string;
/**
* Sets canonical authority.
*/
set canonicalAuthority(url: string);
/**
* Get authority components.
*/
get canonicalAuthorityUrlComponents(): IUri;
/**
* Get hostname and port i.e. login.microsoftonline.com
*/
get hostnameAndPort(): string;
/**
* Get tenant for authority.
*/
get tenant(): string;
/**
* OAuth /authorize endpoint for requests
*/
get authorizationEndpoint(): string;
/**
* OAuth /token endpoint for requests
*/
get tokenEndpoint(): string;
get deviceCodeEndpoint(): string;
/**
* OAuth logout endpoint for requests
*/
get endSessionEndpoint(): string;
/**
* OAuth issuer for requests
*/
get selfSignedJwtAudience(): string;
/**
* Replaces tenant in url path with current tenant. Defaults to common.
* @param urlString
*/
private replaceTenant;
/**
* Replaces path such as tenant or policy with the current tenant or policy.
* @param urlString
*/
private replacePath;
/**
* The default open id configuration endpoint for any canonical authority.
*/
protected get defaultOpenIdConfigurationEndpoint(): string;
/**
* Boolean that returns whethr or not tenant discovery has been completed.
*/
discoveryComplete(): boolean;
/**
* Perform endpoint discovery to discover aliases, preferred_cache, preferred_network
* and the /authorize, /token and logout endpoints.
*/
resolveEndpointsAsync(): Promise<void>;
/**
* Update AuthorityMetadataEntity with new endpoints and return where the information came from
* @param metadataEntity
*/
private updateEndpointMetadata;
/**
* Compares the number of url components after the domain to determine if the cached authority metadata can be used for the requested authority
* Protects against same domain different authority such as login.microsoftonline.com/tenant and login.microsoftonline.com/tfp/tenant/policy
* @param metadataEntity
*/
private isAuthoritySameType;
/**
* Parse authorityMetadata config option
*/
private getEndpointMetadataFromConfig;
/**
* Gets OAuth endpoints from the given OpenID configuration endpoint.
*/
private getEndpointMetadataFromNetwork;
/**
* Updates the AuthorityMetadataEntity with new aliases, preferred_network and preferred_cache and returns where the information was retrived from
* @param cachedMetadata
* @param newMetadata
*/
private updateCloudDiscoveryMetadata;
/**
* Parse cloudDiscoveryMetadata config or check knownAuthorities
*/
private getCloudDiscoveryMetadataFromConfig;
/**
* Called to get metadata from network if CloudDiscoveryMetadata was not populated by config
* @param networkInterface
*/
private getCloudDiscoveryMetadataFromNetwork;
/**
* Helper function to determine if this host is included in the knownAuthorities config option
*/
private isInKnownAuthorities;
/**
* Creates cloud discovery metadata object from a given host
* @param host
*/
static createCloudDiscoveryMetadataFromHost(host: string): CloudDiscoveryMetadata;
/**
* Searches instance discovery network response for the entry that contains the host in the aliases list
* @param response
* @param authority
*/
static getCloudDiscoveryMetadataFromNetworkResponse(response: CloudDiscoveryMetadata[], authority: string): CloudDiscoveryMetadata | null;
/**
* helper function to generate environment from authority object
*/
getPreferredCache(): string;
/**
* Returns whether or not the provided host is an alias of this authority instance
* @param host
*/
isAlias(host: string): boolean;
}
//# sourceMappingURL=Authority.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"Authority.d.ts","sourceRoot":"","sources":["../../src/authority/Authority.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;;GAGG;AACH,qBAAa,SAAS;IAGlB,OAAO,CAAC,mBAAmB,CAAY;IAEvC,OAAO,CAAC,gCAAgC,CAAc;IAEtD,SAAS,CAAC,gBAAgB,EAAE,cAAc,CAAC;IAE3C,SAAS,CAAC,YAAY,EAAE,aAAa,CAAC;IAEtC,OAAO,CAAC,gBAAgB,CAAmB;IAE3C,OAAO,CAAC,QAAQ,CAA0B;gBAE9B,SAAS,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB;IAShI,IAAW,aAAa,IAAI,aAAa,CAQxC;IAED;;OAEG;IACH,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED;;OAEG;IACH,IAAW,OAAO,IAAI,gBAAgB,CAErC;IAED;;OAEG;IACH,IAAW,kBAAkB,IAAI,MAAM,CAEtC;IAED;;OAEG;IACH,IAAW,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAIxC;IAED;;OAEG;IACH,IAAW,+BAA+B,IAAI,IAAI,CAMjD;IAED;;OAEG;IACH,IAAW,eAAe,IAAI,MAAM,CAEnC;IAED;;OAEG;IACH,IAAW,MAAM,IAAI,MAAM,CAE1B;IAED;;OAEG;IACH,IAAW,qBAAqB,IAAI,MAAM,CAOzC;IAED;;OAEG;IACH,IAAW,aAAa,IAAI,MAAM,CAOjC;IAED,IAAW,kBAAkB,IAAI,MAAM,CAOtC;IAED;;OAEG;IACH,IAAW,kBAAkB,IAAI,MAAM,CAOtC;IAED;;OAEG;IACH,IAAW,qBAAqB,IAAI,MAAM,CAOzC;IAED;;;OAGG;IACH,OAAO,CAAC,aAAa;IAIrB;;;OAGG;IACH,OAAO,CAAC,WAAW;IAgBnB;;OAEG;IACH,SAAS,KAAK,kCAAkC,IAAI,MAAM,CAKzD;IAED;;OAEG;IACH,iBAAiB,IAAI,OAAO;IAI5B;;;OAGG;IACU,qBAAqB,IAAI,OAAO,CAAC,IAAI,CAAC;IAsBnD;;;OAGG;YACW,sBAAsB;IAqBpC;;;;OAIG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAYrC;;OAEG;YACW,8BAA8B;IAS5C;;;;OAIG;YACW,4BAA4B;IAuB1C;;OAEG;IACH,OAAO,CAAC,mCAAmC;IAsB3C;;;OAGG;YACW,oCAAoC;IAkBlD;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;OAGG;IACH,MAAM,CAAC,oCAAoC,CAAC,IAAI,EAAE,MAAM,GAAG,sBAAsB;IAQjF;;;;OAIG;IACH,MAAM,CAAC,4CAA4C,CAAC,QAAQ,EAAE,sBAAsB,EAAE,EAAE,SAAS,EAAE,MAAM,GAAG,sBAAsB,GAAG,IAAI;IAWzI;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAQ3B;;;OAGG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;CAGjC"}

@ -0,0 +1,29 @@
import { Authority } from "./Authority";
import { INetworkModule } from "../network/INetworkModule";
import { ICacheManager } from "../cache/interface/ICacheManager";
import { AuthorityOptions } from "./AuthorityOptions";
export declare class AuthorityFactory {
/**
* Create an authority object of the correct type based on the url
* Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)
*
* Also performs endpoint discovery.
*
* @param authorityUri
* @param networkClient
* @param protocolMode
*/
static createDiscoveredInstance(authorityUri: string, networkClient: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions): Promise<Authority>;
/**
* Create an authority object of the correct type based on the url
* Performs basic authority validation - checks to see if the authority is of a valid type (i.e. aad, b2c, adfs)
*
* Does not perform endpoint discovery.
*
* @param authorityUrl
* @param networkInterface
* @param protocolMode
*/
static createInstance(authorityUrl: string, networkInterface: INetworkModule, cacheManager: ICacheManager, authorityOptions: AuthorityOptions): Authority;
}
//# sourceMappingURL=AuthorityFactory.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AuthorityFactory.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityFactory.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAG3D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEtD,qBAAa,gBAAgB;IAEzB;;;;;;;;;OASG;WACU,wBAAwB,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC;IAY/K;;;;;;;;;OASG;IACH,MAAM,CAAC,cAAc,CAAC,YAAY,EAAE,MAAM,EAAE,gBAAgB,EAAE,cAAc,EAAE,YAAY,EAAE,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,SAAS;CAQ5J"}

@ -0,0 +1,8 @@
import { ProtocolMode } from "./ProtocolMode";
export declare type AuthorityOptions = {
protocolMode: ProtocolMode;
knownAuthorities: Array<string>;
cloudDiscoveryMetadata: string;
authorityMetadata: string;
};
//# sourceMappingURL=AuthorityOptions.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AuthorityOptions.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityOptions.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,oBAAY,gBAAgB,GAAG;IAC3B,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAChC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,iBAAiB,EAAE,MAAM,CAAC;CAC7B,CAAC"}

@ -0,0 +1,8 @@
/**
* Authority types supported by MSAL.
*/
export declare enum AuthorityType {
Default = 0,
Adfs = 1
}
//# sourceMappingURL=AuthorityType.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AuthorityType.d.ts","sourceRoot":"","sources":["../../src/authority/AuthorityType.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,oBAAY,aAAa;IACrB,OAAO,IAAA;IACP,IAAI,IAAA;CACP"}

@ -0,0 +1,6 @@
export declare type CloudDiscoveryMetadata = {
preferred_network: string;
preferred_cache: string;
aliases: Array<string>;
};
//# sourceMappingURL=CloudDiscoveryMetadata.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"CloudDiscoveryMetadata.d.ts","sourceRoot":"","sources":["../../src/authority/CloudDiscoveryMetadata.ts"],"names":[],"mappings":"AAKA,oBAAY,sBAAsB,GAAG;IACjC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC1B,CAAC"}

@ -0,0 +1,10 @@
import { CloudDiscoveryMetadata } from "./CloudDiscoveryMetadata";
/**
* The OpenID Configuration Endpoint Response type. Used by the authority class to get relevant OAuth endpoints.
*/
export declare type CloudInstanceDiscoveryResponse = {
tenant_discovery_endpoint: string;
metadata: Array<CloudDiscoveryMetadata>;
};
export declare function isCloudInstanceDiscoveryResponse(response: object): boolean;
//# sourceMappingURL=CloudInstanceDiscoveryResponse.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"CloudInstanceDiscoveryResponse.d.ts","sourceRoot":"","sources":["../../src/authority/CloudInstanceDiscoveryResponse.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAElE;;GAEG;AACH,oBAAY,8BAA8B,GAAG;IACzC,yBAAyB,EAAE,MAAM,CAAC;IAClC,QAAQ,EAAE,KAAK,CAAC,sBAAsB,CAAC,CAAC;CAC3C,CAAC;AAEF,wBAAgB,gCAAgC,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAK1E"}

@ -0,0 +1,11 @@
/**
* Tenant Discovery Response which contains the relevant OAuth endpoints and data needed for authentication and authorization.
*/
export declare type OpenIdConfigResponse = {
authorization_endpoint: string;
token_endpoint: string;
end_session_endpoint: string;
issuer: string;
};
export declare function isOpenIdConfigResponse(response: object): boolean;
//# sourceMappingURL=OpenIdConfigResponse.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"OpenIdConfigResponse.d.ts","sourceRoot":"","sources":["../../src/authority/OpenIdConfigResponse.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,oBAAY,oBAAoB,GAAG;IAC/B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAOhE"}

@ -0,0 +1,8 @@
/**
* Protocol modes supported by MSAL.
*/
export declare enum ProtocolMode {
AAD = "AAD",
OIDC = "OIDC"
}
//# sourceMappingURL=ProtocolMode.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ProtocolMode.d.ts","sourceRoot":"","sources":["../../src/authority/ProtocolMode.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,oBAAY,YAAY;IACpB,GAAG,QAAQ;IACX,IAAI,SAAS;CAChB"}

@ -0,0 +1,360 @@
import { AccountCache, AccountFilter, CredentialFilter, CredentialCache, AppMetadataFilter, AppMetadataCache } from "./utils/CacheTypes";
import { CacheRecord } from "./entities/CacheRecord";
import { CredentialEntity } from "./entities/CredentialEntity";
import { ScopeSet } from "../request/ScopeSet";
import { AccountEntity } from "./entities/AccountEntity";
import { AccessTokenEntity } from "./entities/AccessTokenEntity";
import { IdTokenEntity } from "./entities/IdTokenEntity";
import { RefreshTokenEntity } from "./entities/RefreshTokenEntity";
import { ICacheManager } from "./interface/ICacheManager";
import { AccountInfo } from "../account/AccountInfo";
import { AppMetadataEntity } from "./entities/AppMetadataEntity";
import { ServerTelemetryEntity } from "./entities/ServerTelemetryEntity";
import { ThrottlingEntity } from "./entities/ThrottlingEntity";
import { ICrypto } from "../crypto/ICrypto";
import { AuthorityMetadataEntity } from "./entities/AuthorityMetadataEntity";
/**
* Interface class which implement cache storage functions used by MSAL to perform validity checks, and store tokens.
*/
export declare abstract class CacheManager implements ICacheManager {
protected clientId: string;
protected cryptoImpl: ICrypto;
constructor(clientId: string, cryptoImpl: ICrypto);
/**
* fetch the account entity from the platform cache
* @param accountKey
*/
abstract getAccount(accountKey: string): AccountEntity | null;
/**
* set account entity in the platform cache
* @param account
*/
abstract setAccount(account: AccountEntity): void;
/**
* fetch the idToken entity from the platform cache
* @param idTokenKey
*/
abstract getIdTokenCredential(idTokenKey: string): IdTokenEntity | null;
/**
* set idToken entity to the platform cache
* @param idToken
*/
abstract setIdTokenCredential(idToken: IdTokenEntity): void;
/**
* fetch the idToken entity from the platform cache
* @param accessTokenKey
*/
abstract getAccessTokenCredential(accessTokenKey: string): AccessTokenEntity | null;
/**
* set idToken entity to the platform cache
* @param accessToken
*/
abstract setAccessTokenCredential(accessToken: AccessTokenEntity): void;
/**
* fetch the idToken entity from the platform cache
* @param refreshTokenKey
*/
abstract getRefreshTokenCredential(refreshTokenKey: string): RefreshTokenEntity | null;
/**
* set idToken entity to the platform cache
* @param refreshToken
*/
abstract setRefreshTokenCredential(refreshToken: RefreshTokenEntity): void;
/**
* fetch appMetadata entity from the platform cache
* @param appMetadataKey
*/
abstract getAppMetadata(appMetadataKey: string): AppMetadataEntity | null;
/**
* set appMetadata entity to the platform cache
* @param appMetadata
*/
abstract setAppMetadata(appMetadata: AppMetadataEntity): void;
/**
* fetch server telemetry entity from the platform cache
* @param serverTelemetryKey
*/
abstract getServerTelemetry(serverTelemetryKey: string): ServerTelemetryEntity | null;
/**
* set server telemetry entity to the platform cache
* @param serverTelemetryKey
* @param serverTelemetry
*/
abstract setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity): void;
/**
* fetch cloud discovery metadata entity from the platform cache
* @param key
*/
abstract getAuthorityMetadata(key: string): AuthorityMetadataEntity | null;
/**
*
*/
abstract getAuthorityMetadataKeys(): Array<string>;
/**
* set cloud discovery metadata entity to the platform cache
* @param key
* @param value
*/
abstract setAuthorityMetadata(key: string, value: AuthorityMetadataEntity): void;
/**
* fetch throttling entity from the platform cache
* @param throttlingCacheKey
*/
abstract getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null;
/**
* set throttling entity to the platform cache
* @param throttlingCacheKey
* @param throttlingCache
*/
abstract setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity): void;
/**
* Function to remove an item from cache given its key.
* @param key
*/
abstract removeItem(key: string, type?: string): boolean;
/**
* Function which returns boolean whether cache contains a specific key.
* @param key
*/
abstract containsKey(key: string, type?: string): boolean;
/**
* Function which retrieves all current keys from the cache.
*/
abstract getKeys(): string[];
/**
* Function which clears cache.
*/
abstract clear(): void;
/**
* Returns all accounts in cache
*/
getAllAccounts(): AccountInfo[];
/**
* saves a cache record
* @param cacheRecord
*/
saveCacheRecord(cacheRecord: CacheRecord): void;
/**
* saves access token credential
* @param credential
*/
private saveAccessToken;
/**
* retrieve accounts matching all provided filters; if no filter is set, get all accounts
* not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared
* @param homeAccountId
* @param environment
* @param realm
*/
getAccountsFilteredBy(accountFilter?: AccountFilter): AccountCache;
/**
* retrieve accounts matching all provided filters; if no filter is set, get all accounts
* not checking for casing as keys are all generated in lower case, remember to convert to lower case if object properties are compared
* @param homeAccountId
* @param environment
* @param realm
*/
private getAccountsFilteredByInternal;
/**
* retrieve credentails matching all provided filters; if no filter is set, get all credentials
* @param homeAccountId
* @param environment
* @param credentialType
* @param clientId
* @param realm
* @param target
*/
getCredentialsFilteredBy(filter: CredentialFilter): CredentialCache;
/**
* Support function to help match credentials
* @param homeAccountId
* @param environment
* @param credentialType
* @param clientId
* @param realm
* @param target
*/
private getCredentialsFilteredByInternal;
/**
* retrieve appMetadata matching all provided filters; if no filter is set, get all appMetadata
* @param filter
*/
getAppMetadataFilteredBy(filter: AppMetadataFilter): AppMetadataCache;
/**
* Support function to help match appMetadata
* @param environment
* @param clientId
*/
private getAppMetadataFilteredByInternal;
/**
* retrieve authorityMetadata that contains a matching alias
* @param filter
*/
getAuthorityMetadataByAlias(host: string): AuthorityMetadataEntity | null;
/**
* Removes all accounts and related tokens from cache.
*/
removeAllAccounts(): boolean;
/**
* returns a boolean if the given account is removed
* @param account
*/
removeAccount(accountKey: string): boolean;
/**
* returns a boolean if the given account is removed
* @param account
*/
removeAccountContext(account: AccountEntity): boolean;
/**
* returns a boolean if the given credential is removed
* @param credential
*/
removeCredential(credential: CredentialEntity): boolean;
/**
* Removes all app metadata objects from cache.
*/
removeAppMetadata(): boolean;
/**
* Retrieve the cached credentials into a cacherecord
* @param account
* @param clientId
* @param scopes
* @param environment
*/
readCacheRecord(account: AccountInfo, clientId: string, scopes: ScopeSet, environment: string): CacheRecord;
/**
* Retrieve AccountEntity from cache
* @param account
*/
readAccountFromCache(account: AccountInfo): AccountEntity | null;
/**
* Retrieve IdTokenEntity from cache
* @param clientId
* @param account
* @param inputRealm
*/
readIdTokenFromCache(clientId: string, account: AccountInfo): IdTokenEntity | null;
/**
* Retrieve AccessTokenEntity from cache
* @param clientId
* @param account
* @param scopes
* @param inputRealm
*/
readAccessTokenFromCache(clientId: string, account: AccountInfo, scopes: ScopeSet): AccessTokenEntity | null;
/**
* Helper to retrieve the appropriate refresh token from cache
* @param clientId
* @param account
* @param familyRT
*/
readRefreshTokenFromCache(clientId: string, account: AccountInfo, familyRT: boolean): RefreshTokenEntity | null;
/**
* Retrieve AppMetadataEntity from cache
*/
readAppMetadataFromCache(environment: string, clientId: string): AppMetadataEntity | null;
/**
* Return the family_id value associated with FOCI
* @param environment
* @param clientId
*/
isAppMetadataFOCI(environment: string, clientId: string): boolean;
/**
* helper to match account ids
* @param value
* @param homeAccountId
*/
private matchHomeAccountId;
/**
* helper to match assertion
* @param value
* @param oboAssertion
*/
private matchOboAssertion;
/**
* helper to match environment
* @param value
* @param environment
*/
private matchEnvironment;
/**
* helper to match credential type
* @param entity
* @param credentialType
*/
private matchCredentialType;
/**
* helper to match client ids
* @param entity
* @param clientId
*/
private matchClientId;
/**
* helper to match family ids
* @param entity
* @param familyId
*/
private matchFamilyId;
/**
* helper to match realm
* @param entity
* @param realm
*/
private matchRealm;
/**
* Returns true if the target scopes are a subset of the current entity's scopes, false otherwise.
* @param entity
* @param target
*/
private matchTarget;
/**
* returns if a given cache entity is of the type appmetadata
* @param key
*/
private isAppMetadata;
/**
* returns if a given cache entity is of the type authoritymetadata
* @param key
*/
protected isAuthorityMetadata(key: string): boolean;
/**
* returns cache key used for cloud instance metadata
*/
generateAuthorityMetadataCacheKey(authority: string): string;
/**
* Returns the specific credential (IdToken/AccessToken/RefreshToken) from the cache
* @param key
* @param credType
*/
private getSpecificCredential;
/**
* Helper to convert serialized data to object
* @param obj
* @param json
*/
static toObject<T>(obj: T, json: object): T;
}
export declare class DefaultStorageClass extends CacheManager {
setAccount(): void;
getAccount(): AccountEntity;
setIdTokenCredential(): void;
getIdTokenCredential(): IdTokenEntity;
setAccessTokenCredential(): void;
getAccessTokenCredential(): AccessTokenEntity;
setRefreshTokenCredential(): void;
getRefreshTokenCredential(): RefreshTokenEntity;
setAppMetadata(): void;
getAppMetadata(): AppMetadataEntity;
setServerTelemetry(): void;
getServerTelemetry(): ServerTelemetryEntity;
setAuthorityMetadata(): void;
getAuthorityMetadata(): AuthorityMetadataEntity | null;
getAuthorityMetadataKeys(): Array<string>;
setThrottlingCache(): void;
getThrottlingCache(): ThrottlingEntity;
removeItem(): boolean;
containsKey(): boolean;
getKeys(): string[];
clear(): void;
}
//# sourceMappingURL=CacheManager.d.ts.map

File diff suppressed because one or more lines are too long

@ -0,0 +1,53 @@
import { CredentialEntity } from "./CredentialEntity";
/**
* ACCESS_TOKEN Credential Type
*
* Key:Value Schema:
*
* Key Example: uid.utid-login.microsoftonline.com-accesstoken-clientId-contoso.com-user.read
*
* Value Schema:
* {
* homeAccountId: home account identifier for the auth scheme,
* environment: entity that issued the token, represented as a full host
* credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
* clientId: client ID of the application
* secret: Actual credential as a string
* familyId: Family ID identifier, usually only used for refresh tokens
* realm: Full tenant or organizational identifier that the account belongs to
* target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
* cachedAt: Absolute device time when entry was created in the cache.
* expiresOn: Token expiry time, calculated based on current UTC time in seconds. Represented as a string.
* extendedExpiresOn: Additional extended expiry time until when token is valid in case of server-side outage. Represented as string in UTC seconds.
* keyId: used for POP and SSH tokenTypes
* tokenType: Type of the token issued. Usually "Bearer"
* }
*/
export declare class AccessTokenEntity extends CredentialEntity {
realm: string;
target: string;
cachedAt: string;
expiresOn: string;
extendedExpiresOn?: string;
refreshOn?: string;
keyId?: string;
tokenType?: string;
/**
* Create AccessTokenEntity
* @param homeAccountId
* @param environment
* @param accessToken
* @param clientId
* @param tenantId
* @param scopes
* @param expiresOn
* @param extExpiresOn
*/
static createAccessTokenEntity(homeAccountId: string, environment: string, accessToken: string, clientId: string, tenantId: string, scopes: string, expiresOn: number, extExpiresOn: number, tokenType?: string, oboAssertion?: string): AccessTokenEntity;
/**
* Validates an entity: checks for all expected params
* @param entity
*/
static isAccessTokenEntity(entity: object): boolean;
}
//# sourceMappingURL=AccessTokenEntity.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AccessTokenEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/AccessTokenEntity.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAKtD;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,qBAAa,iBAAkB,SAAQ,gBAAgB;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;;;;;;OAUG;IACH,MAAM,CAAC,uBAAuB,CAC1B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,GACtB,iBAAiB;IA2BpB;;;OAGG;IACH,MAAM,CAAC,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAiBtD"}

@ -0,0 +1,100 @@
import { Authority } from "../../authority/Authority";
import { AuthToken } from "../../account/AuthToken";
import { ICrypto } from "../../crypto/ICrypto";
import { AccountInfo } from "../../account/AccountInfo";
import { AuthorityType } from "../../authority/AuthorityType";
import { Logger } from "../../logger/Logger";
import { TokenClaims } from "../../account/TokenClaims";
/**
* Type that defines required and optional parameters for an Account field (based on universal cache schema implemented by all MSALs).
*
* Key : Value Schema
*
* Key: <home_account_id>-<environment>-<realm*>
*
* Value Schema:
* {
* homeAccountId: home account identifier for the auth scheme,
* environment: entity that issued the token, represented as a full host
* realm: Full tenant or organizational identifier that the account belongs to
* localAccountId: Original tenant-specific accountID, usually used for legacy cases
* username: primary username that represents the user, usually corresponds to preferred_username in the v2 endpt
* authorityType: Accounts authority type as a string
* name: Full name for the account, including given name and family name,
* clientInfo: Full base64 encoded client info received from ESTS
* lastModificationTime: last time this entity was modified in the cache
* lastModificationApp:
* oboAssertion: access token passed in as part of OBO request
* idTokenClaims: Object containing claims parsed from ID token
* }
*/
export declare class AccountEntity {
homeAccountId: string;
environment: string;
realm: string;
localAccountId: string;
username: string;
authorityType: string;
name?: string;
clientInfo?: string;
lastModificationTime?: string;
lastModificationApp?: string;
oboAssertion?: string;
cloudGraphHostName?: string;
msGraphHost?: string;
idTokenClaims?: TokenClaims;
/**
* Generate Account Id key component as per the schema: <home_account_id>-<environment>
*/
generateAccountId(): string;
/**
* Generate Account Cache Key as per the schema: <home_account_id>-<environment>-<realm*>
*/
generateAccountKey(): string;
/**
* returns the type of the cache (in this case account)
*/
generateType(): number;
/**
* Returns the AccountInfo interface for this account.
*/
getAccountInfo(): AccountInfo;
/**
* Generates account key from interface
* @param accountInterface
*/
static generateAccountCacheKey(accountInterface: AccountInfo): string;
/**
* Build Account cache from IdToken, clientInfo and authority/policy. Associated with AAD.
* @param clientInfo
* @param authority
* @param idToken
* @param policy
*/
static createAccount(clientInfo: string, homeAccountId: string, authority: Authority, idToken: AuthToken, oboAssertion?: string, cloudGraphHostName?: string, msGraphHost?: string): AccountEntity;
/**
* Builds non-AAD/ADFS account.
* @param authority
* @param idToken
*/
static createGenericAccount(authority: Authority, homeAccountId: string, idToken: AuthToken, oboAssertion?: string, cloudGraphHostName?: string, msGraphHost?: string): AccountEntity;
/**
* Generate HomeAccountId from server response
* @param serverClientInfo
* @param authType
*/
static generateHomeAccountId(serverClientInfo: string, authType: AuthorityType, logger: Logger, cryptoObj: ICrypto, idToken?: AuthToken): string;
/**
* Validates an entity: checks for all expected params
* @param entity
*/
static isAccountEntity(entity: object): boolean;
/**
* Helper function to determine whether 2 accounts are equal
* Used to avoid unnecessary state updates
* @param arrayA
* @param arrayB
*/
static accountInfoIsEqual(accountA: AccountInfo | null, accountB: AccountInfo | null): boolean;
}
//# sourceMappingURL=AccountEntity.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AccountEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/AccountEntity.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAExD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,aAAa;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,WAAW,CAAC;IAE5B;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAK3B;;OAEG;IACH,kBAAkB,IAAI,MAAM;IAU5B;;OAEG;IACH,YAAY,IAAI,MAAM;IAgBtB;;OAEG;IACH,cAAc,IAAI,WAAW;IAY7B;;;OAGG;IACH,MAAM,CAAC,uBAAuB,CAAC,gBAAgB,EAAE,WAAW,GAAG,MAAM;IAUrE;;;;;;OAMG;IACH,MAAM,CAAC,aAAa,CAChB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,SAAS,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,MAAM,GACrB,aAAa;IAqChB;;;;OAIG;IACH,MAAM,CAAC,oBAAoB,CACvB,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,MAAM,EACrB,OAAO,EAAE,SAAS,EAClB,YAAY,CAAC,EAAE,MAAM,EACrB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,WAAW,CAAC,EAAE,MAAM,GACrB,aAAa;IAqChB;;;;OAIG;IACH,MAAM,CAAC,qBAAqB,CAAC,gBAAgB,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,SAAS,GAAG,MAAM;IAsBhJ;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAgB/C;;;;;OAKG;IACH,MAAM,CAAC,kBAAkB,CAAC,QAAQ,EAAE,WAAW,GAAG,IAAI,EAAE,QAAQ,EAAE,WAAW,GAAG,IAAI,GAAG,OAAO;CAUjG"}

@ -0,0 +1,40 @@
/**
* APP_METADATA Cache
*
* Key:Value Schema:
*
* Key: appmetadata-<environment>-<client_id>
*
* Value:
* {
* clientId: client ID of the application
* environment: entity that issued the token, represented as a full host
* familyId: Family ID identifier, '1' represents Microsoft Family
* }
*/
export declare class AppMetadataEntity {
clientId: string;
environment: string;
familyId?: string;
/**
* Generate AppMetadata Cache Key as per the schema: appmetadata-<environment>-<client_id>
*/
generateAppMetadataKey(): string;
/**
* Generate AppMetadata Cache Key
*/
static generateAppMetadataCacheKey(environment: string, clientId: string): string;
/**
* Creates AppMetadataEntity
* @param clientId
* @param environment
* @param familyId
*/
static createAppMetadataEntity(clientId: string, environment: string, familyId?: string): AppMetadataEntity;
/**
* Validates an entity: checks for all expected params
* @param entity
*/
static isAppMetadataEntity(key: string, entity: object): boolean;
}
//# sourceMappingURL=AppMetadataEntity.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AppMetadataEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/AppMetadataEntity.ts"],"names":[],"mappings":"AAOA;;;;;;;;;;;;;GAaG;AACH,qBAAa,iBAAiB;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,sBAAsB,IAAI,MAAM;IAIhC;;OAEG;IACH,MAAM,CAAC,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IASjF;;;;;OAKG;IACH,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB;IAY3G;;;OAGG;IACH,MAAM,CAAC,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;CAYnE"}

@ -0,0 +1,47 @@
import { CloudDiscoveryMetadata } from "../../authority/CloudDiscoveryMetadata";
import { OpenIdConfigResponse } from "../../authority/OpenIdConfigResponse";
export declare class AuthorityMetadataEntity {
aliases: Array<string>;
preferred_cache: string;
preferred_network: string;
canonical_authority: string;
authorization_endpoint: string;
token_endpoint: string;
end_session_endpoint: string;
issuer: string;
aliasesFromNetwork: boolean;
endpointsFromNetwork: boolean;
expiresAt: number;
constructor();
/**
* Update the entity with new aliases, preferred_cache and preferred_network values
* @param metadata
* @param fromNetwork
*/
updateCloudDiscoveryMetadata(metadata: CloudDiscoveryMetadata, fromNetwork: boolean): void;
/**
* Update the entity with new endpoints
* @param metadata
* @param fromNetwork
*/
updateEndpointMetadata(metadata: OpenIdConfigResponse, fromNetwork: boolean): void;
/**
* Save the authority that was used to create this cache entry
* @param authority
*/
updateCanonicalAuthority(authority: string): void;
/**
* Reset the exiresAt value
*/
resetExpiresAt(): void;
/**
* Returns whether or not the data needs to be refreshed
*/
isExpired(): boolean;
/**
* Validates an entity: checks for all expected params
* @param entity
*/
static isAuthorityMetadataEntity(key: string, entity: object): boolean;
}
//# sourceMappingURL=AuthorityMetadataEntity.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AuthorityMetadataEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/AuthorityMetadataEntity.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,sBAAsB,EAAE,MAAM,wCAAwC,CAAC;AAChF,OAAO,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAI5E,qBAAa,uBAAuB;IAChC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,sBAAsB,EAAE,MAAM,CAAC;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,kBAAkB,EAAE,OAAO,CAAC;IAC5B,oBAAoB,EAAE,OAAO,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;;IAMlB;;;;OAIG;IACH,4BAA4B,CAAC,QAAQ,EAAE,sBAAsB,EAAE,WAAW,EAAE,OAAO;IAOnF;;;;OAIG;IACH,sBAAsB,CAAC,QAAQ,EAAE,oBAAoB,EAAE,WAAW,EAAE,OAAO;IAQ3E;;;OAGG;IACH,wBAAwB,CAAC,SAAS,EAAE,MAAM;IAI1C;;OAEG;IACH,cAAc;IAId;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;;OAGG;IACH,MAAM,CAAC,yBAAyB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;CAqBzE"}

@ -0,0 +1,14 @@
import { IdTokenEntity } from "./IdTokenEntity";
import { AccessTokenEntity } from "./AccessTokenEntity";
import { RefreshTokenEntity } from "./RefreshTokenEntity";
import { AccountEntity } from "./AccountEntity";
import { AppMetadataEntity } from "./AppMetadataEntity";
export declare class CacheRecord {
account: AccountEntity | null;
idToken: IdTokenEntity | null;
accessToken: AccessTokenEntity | null;
refreshToken: RefreshTokenEntity | null;
appMetadata: AppMetadataEntity | null;
constructor(accountEntity?: AccountEntity | null, idTokenEntity?: IdTokenEntity | null, accessTokenEntity?: AccessTokenEntity | null, refreshTokenEntity?: RefreshTokenEntity | null, appMetadataEntity?: AppMetadataEntity | null);
}
//# sourceMappingURL=CacheRecord.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"CacheRecord.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/CacheRecord.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD,qBAAa,WAAW;IACpB,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,OAAO,EAAE,aAAa,GAAG,IAAI,CAAC;IAC9B,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;IACtC,YAAY,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACxC,WAAW,EAAE,iBAAiB,GAAG,IAAI,CAAC;gBAE1B,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,EAAE,aAAa,CAAC,EAAE,aAAa,GAAG,IAAI,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI,EAAE,kBAAkB,CAAC,EAAE,kBAAkB,GAAG,IAAI,EAAE,iBAAiB,CAAC,EAAE,iBAAiB,GAAG,IAAI;CAOrO"}

@ -0,0 +1,80 @@
import { CredentialType } from "../../utils/Constants";
/**
* Base type for credentials to be stored in the cache: eg: ACCESS_TOKEN, ID_TOKEN etc
*
* Key:Value Schema:
*
* Key: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>
*
* Value Schema:
* {
* homeAccountId: home account identifier for the auth scheme,
* environment: entity that issued the token, represented as a full host
* credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
* clientId: client ID of the application
* secret: Actual credential as a string
* familyId: Family ID identifier, usually only used for refresh tokens
* realm: Full tenant or organizational identifier that the account belongs to
* target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
* oboAssertion: access token passed in as part of OBO request
* }
*/
export declare class CredentialEntity {
homeAccountId: string;
environment: string;
credentialType: CredentialType;
clientId: string;
secret: string;
familyId?: string;
realm?: string;
target?: string;
oboAssertion?: string;
/**
* Generate Account Id key component as per the schema: <home_account_id>-<environment>
*/
generateAccountId(): string;
/**
* Generate Credential Id key component as per the schema: <credential_type>-<client_id>-<realm>
*/
generateCredentialId(): string;
/**
* Generate target key component as per schema: <target>
*/
generateTarget(): string;
/**
* generates credential key
*/
generateCredentialKey(): string;
/**
* returns the type of the cache (in this case credential)
*/
generateType(): number;
/**
* helper function to return `CredentialType`
* @param key
*/
static getCredentialType(key: string): string;
/**
* generates credential key
*/
static generateCredentialCacheKey(homeAccountId: string, environment: string, credentialType: CredentialType, clientId: string, realm?: string, target?: string, familyId?: string): string;
/**
* generates Account Id for keys
* @param homeAccountId
* @param environment
*/
private static generateAccountIdForCacheKey;
/**
* Generates Credential Id for keys
* @param credentialType
* @param realm
* @param clientId
* @param familyId
*/
private static generateCredentialIdForCacheKey;
/**
* Generate target key component as per schema: <target>
*/
private static generateTargetForCacheKey;
}
//# sourceMappingURL=CredentialEntity.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"CredentialEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/CredentialEntity.ts"],"names":[],"mappings":"AAKA,OAAO,EAAc,cAAc,EAAwB,MAAM,uBAAuB,CAAC;AAGzF;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,gBAAgB;IACzB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,cAAc,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB;;OAEG;IACH,iBAAiB,IAAI,MAAM;IAI3B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAS9B;;OAEG;IACH,cAAc,IAAI,MAAM;IAIxB;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAY/B;;OAEG;IACH,YAAY,IAAI,MAAM;IActB;;;OAGG;IACH,MAAM,CAAC,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM;IAY7C;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAC7B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,cAAc,EAC9B,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,EACf,QAAQ,CAAC,EAAE,MAAM,GAClB,MAAM;IAUT;;;;OAIG;IACH,OAAO,CAAC,MAAM,CAAC,4BAA4B;IAQ3C;;;;;;OAMG;IACH,OAAO,CAAC,MAAM,CAAC,+BAA+B;IAmB9C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,yBAAyB;CAG3C"}

@ -0,0 +1,35 @@
import { CredentialEntity } from "./CredentialEntity";
/**
* ID_TOKEN Cache
*
* Key:Value Schema:
*
* Key Example: uid.utid-login.microsoftonline.com-idtoken-clientId-contoso.com-
*
* Value Schema:
* {
* homeAccountId: home account identifier for the auth scheme,
* environment: entity that issued the token, represented as a full host
* credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
* clientId: client ID of the application
* secret: Actual credential as a string
* realm: Full tenant or organizational identifier that the account belongs to
* }
*/
export declare class IdTokenEntity extends CredentialEntity {
realm: string;
/**
* Create IdTokenEntity
* @param homeAccountId
* @param authenticationResult
* @param clientId
* @param authority
*/
static createIdTokenEntity(homeAccountId: string, environment: string, idToken: string, clientId: string, tenantId: string, oboAssertion?: string): IdTokenEntity;
/**
* Validates an entity: checks for all expected params
* @param entity
*/
static isIdTokenEntity(entity: object): boolean;
}
//# sourceMappingURL=IdTokenEntity.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"IdTokenEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/IdTokenEntity.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;;;;;;;;;;;;;;;GAgBG;AACH,qBAAa,aAAc,SAAQ,gBAAgB;IAC/C,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;OAMG;IACH,MAAM,CAAC,mBAAmB,CACtB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,GACtB,aAAa;IAchB;;;OAGG;IACH,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAgBlD"}

@ -0,0 +1,37 @@
import { CredentialEntity } from "./CredentialEntity";
/**
* REFRESH_TOKEN Cache
*
* Key:Value Schema:
*
* Key Example: uid.utid-login.microsoftonline.com-refreshtoken-clientId--
*
* Value:
* {
* homeAccountId: home account identifier for the auth scheme,
* environment: entity that issued the token, represented as a full host
* credentialType: Type of credential as a string, can be one of the following: RefreshToken, AccessToken, IdToken, Password, Cookie, Certificate, Other
* clientId: client ID of the application
* secret: Actual credential as a string
* familyId: Family ID identifier, '1' represents Microsoft Family
* realm: Full tenant or organizational identifier that the account belongs to
* target: Permissions that are included in the token, or for refresh tokens, the resource identifier.
* }
*/
export declare class RefreshTokenEntity extends CredentialEntity {
familyId?: string;
/**
* Create RefreshTokenEntity
* @param homeAccountId
* @param authenticationResult
* @param clientId
* @param authority
*/
static createRefreshTokenEntity(homeAccountId: string, environment: string, refreshToken: string, clientId: string, familyId?: string, oboAssertion?: string): RefreshTokenEntity;
/**
* Validates an entity: checks for all expected params
* @param entity
*/
static isRefreshTokenEntity(entity: object): boolean;
}
//# sourceMappingURL=RefreshTokenEntity.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"RefreshTokenEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/RefreshTokenEntity.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAGtD;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,kBAAmB,SAAQ,gBAAgB;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;OAMG;IACH,MAAM,CAAC,wBAAwB,CAC3B,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE,MAAM,EACnB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,MAAM,GACtB,kBAAkB;IAgBrB;;;OAGG;IACH,MAAM,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAevD"}

@ -0,0 +1,13 @@
export declare class ServerTelemetryEntity {
failedRequests: Array<string | number>;
errors: string[];
cacheHits: number;
constructor();
/**
* validates if a given cache entry is "Telemetry", parses <key,value>
* @param key
* @param entity
*/
static isServerTelemetryEntity(key: string, entity?: object): boolean;
}
//# sourceMappingURL=ServerTelemetryEntity.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ServerTelemetryEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/ServerTelemetryEntity.ts"],"names":[],"mappings":"AAOA,qBAAa,qBAAqB;IAC9B,cAAc,EAAE,KAAK,CAAC,MAAM,GAAC,MAAM,CAAC,CAAC;IACrC,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;;IAQlB;;;;OAIG;IACH,MAAM,CAAC,uBAAuB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;CAcxE"}

@ -0,0 +1,14 @@
export declare class ThrottlingEntity {
throttleTime: number;
error?: string;
errorCodes?: Array<string>;
errorMessage?: string;
subError?: string;
/**
* validates if a given cache entry is "Throttling", parses <key,value>
* @param key
* @param entity
*/
static isThrottlingEntity(key: string, entity?: object): boolean;
}
//# sourceMappingURL=ThrottlingEntity.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ThrottlingEntity.d.ts","sourceRoot":"","sources":["../../../src/cache/entities/ThrottlingEntity.ts"],"names":[],"mappings":"AAOA,qBAAa,gBAAgB;IAEzB,YAAY,EAAE,MAAM,CAAC;IAErB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;OAIG;IACH,MAAM,CAAC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO;CAcnE"}

@ -0,0 +1,157 @@
import { CredentialEntity } from "../entities/CredentialEntity";
import { AccountCache, CredentialCache, AccountFilter, CredentialFilter } from "../utils/CacheTypes";
import { CacheRecord } from "../entities/CacheRecord";
import { AccountEntity } from "../entities/AccountEntity";
import { AccountInfo } from "../../account/AccountInfo";
import { AppMetadataEntity } from "../entities/AppMetadataEntity";
import { ServerTelemetryEntity } from "../entities/ServerTelemetryEntity";
import { ThrottlingEntity } from "../entities/ThrottlingEntity";
import { IdTokenEntity } from "../entities/IdTokenEntity";
import { AccessTokenEntity } from "../entities/AccessTokenEntity";
import { RefreshTokenEntity } from "../entities/RefreshTokenEntity";
import { AuthorityMetadataEntity } from "../entities/AuthorityMetadataEntity";
export interface ICacheManager {
/**
* fetch the account entity from the platform cache
* @param accountKey
*/
getAccount(accountKey: string): AccountEntity | null;
/**
* set account entity in the platform cache
* @param account
*/
setAccount(account: AccountEntity): void;
/**
* fetch the idToken entity from the platform cache
* @param idTokenKey
*/
getIdTokenCredential(idTokenKey: string): IdTokenEntity | null;
/**
* set idToken entity to the platform cache
* @param idToken
*/
setIdTokenCredential(idToken: IdTokenEntity): void;
/**
* fetch the idToken entity from the platform cache
* @param accessTokenKey
*/
getAccessTokenCredential(accessTokenKey: string): AccessTokenEntity | null;
/**
* set idToken entity to the platform cache
* @param accessToken
*/
setAccessTokenCredential(accessToken: AccessTokenEntity): void;
/**
* fetch the idToken entity from the platform cache
* @param refreshTokenKey
*/
getRefreshTokenCredential(refreshTokenKey: string): RefreshTokenEntity | null;
/**
* set idToken entity to the platform cache
* @param refreshToken
*/
setRefreshTokenCredential(refreshToken: RefreshTokenEntity): void;
/**
* fetch appMetadata entity from the platform cache
* @param appMetadataKey
*/
getAppMetadata(appMetadataKey: string): AppMetadataEntity | null;
/**
* set appMetadata entity to the platform cache
* @param appMetadata
*/
setAppMetadata(appMetadata: AppMetadataEntity): void;
/**
* fetch server telemetry entity from the platform cache
* @param serverTelemetryKey
*/
getServerTelemetry(serverTelemetryKey: string): ServerTelemetryEntity | null;
/**
* set server telemetry entity to the platform cache
* @param serverTelemetryKey
* @param serverTelemetry
*/
setServerTelemetry(serverTelemetryKey: string, serverTelemetry: ServerTelemetryEntity): void;
/**
* fetch cloud discovery metadata entity from the platform cache
* @param key
*/
getAuthorityMetadata(key: string): AuthorityMetadataEntity | null;
/**
* Get cache keys for authority metadata
*/
getAuthorityMetadataKeys(): Array<string>;
/**
* set cloud discovery metadata entity to the platform cache
* @param key
* @param value
*/
setAuthorityMetadata(key: string, value: AuthorityMetadataEntity): void;
/**
* Provide an alias to find a matching AuthorityMetadataEntity in cache
* @param host
*/
getAuthorityMetadataByAlias(host: string): AuthorityMetadataEntity | null;
/**
* given an authority generates the cache key for authorityMetadata
* @param authority
*/
generateAuthorityMetadataCacheKey(authority: string): string;
/**
* fetch throttling entity from the platform cache
* @param throttlingCacheKey
*/
getThrottlingCache(throttlingCacheKey: string): ThrottlingEntity | null;
/**
* set throttling entity to the platform cache
* @param throttlingCacheKey
* @param throttlingCache
*/
setThrottlingCache(throttlingCacheKey: string, throttlingCache: ThrottlingEntity): void;
/**
* Returns all accounts in cache
*/
getAllAccounts(): AccountInfo[];
/**
* saves a cache record
* @param cacheRecord
*/
saveCacheRecord(cacheRecord: CacheRecord): void;
/**
* retrieve accounts matching all provided filters; if no filter is set, get all accounts
* @param homeAccountId
* @param environment
* @param realm
*/
getAccountsFilteredBy(filter: AccountFilter): AccountCache;
/**
* retrieve credentials matching all provided filters; if no filter is set, get all credentials
* @param homeAccountId
* @param environment
* @param credentialType
* @param clientId
* @param realm
* @param target
*/
getCredentialsFilteredBy(filter: CredentialFilter): CredentialCache;
/**
* Removes all accounts and related tokens from cache.
*/
removeAllAccounts(): boolean;
/**
* returns a boolean if the given account is removed
* @param account
*/
removeAccount(accountKey: string): boolean;
/**
* returns a boolean if the given account is removed
* @param account
*/
removeAccountContext(account: AccountEntity): boolean;
/**
* returns a boolean if the given credential is removed
* @param credential
*/
removeCredential(credential: CredentialEntity): boolean;
}
//# sourceMappingURL=ICacheManager.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ICacheManager.d.ts","sourceRoot":"","sources":["../../../src/cache/interface/ICacheManager.ts"],"names":[],"mappings":"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"}

@ -0,0 +1,6 @@
import { TokenCacheContext } from "../persistence/TokenCacheContext";
export interface ICachePlugin {
beforeCacheAccess: (tokenCacheContext: TokenCacheContext) => Promise<void>;
afterCacheAccess: (tokenCacheContext: TokenCacheContext) => Promise<void>;
}
//# sourceMappingURL=ICachePlugin.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ICachePlugin.d.ts","sourceRoot":"","sources":["../../../src/cache/interface/ICachePlugin.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,MAAM,WAAW,YAAY;IACzB,iBAAiB,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,gBAAgB,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAC7E"}

@ -0,0 +1,5 @@
export interface ISerializableTokenCache {
deserialize: (cache: string) => void;
serialize: () => string;
}
//# sourceMappingURL=ISerializableTokenCache.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ISerializableTokenCache.d.ts","sourceRoot":"","sources":["../../../src/cache/interface/ISerializableTokenCache.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,uBAAuB;IACpC,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,SAAS,EAAE,MAAM,MAAM,CAAC;CAC3B"}

@ -0,0 +1,24 @@
import { ISerializableTokenCache } from "../interface/ISerializableTokenCache";
/**
* This class instance helps track the memory changes facilitating
* decisions to read from and write to the persistent cache
*/ export declare class TokenCacheContext {
/**
* boolean indicating cache change
*/
hasChanged: boolean;
/**
* serializable token cache interface
*/
cache: ISerializableTokenCache;
constructor(tokenCache: ISerializableTokenCache, hasChanged: boolean);
/**
* boolean which indicates the changes in cache
*/
get cacheHasChanged(): boolean;
/**
* function to retrieve the token cache
*/
get tokenCache(): ISerializableTokenCache;
}
//# sourceMappingURL=TokenCacheContext.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"TokenCacheContext.d.ts","sourceRoot":"","sources":["../../../src/cache/persistence/TokenCacheContext.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E;;;GAGG,CAAA,qBAAa,iBAAiB;IAC7B;;OAEG;IACH,UAAU,EAAE,OAAO,CAAC;IACpB;;OAEG;IACH,KAAK,EAAE,uBAAuB,CAAC;gBAEnB,UAAU,EAAE,uBAAuB,EAAE,UAAU,EAAE,OAAO;IAKpE;;OAEG;IACH,IAAI,eAAe,IAAI,OAAO,CAE7B;IAED;;OAEG;IACH,IAAI,UAAU,IAAI,uBAAuB,CAExC;CACJ"}

@ -0,0 +1,55 @@
import { AccountEntity } from "../entities/AccountEntity";
import { IdTokenEntity } from "../entities/IdTokenEntity";
import { AccessTokenEntity } from "../entities/AccessTokenEntity";
import { RefreshTokenEntity } from "../entities/RefreshTokenEntity";
import { AppMetadataEntity } from "../entities/AppMetadataEntity";
import { ServerTelemetryEntity } from "../entities/ServerTelemetryEntity";
import { ThrottlingEntity } from "../entities/ThrottlingEntity";
import { AuthorityMetadataEntity } from "../entities/AuthorityMetadataEntity";
export declare type AccountCache = Record<string, AccountEntity>;
export declare type IdTokenCache = Record<string, IdTokenEntity>;
export declare type AccessTokenCache = Record<string, AccessTokenEntity>;
export declare type RefreshTokenCache = Record<string, RefreshTokenEntity>;
export declare type AppMetadataCache = Record<string, AppMetadataEntity>;
export declare type CredentialCache = {
idTokens: IdTokenCache;
accessTokens: AccessTokenCache;
refreshTokens: RefreshTokenCache;
};
/**
* Object type of all accepted cache types
*/
export declare type ValidCacheType = AccountEntity | IdTokenEntity | AccessTokenEntity | RefreshTokenEntity | AppMetadataEntity | AuthorityMetadataEntity | ServerTelemetryEntity | ThrottlingEntity | string;
/**
* Object type of all credential types
*/
export declare type ValidCredentialType = IdTokenEntity | AccessTokenEntity | RefreshTokenEntity;
/**
* Account: <home_account_id>-<environment>-<realm*>
*/
export declare type AccountFilter = {
homeAccountId?: string;
environment?: string;
realm?: string;
};
/**
* Credential: <home_account_id*>-<environment>-<credential_type>-<client_id>-<realm*>-<target*>
*/
export declare type CredentialFilter = {
homeAccountId?: string;
environment?: string;
credentialType?: string;
clientId?: string;
familyId?: string;
realm?: string;
target?: string;
oboAssertion?: string;
};
/**
* AppMetadata: appmetadata-<environment>-<client_id>
*/
export declare type AppMetadataFilter = {
environment?: string;
clientId?: string;
};
//# sourceMappingURL=CacheTypes.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"CacheTypes.d.ts","sourceRoot":"","sources":["../../../src/cache/utils/CacheTypes.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAChE,OAAO,EAAE,uBAAuB,EAAE,MAAM,qCAAqC,CAAC;AAE9E,oBAAY,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACzD,oBAAY,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AACzD,oBAAY,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACjE,oBAAY,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;AACnE,oBAAY,gBAAgB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;AACjE,oBAAY,eAAe,GAAG;IAC1B,QAAQ,EAAE,YAAY,CAAC;IACvB,YAAY,EAAE,gBAAgB,CAAC;IAC/B,aAAa,EAAE,iBAAiB,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,oBAAY,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,iBAAiB,GAAG,kBAAkB,GAAG,iBAAiB,GAAG,uBAAuB,GAAG,qBAAqB,GAAG,gBAAgB,GAAG,MAAM,CAAC;AAEtM;;GAEG;AACH,oBAAY,mBAAmB,GAAG,aAAa,GAAG,iBAAiB,GAAG,kBAAkB,CAAC;AAEzF;;GAEG;AACH,oBAAY,aAAa,GAAG;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF;;GAEG;AACH,oBAAY,gBAAgB,GAAG;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF;;GAEG;AACH,oBAAY,iBAAiB,GAAG;IAC5B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC"}

@ -0,0 +1,64 @@
import { BaseClient } from "./BaseClient";
import { CommonAuthorizationUrlRequest } from "../request/CommonAuthorizationUrlRequest";
import { CommonAuthorizationCodeRequest } from "../request/CommonAuthorizationCodeRequest";
import { ClientConfiguration } from "../config/ClientConfiguration";
import { AuthenticationResult } from "../response/AuthenticationResult";
import { CommonEndSessionRequest } from "../request/CommonEndSessionRequest";
import { AuthorizationCodePayload } from "../response/AuthorizationCodePayload";
/**
* Oauth2.0 Authorization Code client
*/
export declare class AuthorizationCodeClient extends BaseClient {
constructor(configuration: ClientConfiguration);
/**
* Creates the URL of the authorization request letting the user input credentials and consent to the
* application. The URL target the /authorize endpoint of the authority configured in the
* application object.
*
* Once the user inputs their credentials and consents, the authority will send a response to the redirect URI
* sent in the request and should contain an authorization code, which can then be used to acquire tokens via
* acquireToken(AuthorizationCodeRequest)
* @param request
*/
getAuthCodeUrl(request: CommonAuthorizationUrlRequest): Promise<string>;
/**
* API to acquire a token in exchange of 'authorization_code` acquired by the user in the first leg of the
* authorization_code_grant
* @param request
*/
acquireToken(request: CommonAuthorizationCodeRequest, authCodePayload?: AuthorizationCodePayload): Promise<AuthenticationResult>;
/**
* Handles the hash fragment response from public client code request. Returns a code response used by
* the client to exchange for a token in acquireToken.
* @param hashFragment
*/
handleFragmentResponse(hashFragment: string, cachedState: string): AuthorizationCodePayload;
/**
* Use to log out the current user, and redirect the user to the postLogoutRedirectUri.
* Default behaviour is to redirect the user to `window.location.href`.
* @param authorityUri
*/
getLogoutUri(logoutRequest: CommonEndSessionRequest): string;
/**
* Executes POST request to token endpoint
* @param authority
* @param request
*/
private executeTokenRequest;
/**
* Generates a map for all the params to be sent to the service
* @param request
*/
private createTokenRequestBody;
/**
* This API validates the `AuthorizationCodeUrlRequest` and creates a URL
* @param request
*/
private createAuthCodeUrlQueryString;
/**
* This API validates the `EndSessionRequest` and creates a URL
* @param request
*/
private createLogoutUrlQueryString;
}
//# sourceMappingURL=AuthorizationCodeClient.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AuthorizationCodeClient.d.ts","sourceRoot":"","sources":["../../src/client/AuthorizationCodeClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,8BAA8B,EAAE,MAAM,2CAA2C,CAAC;AAI3F,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAIpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAMxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAI7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,sCAAsC,CAAC;AAGhF;;GAEG;AACH,qBAAa,uBAAwB,SAAQ,UAAU;gBAEvC,aAAa,EAAE,mBAAmB;IAI9C;;;;;;;;;OASG;IACG,cAAc,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,MAAM,CAAC;IAK7E;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,8BAA8B,EAAE,eAAe,CAAC,EAAE,wBAAwB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuBtI;;;;OAIG;IACH,sBAAsB,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,wBAAwB;IAwB3F;;;;OAIG;IACH,YAAY,CAAC,aAAa,EAAE,uBAAuB,GAAG,MAAM;IAoB5D;;;;OAIG;YACW,mBAAmB;IAajC;;;OAGG;YACW,sBAAsB;IAgDpC;;;OAGG;IACH,OAAO,CAAC,4BAA4B;IAmEpC;;;OAGG;IACH,OAAO,CAAC,0BAA0B;CAiBrC"}

@ -0,0 +1,46 @@
import { ClientConfiguration, CommonClientConfiguration } from "../config/ClientConfiguration";
import { INetworkModule } from "../network/INetworkModule";
import { NetworkManager, NetworkResponse } from "../network/NetworkManager";
import { ICrypto } from "../crypto/ICrypto";
import { Authority } from "../authority/Authority";
import { Logger } from "../logger/Logger";
import { ServerAuthorizationTokenResponse } from "../response/ServerAuthorizationTokenResponse";
import { CacheManager } from "../cache/CacheManager";
import { ServerTelemetryManager } from "../telemetry/server/ServerTelemetryManager";
import { RequestThumbprint } from "../network/RequestThumbprint";
/**
* Base application class which will construct requests to send to and handle responses from the Microsoft STS using the authorization code flow.
*/
export declare abstract class BaseClient {
logger: Logger;
protected config: CommonClientConfiguration;
protected cryptoUtils: ICrypto;
protected cacheManager: CacheManager;
protected networkClient: INetworkModule;
protected serverTelemetryManager: ServerTelemetryManager | null;
protected networkManager: NetworkManager;
authority: Authority;
protected constructor(configuration: ClientConfiguration);
/**
* Creates default headers for requests to token endpoint
*/
protected createDefaultTokenRequestHeaders(): Record<string, string>;
/**
* addLibraryData
*/
protected createDefaultLibraryHeaders(): Record<string, string>;
/**
* Http post to token endpoint
* @param tokenEndpoint
* @param queryString
* @param headers
* @param thumbprint
*/
protected executePostToTokenEndpoint(tokenEndpoint: string, queryString: string, headers: Record<string, string>, thumbprint: RequestThumbprint): Promise<NetworkResponse<ServerAuthorizationTokenResponse>>;
/**
* Updates the authority object of the client. Endpoint discovery must be completed.
* @param updatedAuthority
*/
updateAuthority(updatedAuthority: Authority): void;
}
//# sourceMappingURL=BaseClient.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"BaseClient.d.ts","sourceRoot":"","sources":["../../src/client/BaseClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAA4B,yBAAyB,EAAE,MAAM,+BAA+B,CAAC;AACzH,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,gCAAgC,EAAE,MAAM,8CAA8C,CAAC;AAChG,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAIjE;;GAEG;AACH,8BAAsB,UAAU;IAErB,MAAM,EAAE,MAAM,CAAC;IAGtB,SAAS,CAAC,MAAM,EAAE,yBAAyB,CAAC;IAG5C,SAAS,CAAC,WAAW,EAAE,OAAO,CAAC;IAG/B,SAAS,CAAC,YAAY,EAAE,YAAY,CAAC;IAGrC,SAAS,CAAC,aAAa,EAAE,cAAc,CAAC;IAGxC,SAAS,CAAC,sBAAsB,EAAE,sBAAsB,GAAG,IAAI,CAAC;IAGhE,SAAS,CAAC,cAAc,EAAE,cAAc,CAAC;IAGlC,SAAS,EAAE,SAAS,CAAC;IAE5B,SAAS,aAAa,aAAa,EAAE,mBAAmB;IA0BxD;;OAEG;IACH,SAAS,CAAC,gCAAgC,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAapE;;OAEG;IACH,SAAS,CAAC,2BAA2B,IAAI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC;IAY/D;;;;;;OAMG;cACa,0BAA0B,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,UAAU,EAAE,iBAAiB,GAAG,OAAO,CAAC,eAAe,CAAC,gCAAgC,CAAC,CAAC;IAelN;;;OAGG;IACH,eAAe,CAAC,gBAAgB,EAAE,SAAS,GAAG,IAAI;CAMrD"}

@ -0,0 +1,37 @@
import { ClientConfiguration } from "../config/ClientConfiguration";
import { BaseClient } from "./BaseClient";
import { AuthenticationResult } from "../response/AuthenticationResult";
import { CommonClientCredentialRequest } from "../request/CommonClientCredentialRequest";
/**
* OAuth2.0 client credential grant
*/
export declare class ClientCredentialClient extends BaseClient {
private scopeSet;
constructor(configuration: ClientConfiguration);
/**
* Public API to acquire a token with ClientCredential Flow for Confidential clients
* @param request
*/
acquireToken(request: CommonClientCredentialRequest): Promise<AuthenticationResult | null>;
/**
* looks up cache if the tokens are cached already
*/
private getCachedAuthenticationResult;
/**
* Reads access token from the cache
* TODO: Move this call to cacheManager instead
*/
private readAccessTokenFromCache;
/**
* Makes a network call to request the token from the service
* @param request
* @param authority
*/
private executeTokenRequest;
/**
* generate the request to the server in the acceptable format
* @param request
*/
private createTokenRequestBody;
}
//# sourceMappingURL=ClientCredentialClient.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ClientCredentialClient.d.ts","sourceRoot":"","sources":["../../src/client/ClientCredentialClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AAQzF;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,UAAU;IAElD,OAAO,CAAC,QAAQ,CAAW;gBAEf,aAAa,EAAE,mBAAmB;IAI9C;;;OAGG;IACU,YAAY,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAgBvG;;OAEG;YACW,6BAA6B;IAqB3C;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAmBhC;;;;OAIG;YACW,mBAAmB;IAqCjC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CA4BjC"}

@ -0,0 +1,46 @@
import { BaseClient } from "./BaseClient";
import { CommonDeviceCodeRequest } from "../request/CommonDeviceCodeRequest";
import { ClientConfiguration } from "../config/ClientConfiguration";
import { AuthenticationResult } from "../response/AuthenticationResult";
/**
* OAuth2.0 Device code client
*/
export declare class DeviceCodeClient extends BaseClient {
constructor(configuration: ClientConfiguration);
/**
* Gets device code from device code endpoint, calls back to with device code response, and
* polls token endpoint to exchange device code for tokens
* @param request
*/
acquireToken(request: CommonDeviceCodeRequest): Promise<AuthenticationResult | null>;
/**
* Creates device code request and executes http GET
* @param request
*/
private getDeviceCode;
/**
* Executes POST request to device code endpoint
* @param deviceCodeEndpoint
* @param queryString
* @param headers
*/
private executePostRequestToDeviceCodeEndpoint;
/**
* Create device code endpoint query parameters and returns string
*/
private createQueryString;
/**
* Creates token request with device code response and polls token endpoint at interval set by the device code
* response
* @param request
* @param deviceCodeResponse
*/
private acquireTokenWithDeviceCode;
/**
* Creates query parameters and converts to string.
* @param request
* @param deviceCodeResponse
*/
private createTokenRequestBody;
}
//# sourceMappingURL=DeviceCodeClient.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"DeviceCodeClient.d.ts","sourceRoot":"","sources":["../../src/client/DeviceCodeClient.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAI7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AAIpE,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAIxE;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;gBAEhC,aAAa,EAAE,mBAAmB;IAI9C;;;;OAIG;IACU,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IA4BjG;;;OAGG;YACW,aAAa;IAY3B;;;;;OAKG;YACW,sCAAsC;IAiCpD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAczB;;;;;OAKG;YACW,0BAA0B;IAqExC;;;;OAIG;IACH,OAAO,CAAC,sBAAsB;CAiBjC"}

@ -0,0 +1,48 @@
import { ClientConfiguration } from "../config/ClientConfiguration";
import { BaseClient } from "./BaseClient";
import { AuthenticationResult } from "../response/AuthenticationResult";
import { CommonOnBehalfOfRequest } from "../request/CommonOnBehalfOfRequest";
/**
* On-Behalf-Of client
*/
export declare class OnBehalfOfClient extends BaseClient {
private scopeSet;
constructor(configuration: ClientConfiguration);
/**
* Public API to acquire tokens with on behalf of flow
* @param request
*/
acquireToken(request: CommonOnBehalfOfRequest): Promise<AuthenticationResult | null>;
/**
* look up cache for tokens
* @param request
*/
private getCachedAuthenticationResult;
/**
* read access token from cache TODO: CacheManager API should be used here
* @param request
*/
private readAccessTokenFromCache;
/**
* read idtoken from cache TODO: CacheManager API should be used here instead
* @param request
*/
private readIdTokenFromCache;
/**
* read account from cache, TODO: CacheManager API should be used here instead
* @param account
*/
private readAccountFromCache;
/**
* Make a network call to the server requesting credentials
* @param request
* @param authority
*/
private executeTokenRequest;
/**
* generate a server request in accepable format
* @param request
*/
private createTokenRequestBody;
}
//# sourceMappingURL=OnBehalfOfClient.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"OnBehalfOfClient.d.ts","sourceRoot":"","sources":["../../src/client/OnBehalfOfClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAM1C,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAW7E;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAE5C,OAAO,CAAC,QAAQ,CAAW;gBAEf,aAAa,EAAE,mBAAmB;IAI9C;;;OAGG;IACU,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAejG;;;OAGG;YACW,6BAA6B;IAoC3C;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAsBhC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAI5B;;;;OAIG;YACW,mBAAmB;IAsCjC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CA8BjC"}

@ -0,0 +1,34 @@
import { ClientConfiguration } from "../config/ClientConfiguration";
import { BaseClient } from "./BaseClient";
import { CommonRefreshTokenRequest } from "../request/CommonRefreshTokenRequest";
import { AuthenticationResult } from "../response/AuthenticationResult";
import { CommonSilentFlowRequest } from "../request/CommonSilentFlowRequest";
/**
* OAuth2.0 refresh token client
*/
export declare class RefreshTokenClient extends BaseClient {
constructor(configuration: ClientConfiguration);
acquireToken(request: CommonRefreshTokenRequest): Promise<AuthenticationResult>;
/**
* Gets cached refresh token and attaches to request, then calls acquireToken API
* @param request
*/
acquireTokenByRefreshToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult>;
/**
* makes a network call to acquire tokens by exchanging RefreshToken available in userCache; throws if refresh token is not cached
* @param request
*/
private acquireTokenWithCachedRefreshToken;
/**
* Constructs the network message and makes a NW call to the underlying secure token service
* @param request
* @param authority
*/
private executeTokenRequest;
/**
* Helper function to create the token request body
* @param request
*/
private createTokenRequestBody;
}
//# sourceMappingURL=RefreshTokenClient.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"RefreshTokenClient.d.ts","sourceRoot":"","sources":["../../src/client/RefreshTokenClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sCAAsC,CAAC;AAMjF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAKxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAM7E;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,UAAU;gBAElC,aAAa,EAAE,mBAAmB;IAIjC,YAAY,CAAC,OAAO,EAAE,yBAAyB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IA2B5F;;;OAGG;IACU,0BAA0B,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAqCxG;;;OAGG;YACW,kCAAkC;IAkBhD;;;;OAIG;YACW,mBAAmB;IAcjC;;;OAGG;YACW,sBAAsB;CAyCvC"}

@ -0,0 +1,30 @@
import { BaseClient } from "./BaseClient";
import { ClientConfiguration } from "../config/ClientConfiguration";
import { CommonSilentFlowRequest } from "../request/CommonSilentFlowRequest";
import { AuthenticationResult } from "../response/AuthenticationResult";
export declare class SilentFlowClient extends BaseClient {
constructor(configuration: ClientConfiguration);
/**
* Retrieves a token from cache if it is still valid, or uses the cached refresh token to renew
* the given token and returns the renewed token
* @param request
*/
acquireToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult>;
/**
* Retrieves token from cache or throws an error if it must be refreshed.
* @param request
*/
acquireCachedToken(request: CommonSilentFlowRequest): Promise<AuthenticationResult>;
/**
* Helper function to build response object from the CacheRecord
* @param cacheRecord
*/
private generateResultFromCacheRecord;
/**
* Given a request object and an accessTokenEntity determine if the accessToken needs to be refreshed
* @param request
* @param cachedAccessToken
*/
private isRefreshRequired;
}
//# sourceMappingURL=SilentFlowClient.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"SilentFlowClient.d.ts","sourceRoot":"","sources":["../../src/client/SilentFlowClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,uBAAuB,EAAE,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAWxE,qBAAa,gBAAiB,SAAQ,UAAU;gBAEhC,aAAa,EAAE,mBAAmB;IAI9C;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAanF;;;OAGG;IACG,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAyBzF;;;OAGG;YACW,6BAA6B;IAiB3C;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAW5B"}

@ -0,0 +1,29 @@
import { BaseClient } from "./BaseClient";
import { ClientConfiguration } from "../config/ClientConfiguration";
import { CommonUsernamePasswordRequest } from "../request/CommonUsernamePasswordRequest";
import { AuthenticationResult } from "../response/AuthenticationResult";
/**
* Oauth2.0 Password grant client
* Note: We are only supporting public clients for password grant and for purely testing purposes
*/
export declare class UsernamePasswordClient extends BaseClient {
constructor(configuration: ClientConfiguration);
/**
* API to acquire a token by passing the username and password to the service in exchage of credentials
* password_grant
* @param request
*/
acquireToken(request: CommonUsernamePasswordRequest): Promise<AuthenticationResult | null>;
/**
* Executes POST request to token endpoint
* @param authority
* @param request
*/
private executeTokenRequest;
/**
* Generates a map for all the params to be sent to the service
* @param request
*/
private createTokenRequestBody;
}
//# sourceMappingURL=UsernamePasswordClient.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"UsernamePasswordClient.d.ts","sourceRoot":"","sources":["../../src/client/UsernamePasswordClient.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAC;AACpE,OAAO,EAAE,6BAA6B,EAAE,MAAM,0CAA0C,CAAC;AACzF,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AAWxE;;;GAGG;AACH,qBAAa,sBAAuB,SAAQ,UAAU;gBAEtC,aAAa,EAAE,mBAAmB;IAI9C;;;;OAIG;IACG,YAAY,CAAC,OAAO,EAAE,6BAA6B,GAAG,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;IAsBhG;;;;OAIG;YACW,mBAAmB;IAYjC;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CAqBjC"}

@ -0,0 +1,111 @@
import { INetworkModule } from "../network/INetworkModule";
import { ICrypto } from "../crypto/ICrypto";
import { ILoggerCallback, LogLevel } from "../logger/Logger";
import { Authority } from "../authority/Authority";
import { CacheManager } from "../cache/CacheManager";
import { ServerTelemetryManager } from "../telemetry/server/ServerTelemetryManager";
import { ICachePlugin } from "../cache/interface/ICachePlugin";
import { ISerializableTokenCache } from "../cache/interface/ISerializableTokenCache";
/**
* Use the configuration object to configure MSAL Modules and initialize the base interfaces for MSAL.
*
* This object allows you to configure important elements of MSAL functionality:
* - authOptions - Authentication for application
* - cryptoInterface - Implementation of crypto functions
* - libraryInfo - Library metadata
* - loggerOptions - Logging for application
* - networkInterface - Network implementation
* - storageInterface - Storage implementation
* - systemOptions - Additional library options
* - clientCredentials - Credentials options for confidential clients
*/
export declare type ClientConfiguration = {
authOptions: AuthOptions;
systemOptions?: SystemOptions;
loggerOptions?: LoggerOptions;
storageInterface?: CacheManager;
networkInterface?: INetworkModule;
cryptoInterface?: ICrypto;
clientCredentials?: ClientCredentials;
libraryInfo?: LibraryInfo;
serverTelemetryManager?: ServerTelemetryManager | null;
persistencePlugin?: ICachePlugin | null;
serializableCache?: ISerializableTokenCache | null;
};
export declare type CommonClientConfiguration = {
authOptions: Required<AuthOptions>;
systemOptions: Required<SystemOptions>;
loggerOptions: Required<LoggerOptions>;
storageInterface: CacheManager;
networkInterface: INetworkModule;
cryptoInterface: Required<ICrypto>;
libraryInfo: LibraryInfo;
serverTelemetryManager: ServerTelemetryManager | null;
clientCredentials: ClientCredentials;
persistencePlugin: ICachePlugin | null;
serializableCache: ISerializableTokenCache | null;
};
/**
* Use this to configure the auth options in the ClientConfiguration object
*
* - clientId - Client ID of your app registered with our Application registration portal : https://portal.azure.com/#blade/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/RegisteredAppsPreview in Microsoft Identity Platform
* - authority - You can configure a specific authority, defaults to " " or "https://login.microsoftonline.com/common"
* - knownAuthorities - An array of URIs that are known to be valid. Used in B2C scenarios.
* - cloudDiscoveryMetadata - A string containing the cloud discovery response. Used in AAD scenarios.
* - clientCapabilities - Array of capabilities which will be added to the claims.access_token.xms_cc request property on every network request.
* - protocolMode - Enum that represents the protocol that msal follows. Used for configuring proper endpoints.
*/
export declare type AuthOptions = {
clientId: string;
authority: Authority;
clientCapabilities?: Array<string>;
};
/**
* Use this to configure token renewal info in the Configuration object
*
* - tokenRenewalOffsetSeconds - Sets the window of offset needed to renew the token before expiry
*/
export declare type SystemOptions = {
tokenRenewalOffsetSeconds?: number;
};
/**
* Use this to configure the logging that MSAL does, by configuring logger options in the Configuration object
*
* - loggerCallback - Callback for logger
* - piiLoggingEnabled - Sets whether pii logging is enabled
* - logLevel - Sets the level at which logging happens
*/
export declare type LoggerOptions = {
loggerCallback?: ILoggerCallback;
piiLoggingEnabled?: boolean;
logLevel?: LogLevel;
};
/**
* Library-specific options
*/
export declare type LibraryInfo = {
sku: string;
version: string;
cpu: string;
os: string;
};
/**
* Credentials for confidential clients
*/
export declare type ClientCredentials = {
clientSecret?: string;
clientAssertion?: {
assertion: string;
assertionType: string;
};
};
export declare const DEFAULT_SYSTEM_OPTIONS: Required<SystemOptions>;
/**
* Function that sets the default options when not explicitly configured from app developer
*
* @param Configuration
*
* @returns Configuration
*/
export declare function buildClientConfiguration({ authOptions: userAuthOptions, systemOptions: userSystemOptions, loggerOptions: userLoggerOption, storageInterface: storageImplementation, networkInterface: networkImplementation, cryptoInterface: cryptoImplementation, clientCredentials: clientCredentials, libraryInfo: libraryInfo, serverTelemetryManager: serverTelemetryManager, persistencePlugin: persistencePlugin, serializableCache: serializableCache }: ClientConfiguration): CommonClientConfiguration;
//# sourceMappingURL=ClientConfiguration.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ClientConfiguration.d.ts","sourceRoot":"","sources":["../../src/config/ClientConfiguration.ts"],"names":[],"mappings":"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"}

@ -0,0 +1,46 @@
import { SignedHttpRequest } from "./SignedHttpRequest";
/**
* The PkceCodes type describes the structure
* of objects that contain PKCE code
* challenge and verifier pairs
*/
export declare type PkceCodes = {
verifier: string;
challenge: string;
};
/**
* Interface for crypto functions used by library
*/
export interface ICrypto {
/**
* Creates a guid randomly.
*/
createNewGuid(): string;
/**
* base64 Encode string
* @param input
*/
base64Encode(input: string): string;
/**
* base64 decode string
* @param input
*/
base64Decode(input: string): string;
/**
* Generate PKCE codes for OAuth. See RFC here: https://tools.ietf.org/html/rfc7636
*/
generatePkceCodes(): Promise<PkceCodes>;
/**
* Generates an JWK RSA S256 Thumbprint
* @param resourceRequestMethod
* @param resourceRequestUri
*/
getPublicKeyThumbprint(resourceRequestMethod: string, resourceRequestUri: string): Promise<string>;
/**
* Returns a signed proof-of-possession token with a given acces token that contains a cnf claim with the required kid.
* @param accessToken
*/
signJwt(payload: SignedHttpRequest, kid: string): Promise<string>;
}
export declare const DEFAULT_CRYPTO_IMPLEMENTATION: ICrypto;
//# sourceMappingURL=ICrypto.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ICrypto.d.ts","sourceRoot":"","sources":["../../src/crypto/ICrypto.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAExD;;;;GAIG;AACH,oBAAY,SAAS,GAAG;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAA;CACpB,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,OAAO;IACpB;;OAEG;IACH,aAAa,IAAI,MAAM,CAAC;IACxB;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC;;OAEG;IACH,iBAAiB,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;IACxC;;;;OAIG;IACH,sBAAsB,CAAC,qBAAqB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACnG;;;OAGG;IACH,OAAO,CAAC,OAAO,EAAE,iBAAiB,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CACrE;AAED,eAAO,MAAM,6BAA6B,EAAE,OAyB3C,CAAC"}

@ -0,0 +1,8 @@
import { ICrypto } from "./ICrypto";
export declare class PopTokenGenerator {
private cryptoUtils;
constructor(cryptoUtils: ICrypto);
generateCnf(resourceRequestMethod: string, resourceRequestUri: string): Promise<string>;
signPopToken(accessToken: string, resourceRequestMethod: string, resourceRequestUri: string): Promise<string>;
}
//# sourceMappingURL=PopTokenGenerator.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"PopTokenGenerator.d.ts","sourceRoot":"","sources":["../../src/crypto/PopTokenGenerator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyBpC,qBAAa,iBAAiB;IAE1B,OAAO,CAAC,WAAW,CAAU;gBAEjB,WAAW,EAAE,OAAO;IAI1B,WAAW,CAAC,qBAAqB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASvF,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,qBAAqB,EAAE,MAAM,EAAE,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAmBtH"}

@ -0,0 +1,11 @@
export declare type SignedHttpRequest = {
at?: string;
cnf?: object;
m?: string;
u?: string;
p?: string;
q?: [Array<string>, string];
ts?: string;
nonce?: string;
};
//# sourceMappingURL=SignedHttpRequest.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"SignedHttpRequest.d.ts","sourceRoot":"","sources":["../../src/crypto/SignedHttpRequest.ts"],"names":[],"mappings":"AAKA,oBAAY,iBAAiB,GAAG;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;IAC5B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC"}

@ -0,0 +1,33 @@
/**
* AuthErrorMessage class containing string constants used by error codes and messages.
*/
export declare const AuthErrorMessage: {
unexpectedError: {
code: string;
desc: string;
};
};
/**
* General error class thrown by the MSAL.js library.
*/
export declare class AuthError extends Error {
/**
* Short string denoting error
*/
errorCode: string;
/**
* Detailed description of error
*/
errorMessage: string;
/**
* Describes the subclass of an error
*/
subError: string;
constructor(errorCode?: string, errorMessage?: string, suberror?: string);
/**
* Creates an error that is thrown when something unexpected happens in the library.
* @param errDesc
*/
static createUnexpectedError(errDesc: string): AuthError;
}
//# sourceMappingURL=AuthError.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"AuthError.d.ts","sourceRoot":"","sources":["../../src/error/AuthError.ts"],"names":[],"mappings":"AAOA;;GAEG;AACH,eAAO,MAAM,gBAAgB;;;;;CAK5B,CAAC;AAEF;;GAEG;AACH,qBAAa,SAAU,SAAQ,KAAK;IAEhC;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAElB;;OAEG;IACH,YAAY,EAAE,MAAM,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;gBAEL,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAWxE;;;OAGG;IACH,MAAM,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS;CAG3D"}

@ -0,0 +1,332 @@
import { AuthError } from "./AuthError";
import { ScopeSet } from "../request/ScopeSet";
/**
* ClientAuthErrorMessage class containing string constants used by error codes and messages.
*/
export declare const ClientAuthErrorMessage: {
clientInfoDecodingError: {
code: string;
desc: string;
};
clientInfoEmptyError: {
code: string;
desc: string;
};
tokenParsingError: {
code: string;
desc: string;
};
nullOrEmptyToken: {
code: string;
desc: string;
};
endpointResolutionError: {
code: string;
desc: string;
};
unableToGetOpenidConfigError: {
code: string;
desc: string;
};
hashNotDeserialized: {
code: string;
desc: string;
};
blankGuidGenerated: {
code: string;
desc: string;
};
invalidStateError: {
code: string;
desc: string;
};
stateMismatchError: {
code: string;
desc: string;
};
stateNotFoundError: {
code: string;
desc: string;
};
nonceMismatchError: {
code: string;
desc: string;
};
nonceNotFoundError: {
code: string;
desc: string;
};
noTokensFoundError: {
code: string;
desc: string;
};
multipleMatchingTokens: {
code: string;
desc: string;
};
multipleMatchingAccounts: {
code: string;
desc: string;
};
multipleMatchingAppMetadata: {
code: string;
desc: string;
};
tokenRequestCannotBeMade: {
code: string;
desc: string;
};
appendEmptyScopeError: {
code: string;
desc: string;
};
removeEmptyScopeError: {
code: string;
desc: string;
};
appendScopeSetError: {
code: string;
desc: string;
};
emptyInputScopeSetError: {
code: string;
desc: string;
};
DeviceCodePollingCancelled: {
code: string;
desc: string;
};
DeviceCodeExpired: {
code: string;
desc: string;
};
NoAccountInSilentRequest: {
code: string;
desc: string;
};
invalidCacheRecord: {
code: string;
desc: string;
};
invalidCacheEnvironment: {
code: string;
desc: string;
};
noAccountFound: {
code: string;
desc: string;
};
CachePluginError: {
code: string;
desc: string;
};
noCryptoObj: {
code: string;
desc: string;
};
invalidCacheType: {
code: string;
desc: string;
};
unexpectedAccountType: {
code: string;
desc: string;
};
unexpectedCredentialType: {
code: string;
desc: string;
};
invalidAssertion: {
code: string;
desc: string;
};
invalidClientCredential: {
code: string;
desc: string;
};
tokenRefreshRequired: {
code: string;
desc: string;
};
userTimeoutReached: {
code: string;
desc: string;
};
tokenClaimsRequired: {
code: string;
desc: string;
};
noAuthorizationCodeFromServer: {
code: string;
desc: string;
};
};
/**
* Error thrown when there is an error in the client code running on the browser.
*/
export declare class ClientAuthError extends AuthError {
constructor(errorCode: string, errorMessage?: string);
/**
* Creates an error thrown when client info object doesn't decode correctly.
* @param caughtError
*/
static createClientInfoDecodingError(caughtError: string): ClientAuthError;
/**
* Creates an error thrown if the client info is empty.
* @param rawClientInfo
*/
static createClientInfoEmptyError(): ClientAuthError;
/**
* Creates an error thrown when the id token extraction errors out.
* @param err
*/
static createTokenParsingError(caughtExtractionError: string): ClientAuthError;
/**
* Creates an error thrown when the id token string is null or empty.
* @param invalidRawTokenString
*/
static createTokenNullOrEmptyError(invalidRawTokenString: string): ClientAuthError;
/**
* Creates an error thrown when the endpoint discovery doesn't complete correctly.
*/
static createEndpointDiscoveryIncompleteError(errDetail: string): ClientAuthError;
/**
* Creates an error thrown when the openid-configuration endpoint cannot be reached or does not contain the required data
*/
static createUnableToGetOpenidConfigError(errDetail: string): ClientAuthError;
/**
* Creates an error thrown when the hash cannot be deserialized.
* @param hashParamObj
*/
static createHashNotDeserializedError(hashParamObj: string): ClientAuthError;
/**
* Creates an error thrown when the state cannot be parsed.
* @param invalidState
*/
static createInvalidStateError(invalidState: string, errorString?: string): ClientAuthError;
/**
* Creates an error thrown when two states do not match.
*/
static createStateMismatchError(): ClientAuthError;
/**
* Creates an error thrown when the state is not present
* @param missingState
*/
static createStateNotFoundError(missingState: string): ClientAuthError;
/**
* Creates an error thrown when the nonce does not match.
*/
static createNonceMismatchError(): ClientAuthError;
/**
* Creates an error thrown when the mnonce is not present
* @param missingNonce
*/
static createNonceNotFoundError(missingNonce: string): ClientAuthError;
/**
* Creates an error thrown when the authorization code required for a token request is null or empty.
*/
static createNoTokensFoundError(): ClientAuthError;
/**
* Throws error when multiple tokens are in cache.
*/
static createMultipleMatchingTokensInCacheError(): ClientAuthError;
/**
* Throws error when multiple accounts are in cache for the given params
*/
static createMultipleMatchingAccountsInCacheError(): ClientAuthError;
/**
* Throws error when multiple appMetada are in cache for the given clientId.
*/
static createMultipleMatchingAppMetadataInCacheError(): ClientAuthError;
/**
* Throws error when no auth code or refresh token is given to ServerTokenRequestParameters.
*/
static createTokenRequestCannotBeMadeError(): ClientAuthError;
/**
* Throws error when attempting to append a null, undefined or empty scope to a set
* @param givenScope
*/
static createAppendEmptyScopeToSetError(givenScope: string): ClientAuthError;
/**
* Throws error when attempting to append a null, undefined or empty scope to a set
* @param givenScope
*/
static createRemoveEmptyScopeFromSetError(givenScope: string): ClientAuthError;
/**
* Throws error when attempting to append null or empty ScopeSet.
* @param appendError
*/
static createAppendScopeSetError(appendError: string): ClientAuthError;
/**
* Throws error if ScopeSet is null or undefined.
* @param givenScopeSet
*/
static createEmptyInputScopeSetError(givenScopeSet: ScopeSet): ClientAuthError;
/**
* Throws error if user sets CancellationToken.cancel = true during polling of token endpoint during device code flow
*/
static createDeviceCodeCancelledError(): ClientAuthError;
/**
* Throws error if device code is expired
*/
static createDeviceCodeExpiredError(): ClientAuthError;
/**
* Throws error when silent requests are made without an account object
*/
static createNoAccountInSilentRequestError(): ClientAuthError;
/**
* Throws error when cache record is null or undefined.
*/
static createNullOrUndefinedCacheRecord(): ClientAuthError;
/**
* Throws error when provided environment is not part of the CloudDiscoveryMetadata object
*/
static createInvalidCacheEnvironmentError(): ClientAuthError;
/**
* Throws error when account is not found in cache.
*/
static createNoAccountFoundError(): ClientAuthError;
/**
* Throws error if ICachePlugin not set on CacheManager.
*/
static createCachePluginError(): ClientAuthError;
/**
* Throws error if crypto object not found.
* @param operationName
*/
static createNoCryptoObjectError(operationName: string): ClientAuthError;
/**
* Throws error if cache type is invalid.
*/
static createInvalidCacheTypeError(): ClientAuthError;
/**
* Throws error if unexpected account type.
*/
static createUnexpectedAccountTypeError(): ClientAuthError;
/**
* Throws error if unexpected credential type.
*/
static createUnexpectedCredentialTypeError(): ClientAuthError;
/**
* Throws error if client assertion is not valid.
*/
static createInvalidAssertionError(): ClientAuthError;
/**
* Throws error if client assertion is not valid.
*/
static createInvalidCredentialError(): ClientAuthError;
/**
* Throws error if token cannot be retrieved from cache due to refresh being required.
*/
static createRefreshRequiredError(): ClientAuthError;
/**
* Throws error if the user defined timeout is reached.
*/
static createUserTimeoutReachedError(): ClientAuthError;
static createTokenClaimsRequiredError(): ClientAuthError;
/**
* Throws error when the authorization code is missing from the server response
*/
static createNoAuthCodeInServerResponseError(): ClientAuthError;
}
//# sourceMappingURL=ClientAuthError.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ClientAuthError.d.ts","sourceRoot":"","sources":["../../src/error/ClientAuthError.ts"],"names":[],"mappings":"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"}

@ -0,0 +1,172 @@
import { ClientAuthError } from "./ClientAuthError";
/**
* ClientConfigurationErrorMessage class containing string constants used by error codes and messages.
*/
export declare const ClientConfigurationErrorMessage: {
redirectUriNotSet: {
code: string;
desc: string;
};
postLogoutUriNotSet: {
code: string;
desc: string;
};
claimsRequestParsingError: {
code: string;
desc: string;
};
authorityUriInsecure: {
code: string;
desc: string;
};
urlParseError: {
code: string;
desc: string;
};
urlEmptyError: {
code: string;
desc: string;
};
emptyScopesError: {
code: string;
desc: string;
};
nonArrayScopesError: {
code: string;
desc: string;
};
clientIdSingleScopeError: {
code: string;
desc: string;
};
invalidPrompt: {
code: string;
desc: string;
};
invalidClaimsRequest: {
code: string;
desc: string;
};
tokenRequestEmptyError: {
code: string;
desc: string;
};
logoutRequestEmptyError: {
code: string;
desc: string;
};
invalidCodeChallengeMethod: {
code: string;
desc: string;
};
invalidCodeChallengeParams: {
code: string;
desc: string;
};
invalidCloudDiscoveryMetadata: {
code: string;
desc: string;
};
invalidAuthorityMetadata: {
code: string;
desc: string;
};
untrustedAuthority: {
code: string;
desc: string;
};
resourceRequestParametersRequired: {
code: string;
desc: string;
};
};
/**
* Error thrown when there is an error in configuration of the MSAL.js library.
*/
export declare class ClientConfigurationError extends ClientAuthError {
constructor(errorCode: string, errorMessage?: string);
/**
* Creates an error thrown when the redirect uri is empty (not set by caller)
*/
static createRedirectUriEmptyError(): ClientConfigurationError;
/**
* Creates an error thrown when the post-logout redirect uri is empty (not set by caller)
*/
static createPostLogoutRedirectUriEmptyError(): ClientConfigurationError;
/**
* Creates an error thrown when the claims request could not be successfully parsed
*/
static createClaimsRequestParsingError(claimsRequestParseError: string): ClientConfigurationError;
/**
* Creates an error thrown if authority uri is given an insecure protocol.
* @param urlString
*/
static createInsecureAuthorityUriError(urlString: string): ClientConfigurationError;
/**
* Creates an error thrown if URL string does not parse into separate segments.
* @param urlString
*/
static createUrlParseError(urlParseError: string): ClientConfigurationError;
/**
* Creates an error thrown if URL string is empty or null.
* @param urlString
*/
static createUrlEmptyError(): ClientConfigurationError;
/**
* Error thrown when scopes are not an array
* @param inputScopes
*/
static createScopesNonArrayError(inputScopes: Array<string>): ClientConfigurationError;
/**
* Error thrown when scopes are empty.
* @param scopesValue
*/
static createEmptyScopesArrayError(inputScopes: Array<string>): ClientConfigurationError;
/**
* Error thrown when client id scope is not provided as single scope.
* @param inputScopes
*/
static createClientIdSingleScopeError(inputScopes: Array<string>): ClientConfigurationError;
/**
* Error thrown when prompt is not an allowed type.
* @param promptValue
*/
static createInvalidPromptError(promptValue: string): ClientConfigurationError;
/**
* Creates error thrown when claims parameter is not a stringified JSON object
*/
static createInvalidClaimsRequestError(): ClientConfigurationError;
/**
* Throws error when token request is empty and nothing cached in storage.
*/
static createEmptyLogoutRequestError(): ClientConfigurationError;
/**
* Throws error when token request is empty and nothing cached in storage.
*/
static createEmptyTokenRequestError(): ClientConfigurationError;
/**
* Throws error when an invalid code_challenge_method is passed by the user
*/
static createInvalidCodeChallengeMethodError(): ClientConfigurationError;
/**
* Throws error when both params: code_challenge and code_challenge_method are not passed together
*/
static createInvalidCodeChallengeParamsError(): ClientConfigurationError;
/**
* Throws an error when the user passes invalid cloudDiscoveryMetadata
*/
static createInvalidCloudDiscoveryMetadataError(): ClientConfigurationError;
/**
* Throws an error when the user passes invalid cloudDiscoveryMetadata
*/
static createInvalidAuthorityMetadataError(): ClientConfigurationError;
/**
* Throws error when provided authority is not a member of the trusted host list
*/
static createUntrustedAuthorityError(): ClientConfigurationError;
/**
* Throws error when resourceRequestMethod or resourceRequestUri is missing
*/
static createResourceRequestParametersRequiredError(): ClientConfigurationError;
}
//# sourceMappingURL=ClientConfigurationError.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"ClientConfigurationError.d.ts","sourceRoot":"","sources":["../../src/error/ClientConfigurationError.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,eAAO,MAAM,+BAA+B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6E3C,CAAC;AAEF;;GAEG;AACH,qBAAa,wBAAyB,SAAQ,eAAe;gBAE7C,SAAS,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM;IAMpD;;OAEG;IACH,MAAM,CAAC,2BAA2B,IAAI,wBAAwB;IAK9D;;OAEG;IACH,MAAM,CAAC,qCAAqC,IAAI,wBAAwB;IAKxE;;OAEG;IACH,MAAM,CAAC,+BAA+B,CAAC,uBAAuB,EAAE,MAAM,GAAG,wBAAwB;IAKjG;;;OAGG;IACH,MAAM,CAAC,+BAA+B,CAAC,SAAS,EAAE,MAAM,GAAG,wBAAwB;IAKnF;;;OAGG;IACH,MAAM,CAAC,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,wBAAwB;IAK3E;;;OAGG;IACH,MAAM,CAAC,mBAAmB,IAAI,wBAAwB;IAKtD;;;OAGG;IACH,MAAM,CAAC,yBAAyB,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,wBAAwB;IAKtF;;;OAGG;IACH,MAAM,CAAC,2BAA2B,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,wBAAwB;IAKxF;;;OAGG;IACH,MAAM,CAAC,8BAA8B,CAAC,WAAW,EAAE,KAAK,CAAC,MAAM,CAAC,GAAG,wBAAwB;IAK3F;;;OAGG;IACH,MAAM,CAAC,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,wBAAwB;IAK9E;;OAEG;IACH,MAAM,CAAC,+BAA+B,IAAI,wBAAwB;IAKlE;;OAEG;IACH,MAAM,CAAC,6BAA6B,IAAI,wBAAwB;IAOhE;;OAEG;IACH,MAAM,CAAC,4BAA4B,IAAI,wBAAwB;IAO/D;;OAEG;IACH,MAAM,CAAC,qCAAqC,IAAI,wBAAwB;IAOxE;;OAEG;IACH,MAAM,CAAC,qCAAqC,IAAI,wBAAwB;IAOxE;;OAEG;IACH,MAAM,CAAC,wCAAwC,IAAI,wBAAwB;IAK3E;;OAEG;IACH,MAAM,CAAC,mCAAmC,IAAI,wBAAwB;IAKtE;;OAEG;IACH,MAAM,CAAC,6BAA6B,IAAI,wBAAwB;IAKhE;;OAEG;IACH,MAAM,CAAC,4CAA4C,IAAI,wBAAwB;CAIlF"}

@ -0,0 +1,14 @@
import { ServerError } from "./ServerError";
/**
* InteractionRequiredAuthErrorMessage class containing string constants used by error codes and messages.
*/
export declare const InteractionRequiredAuthErrorMessage: string[];
export declare const InteractionRequiredAuthSubErrorMessage: string[];
/**
* Error thrown when user interaction is required at the auth server.
*/
export declare class InteractionRequiredAuthError extends ServerError {
constructor(errorCode?: string, errorMessage?: string, subError?: string);
static isInteractionRequiredError(errorCode?: string, errorString?: string, subError?: string): boolean;
}
//# sourceMappingURL=InteractionRequiredAuthError.d.ts.map

@ -0,0 +1 @@
{"version":3,"file":"InteractionRequiredAuthError.d.ts","sourceRoot":"","sources":["../../src/error/InteractionRequiredAuthError.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAE5C;;GAEG;AACH,eAAO,MAAM,mCAAmC,UAI/C,CAAC;AAEF,eAAO,MAAM,sCAAsC,UAMlD,CAAC;AAEF;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,WAAW;gBAE7C,SAAS,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAOxE,MAAM,CAAC,0BAA0B,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAI,OAAO;CAS3G"}

@ -0,0 +1,8 @@
import { AuthError } from "./AuthError";
/**
* Error thrown when there is an error with the server code, for example, unavailability.
*/
export declare class ServerError extends AuthError {
constructor(errorCode?: string, errorMessage?: string, subError?: string);
}
//# sourceMappingURL=ServerError.d.ts.map

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save