Estructura inicial del proyecto
This commit is contained in:
102
backend/node_modules/@azure/msal-node/dist/crypto/CryptoProvider.mjs
generated
vendored
Normal file
102
backend/node_modules/@azure/msal-node/dist/crypto/CryptoProvider.mjs
generated
vendored
Normal file
@ -0,0 +1,102 @@
|
||||
/*! @azure/msal-node v5.2.2 2026-05-19 */
|
||||
'use strict';
|
||||
import { Constants } from '@azure/msal-common/node';
|
||||
import { GuidGenerator } from './GuidGenerator.mjs';
|
||||
import { EncodingUtils } from '../utils/EncodingUtils.mjs';
|
||||
import { PkceGenerator } from './PkceGenerator.mjs';
|
||||
import { HashUtils } from './HashUtils.mjs';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
/**
|
||||
* This class implements MSAL node's crypto interface, which allows it to perform base64 encoding and decoding, generating cryptographically random GUIDs and
|
||||
* implementing Proof Key for Code Exchange specs for the OAuth Authorization Code Flow using PKCE (rfc here: https://tools.ietf.org/html/rfc7636).
|
||||
* @public
|
||||
*/
|
||||
class CryptoProvider {
|
||||
constructor() {
|
||||
// Browser crypto needs to be validated first before any other classes can be set.
|
||||
this.pkceGenerator = new PkceGenerator();
|
||||
this.guidGenerator = new GuidGenerator();
|
||||
this.hashUtils = new HashUtils();
|
||||
}
|
||||
/**
|
||||
* base64 URL safe encoded string
|
||||
*/
|
||||
base64UrlEncode() {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
/**
|
||||
* Stringifies and base64Url encodes input public key
|
||||
* @param inputKid - public key id
|
||||
* @returns Base64Url encoded public key
|
||||
*/
|
||||
encodeKid() {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
/**
|
||||
* Creates a new random GUID - used to populate state and nonce.
|
||||
* @returns string (GUID)
|
||||
*/
|
||||
createNewGuid() {
|
||||
return this.guidGenerator.generateGuid();
|
||||
}
|
||||
/**
|
||||
* Encodes input string to base64.
|
||||
* @param input - string to be encoded
|
||||
*/
|
||||
base64Encode(input) {
|
||||
return EncodingUtils.base64Encode(input);
|
||||
}
|
||||
/**
|
||||
* Decodes input string from base64.
|
||||
* @param input - string to be decoded
|
||||
*/
|
||||
base64Decode(input) {
|
||||
return EncodingUtils.base64Decode(input);
|
||||
}
|
||||
/**
|
||||
* Generates PKCE codes used in Authorization Code Flow.
|
||||
*/
|
||||
generatePkceCodes() {
|
||||
return this.pkceGenerator.generatePkceCodes();
|
||||
}
|
||||
/**
|
||||
* Generates a keypair, stores it and returns a thumbprint - not yet implemented for node
|
||||
*/
|
||||
getPublicKeyThumbprint() {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
/**
|
||||
* Removes cryptographic keypair from key store matching the keyId passed in
|
||||
* @param kid - public key id
|
||||
*/
|
||||
removeTokenBindingKey() {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
/**
|
||||
* Removes all cryptographic keys from Keystore
|
||||
*/
|
||||
clearKeystore() {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
/**
|
||||
* Signs the given object as a jwt payload with private key retrieved by given kid - currently not implemented for node
|
||||
*/
|
||||
signJwt() {
|
||||
throw new Error("Method not implemented.");
|
||||
}
|
||||
/**
|
||||
* Returns the SHA-256 hash of an input string
|
||||
*/
|
||||
async hashString(plainText) {
|
||||
return EncodingUtils.base64EncodeUrl(this.hashUtils
|
||||
.sha256(plainText)
|
||||
.toString(Constants.EncodingTypes.BASE64), Constants.EncodingTypes.BASE64);
|
||||
}
|
||||
}
|
||||
|
||||
export { CryptoProvider };
|
||||
//# sourceMappingURL=CryptoProvider.mjs.map
|
||||
1
backend/node_modules/@azure/msal-node/dist/crypto/CryptoProvider.mjs.map
generated
vendored
Normal file
1
backend/node_modules/@azure/msal-node/dist/crypto/CryptoProvider.mjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"CryptoProvider.mjs","sources":["../../src/crypto/CryptoProvider.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAAA;;;AAGG;AAQH;;;;AAIG;MACU,cAAc,CAAA;AAKvB,IAAA,WAAA,GAAA;;AAEI,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AACzC,QAAA,IAAI,CAAC,aAAa,GAAG,IAAI,aAAa,EAAE,CAAC;AACzC,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;KACpC;AAED;;AAEG;IACH,eAAe,GAAA;AACX,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;AACD;;;;AAIG;IACH,SAAS,GAAA;AACL,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;AAED;;;AAGG;IACH,aAAa,GAAA;AACT,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,YAAY,EAAE,CAAC;KAC5C;AAED;;;AAGG;AACH,IAAA,YAAY,CAAC,KAAa,EAAA;AACtB,QAAA,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC5C;AAED;;;AAGG;AACH,IAAA,YAAY,CAAC,KAAa,EAAA;AACtB,QAAA,OAAO,aAAa,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;KAC5C;AAED;;AAEG;IACH,iBAAiB,GAAA;AACb,QAAA,OAAO,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;KACjD;AAED;;AAEG;IACH,sBAAsB,GAAA;AAClB,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;AAED;;;AAGG;IACH,qBAAqB,GAAA;AACjB,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;AAED;;AAEG;IACH,aAAa,GAAA;AACT,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;AAED;;AAEG;IACH,OAAO,GAAA;AACH,QAAA,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;KAC9C;AAED;;AAEG;IACH,MAAM,UAAU,CAAC,SAAiB,EAAA;AAC9B,QAAA,OAAO,aAAa,CAAC,eAAe,CAChC,IAAI,CAAC,SAAS;aACT,MAAM,CAAC,SAAS,CAAC;AACjB,aAAA,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAC7C,SAAS,CAAC,aAAa,CAAC,MAAM,CACjC,CAAC;KACL;AACJ;;;;"}
|
||||
28
backend/node_modules/@azure/msal-node/dist/crypto/GuidGenerator.mjs
generated
vendored
Normal file
28
backend/node_modules/@azure/msal-node/dist/crypto/GuidGenerator.mjs
generated
vendored
Normal file
@ -0,0 +1,28 @@
|
||||
/*! @azure/msal-node v5.2.2 2026-05-19 */
|
||||
'use strict';
|
||||
import { randomUUID } from 'node:crypto';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
class GuidGenerator {
|
||||
/**
|
||||
* Generates a random [RFC 4122](https://www.rfc-editor.org/rfc/rfc4122.txt) version 4 UUID. The UUID is generated using a
|
||||
* cryptographic pseudorandom number generator.
|
||||
*/
|
||||
generateGuid() {
|
||||
return randomUUID();
|
||||
}
|
||||
/**
|
||||
* verifies if a string is GUID
|
||||
* @param guid
|
||||
*/
|
||||
isGuid(guid) {
|
||||
const regexGuid = /^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
||||
return regexGuid.test(guid);
|
||||
}
|
||||
}
|
||||
|
||||
export { GuidGenerator };
|
||||
//# sourceMappingURL=GuidGenerator.mjs.map
|
||||
1
backend/node_modules/@azure/msal-node/dist/crypto/GuidGenerator.mjs.map
generated
vendored
Normal file
1
backend/node_modules/@azure/msal-node/dist/crypto/GuidGenerator.mjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"GuidGenerator.mjs","sources":["../../src/crypto/GuidGenerator.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAAA;;;AAGG;MAKU,aAAa,CAAA;AACtB;;;AAGG;IACH,YAAY,GAAA;QACR,OAAO,UAAU,EAAE,CAAC;KACvB;AAED;;;AAGG;AACH,IAAA,MAAM,CAAC,IAAY,EAAA;QACf,MAAM,SAAS,GACX,4EAA4E,CAAC;AACjF,QAAA,OAAO,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;KAC/B;AACJ;;;;"}
|
||||
21
backend/node_modules/@azure/msal-node/dist/crypto/HashUtils.mjs
generated
vendored
Normal file
21
backend/node_modules/@azure/msal-node/dist/crypto/HashUtils.mjs
generated
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
/*! @azure/msal-node v5.2.2 2026-05-19 */
|
||||
'use strict';
|
||||
import { Hash } from '../utils/Constants.mjs';
|
||||
import crypto from 'crypto';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
class HashUtils {
|
||||
/**
|
||||
* generate 'SHA256' hash
|
||||
* @param buffer
|
||||
*/
|
||||
sha256(buffer) {
|
||||
return crypto.createHash(Hash.SHA256).update(buffer).digest();
|
||||
}
|
||||
}
|
||||
|
||||
export { HashUtils };
|
||||
//# sourceMappingURL=HashUtils.mjs.map
|
||||
1
backend/node_modules/@azure/msal-node/dist/crypto/HashUtils.mjs.map
generated
vendored
Normal file
1
backend/node_modules/@azure/msal-node/dist/crypto/HashUtils.mjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"HashUtils.mjs","sources":["../../src/crypto/HashUtils.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAAA;;;AAGG;MAKU,SAAS,CAAA;AAClB;;;AAGG;AACH,IAAA,MAAM,CAAC,MAAc,EAAA;AACjB,QAAA,OAAO,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;KACjE;AACJ;;;;"}
|
||||
62
backend/node_modules/@azure/msal-node/dist/crypto/PkceGenerator.mjs
generated
vendored
Normal file
62
backend/node_modules/@azure/msal-node/dist/crypto/PkceGenerator.mjs
generated
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
/*! @azure/msal-node v5.2.2 2026-05-19 */
|
||||
'use strict';
|
||||
import { Constants } from '@azure/msal-common/node';
|
||||
import { RANDOM_OCTET_SIZE, CharSet } from '../utils/Constants.mjs';
|
||||
import { EncodingUtils } from '../utils/EncodingUtils.mjs';
|
||||
import { HashUtils } from './HashUtils.mjs';
|
||||
import crypto from 'crypto';
|
||||
|
||||
/*
|
||||
* Copyright (c) Microsoft Corporation. All rights reserved.
|
||||
* Licensed under the MIT License.
|
||||
*/
|
||||
/**
|
||||
* https://tools.ietf.org/html/rfc7636#page-8
|
||||
*/
|
||||
class PkceGenerator {
|
||||
constructor() {
|
||||
this.hashUtils = new HashUtils();
|
||||
}
|
||||
/**
|
||||
* generates the codeVerfier and the challenge from the codeVerfier
|
||||
* reference: https://tools.ietf.org/html/rfc7636#section-4.1 and https://tools.ietf.org/html/rfc7636#section-4.2
|
||||
*/
|
||||
async generatePkceCodes() {
|
||||
const verifier = this.generateCodeVerifier();
|
||||
const challenge = this.generateCodeChallengeFromVerifier(verifier);
|
||||
return { verifier, challenge };
|
||||
}
|
||||
/**
|
||||
* generates the codeVerfier; reference: https://tools.ietf.org/html/rfc7636#section-4.1
|
||||
*/
|
||||
generateCodeVerifier() {
|
||||
const charArr = [];
|
||||
const maxNumber = 256 - (256 % CharSet.CV_CHARSET.length);
|
||||
while (charArr.length <= RANDOM_OCTET_SIZE) {
|
||||
const byte = crypto.randomBytes(1)[0];
|
||||
if (byte >= maxNumber) {
|
||||
/*
|
||||
* Ignore this number to maintain randomness.
|
||||
* Including it would result in an unequal distribution of characters after doing the modulo
|
||||
*/
|
||||
continue;
|
||||
}
|
||||
const index = byte % CharSet.CV_CHARSET.length;
|
||||
charArr.push(CharSet.CV_CHARSET[index]);
|
||||
}
|
||||
const verifier = charArr.join("");
|
||||
return EncodingUtils.base64EncodeUrl(verifier);
|
||||
}
|
||||
/**
|
||||
* generate the challenge from the codeVerfier; reference: https://tools.ietf.org/html/rfc7636#section-4.2
|
||||
* @param codeVerifier
|
||||
*/
|
||||
generateCodeChallengeFromVerifier(codeVerifier) {
|
||||
return EncodingUtils.base64EncodeUrl(this.hashUtils
|
||||
.sha256(codeVerifier)
|
||||
.toString(Constants.EncodingTypes.BASE64), Constants.EncodingTypes.BASE64);
|
||||
}
|
||||
}
|
||||
|
||||
export { PkceGenerator };
|
||||
//# sourceMappingURL=PkceGenerator.mjs.map
|
||||
1
backend/node_modules/@azure/msal-node/dist/crypto/PkceGenerator.mjs.map
generated
vendored
Normal file
1
backend/node_modules/@azure/msal-node/dist/crypto/PkceGenerator.mjs.map
generated
vendored
Normal file
@ -0,0 +1 @@
|
||||
{"version":3,"file":"PkceGenerator.mjs","sources":["../../src/crypto/PkceGenerator.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;;;;AAAA;;;AAGG;AAQH;;AAEG;MACU,aAAa,CAAA;AAGtB,IAAA,WAAA,GAAA;AACI,QAAA,IAAI,CAAC,SAAS,GAAG,IAAI,SAAS,EAAE,CAAC;KACpC;AACD;;;AAGG;AACH,IAAA,MAAM,iBAAiB,GAAA;AACnB,QAAA,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC7C,MAAM,SAAS,GAAG,IAAI,CAAC,iCAAiC,CAAC,QAAQ,CAAC,CAAC;AACnE,QAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;KAClC;AAED;;AAEG;IACK,oBAAoB,GAAA;QACxB,MAAM,OAAO,GAAG,EAAE,CAAC;AACnB,QAAA,MAAM,SAAS,GAAG,GAAG,IAAI,GAAG,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;AAC1D,QAAA,OAAO,OAAO,CAAC,MAAM,IAAI,iBAAiB,EAAE;YACxC,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACtC,IAAI,IAAI,IAAI,SAAS,EAAE;AACnB;;;AAGG;gBACH,SAAS;AACZ,aAAA;YACD,MAAM,KAAK,GAAG,IAAI,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC;YAC/C,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;AAC3C,SAAA;QACD,MAAM,QAAQ,GAAW,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC1C,QAAA,OAAO,aAAa,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC;KAClD;AAED;;;AAGG;AACK,IAAA,iCAAiC,CAAC,YAAoB,EAAA;AAC1D,QAAA,OAAO,aAAa,CAAC,eAAe,CAChC,IAAI,CAAC,SAAS;aACT,MAAM,CAAC,YAAY,CAAC;AACpB,aAAA,QAAQ,CAAC,SAAS,CAAC,aAAa,CAAC,MAAM,CAAC,EAC7C,SAAS,CAAC,aAAa,CAAC,MAAM,CACjC,CAAC;KACL;AACJ;;;;"}
|
||||
Reference in New Issue
Block a user