@schemavaults/jwt 0.6.16 → 0.6.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/JwksAccessProofToken/createJwksAccessProofToken.d.ts +7 -0
- package/dist/JwksAccessProofToken/createJwksAccessProofToken.js +25 -0
- package/dist/JwksAccessProofToken/createJwksAccessProofToken.js.map +1 -0
- package/dist/JwksAccessProofToken/index.d.ts +2 -0
- package/dist/JwksAccessProofToken/index.js +3 -0
- package/dist/JwksAccessProofToken/index.js.map +1 -0
- package/dist/JwksAccessProofToken/verifyJwksAccessProofToken.d.ts +8 -0
- package/dist/JwksAccessProofToken/verifyJwksAccessProofToken.js +33 -0
- package/dist/JwksAccessProofToken/verifyJwksAccessProofToken.js.map +1 -0
- package/dist/index.d.ts +3 -2
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/jwt/index.d.ts +2 -2
- package/dist/jwt/index.js +2 -2
- package/dist/jwt/index.js.map +1 -1
- package/dist/jwt/jwt_keys/AbstractBaseKeyPairFactory.js +3 -4
- package/dist/jwt/jwt_keys/AbstractBaseKeyPairFactory.js.map +1 -1
- package/dist/jwt/jwt_keys/index.d.ts +9 -10
- package/dist/jwt/jwt_keys/index.js +5 -6
- package/dist/jwt/jwt_keys/index.js.map +1 -1
- package/dist/jwt/jwt_keys/pem-format.d.ts +7 -0
- package/dist/jwt/jwt_keys/pem-format.js +48 -1
- package/dist/jwt/jwt_keys/pem-format.js.map +1 -1
- package/dist/jwt/jwt_keys/to_public_jwks.js +5 -1
- package/dist/jwt/jwt_keys/to_public_jwks.js.map +1 -1
- package/package.json +5 -4
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type ApiServerId } from "@schemavaults/app-definitions";
|
|
2
|
+
export interface ICreateJwksAccessProofToken {
|
|
3
|
+
api_server_id: ApiServerId;
|
|
4
|
+
private_key: CryptoKey;
|
|
5
|
+
}
|
|
6
|
+
export declare function createJwksAccessProofToken({ api_server_id, private_key, }: ICreateJwksAccessProofToken): Promise<string>;
|
|
7
|
+
export default createJwksAccessProofToken;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { sign_verify_alg } from "../jwt";
|
|
2
|
+
import { apiServerIdSchema, SCHEMAVAULTS_AUTH_APP_DEFINITION, SCHEMAVAULTS_AUTH_SERVER, } from "@schemavaults/app-definitions";
|
|
3
|
+
import { SignJWT } from "jose";
|
|
4
|
+
export async function createJwksAccessProofToken({ api_server_id, private_key, }) {
|
|
5
|
+
if (!apiServerIdSchema.safeParse(api_server_id)) {
|
|
6
|
+
throw new TypeError("Invalid API server ID!");
|
|
7
|
+
}
|
|
8
|
+
if (api_server_id === SCHEMAVAULTS_AUTH_SERVER.api_server_id) {
|
|
9
|
+
throw new Error(`'${SCHEMAVAULTS_AUTH_SERVER.api_server_id}' does not use JWKS access proof tokens`);
|
|
10
|
+
}
|
|
11
|
+
const token_builder = new SignJWT({
|
|
12
|
+
api_server_id,
|
|
13
|
+
})
|
|
14
|
+
.setSubject(api_server_id)
|
|
15
|
+
.setIssuer(api_server_id)
|
|
16
|
+
.setAudience(SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id)
|
|
17
|
+
.setNotBefore(new Date(Date.now() - 1))
|
|
18
|
+
.setExpirationTime("2 min")
|
|
19
|
+
.setProtectedHeader({
|
|
20
|
+
alg: sign_verify_alg,
|
|
21
|
+
});
|
|
22
|
+
return await token_builder.sign(private_key);
|
|
23
|
+
}
|
|
24
|
+
export default createJwksAccessProofToken;
|
|
25
|
+
//# sourceMappingURL=createJwksAccessProofToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createJwksAccessProofToken.js","sourceRoot":"","sources":["../../src/JwksAccessProofToken/createJwksAccessProofToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,OAAO,CAAC;AACxC,OAAO,EAEL,iBAAiB,EACjB,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAO/B,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,aAAa,EACb,WAAW,GACiB;IAC5B,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,aAAa,KAAK,wBAAwB,CAAC,aAAa,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,IAAI,wBAAwB,CAAC,aAAa,yCAAyC,CACpF,CAAC;IACJ,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC;QAChC,aAAa;KACd,CAAC;SACC,UAAU,CAAC,aAAa,CAAC;SACzB,SAAS,CAAC,aAAa,CAAC;SACxB,WAAW,CAAC,gCAAgC,CAAC,MAAM,CAAC;SACpD,YAAY,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;SACtC,iBAAiB,CAAC,OAAO,CAAC;SAC1B,kBAAkB,CAAC;QAClB,GAAG,EAAE,eAAe;KACrB,CAAC,CAAC;IAEL,OAAO,MAAM,aAAa,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAC/C,CAAC;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/JwksAccessProofToken/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { type ApiServerId } from "@schemavaults/app-definitions";
|
|
2
|
+
export interface IVerifyJwksAccessProofToken {
|
|
3
|
+
token: string;
|
|
4
|
+
api_server_id: ApiServerId;
|
|
5
|
+
public_key: CryptoKey;
|
|
6
|
+
}
|
|
7
|
+
export declare function verifyJwksAccessProofToken({ token, api_server_id, public_key, }: IVerifyJwksAccessProofToken): Promise<boolean>;
|
|
8
|
+
export default verifyJwksAccessProofToken;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { apiServerIdSchema, SCHEMAVAULTS_AUTH_APP_DEFINITION, SCHEMAVAULTS_AUTH_SERVER, } from "@schemavaults/app-definitions";
|
|
2
|
+
import { jwtVerify } from "jose";
|
|
3
|
+
import signVerifyAlg, { sign_verify_alg } from "../jwt/sign_verify_alg";
|
|
4
|
+
export async function verifyJwksAccessProofToken({ token, api_server_id, public_key, }) {
|
|
5
|
+
if (typeof token !== "string") {
|
|
6
|
+
throw new TypeError("Expected token to verify to be a string!");
|
|
7
|
+
}
|
|
8
|
+
if (!apiServerIdSchema.safeParse(api_server_id)) {
|
|
9
|
+
throw new TypeError("Invalid API server ID!");
|
|
10
|
+
}
|
|
11
|
+
if (api_server_id === SCHEMAVAULTS_AUTH_SERVER.api_server_id) {
|
|
12
|
+
throw new Error(`'${SCHEMAVAULTS_AUTH_SERVER.api_server_id}' does not use JWKS access proof tokens`);
|
|
13
|
+
}
|
|
14
|
+
const payload = await jwtVerify(token, public_key, {
|
|
15
|
+
audience: SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id,
|
|
16
|
+
issuer: api_server_id,
|
|
17
|
+
subject: api_server_id,
|
|
18
|
+
algorithms: [signVerifyAlg],
|
|
19
|
+
});
|
|
20
|
+
if (payload.payload.aud !== SCHEMAVAULTS_AUTH_APP_DEFINITION.app_id) {
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
if (payload.payload.sub !== api_server_id ||
|
|
24
|
+
payload.payload.iss !== api_server_id) {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
if (payload.protectedHeader.alg !== sign_verify_alg) {
|
|
28
|
+
return false;
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
export default verifyJwksAccessProofToken;
|
|
33
|
+
//# sourceMappingURL=verifyJwksAccessProofToken.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verifyJwksAccessProofToken.js","sourceRoot":"","sources":["../../src/JwksAccessProofToken/verifyJwksAccessProofToken.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EACjB,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,aAAa,EAAE,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAQvE,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAAC,EAC/C,KAAK,EACL,aAAa,EACb,UAAU,GACkB;IAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,SAAS,CAAC,0CAA0C,CAAC,CAAC;IAClE,CAAC;IAED,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,CAAC;QAChD,MAAM,IAAI,SAAS,CAAC,wBAAwB,CAAC,CAAC;IAChD,CAAC;IAED,IAAI,aAAa,KAAK,wBAAwB,CAAC,aAAa,EAAE,CAAC;QAC7D,MAAM,IAAI,KAAK,CACb,IAAI,wBAAwB,CAAC,aAAa,yCAAyC,CACpF,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,KAAK,EAAE,UAAU,EAAE;QACjD,QAAQ,EAAE,gCAAgC,CAAC,MAAM;QACjD,MAAM,EAAE,aAAa;QACrB,OAAO,EAAE,aAAa;QACtB,UAAU,EAAE,CAAC,aAAa,CAAC;KAC5B,CAAC,CAAC;IAEH,IAAI,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,gCAAgC,CAAC,MAAM,EAAE,CAAC;QACpE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IACE,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,aAAa;QACrC,OAAO,CAAC,OAAO,CAAC,GAAG,KAAK,aAAa,EACrC,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG,KAAK,eAAe,EAAE,CAAC;QACpD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,eAAe,0BAA0B,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
export * from
|
|
2
|
-
export type * from
|
|
1
|
+
export * from "./jwt";
|
|
2
|
+
export type * from "./jwt";
|
|
3
|
+
export { createJwksAccessProofToken, verifyJwksAccessProofToken, } from "./JwksAccessProofToken";
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,cAAc,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,+BAA+B;AAC/B,cAAc,OAAO,CAAC;AAGtB,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,GAC3B,MAAM,wBAAwB,CAAC"}
|
package/dist/jwt/index.d.ts
CHANGED
|
@@ -2,12 +2,12 @@ export { decodeJWT } from "./decode";
|
|
|
2
2
|
export { getExpiryTime, getExpiryDurationString } from "./expiry";
|
|
3
3
|
export { JWT_Factory } from "./jwt-factory";
|
|
4
4
|
export type { CustomJWTPayload } from "./payload_data";
|
|
5
|
-
export { JWT_Keys, generateNewJwtKeySet, generateJwtSigningKeyPair, generateJwtContentEncryptionKeyPair, to_public_jwks, importAsymmetricJWK, jsonSerializedJwtKeySchema, PEMFormat, } from "./jwt_keys";
|
|
5
|
+
export { JWT_Keys, generateNewJwtKeySet, generateJwtSigningKeyPair, generateJwtContentEncryptionKeyPair, to_public_jwks, importAsymmetricJWK, jsonSerializedJwtKeySchema, PEMFormat, ContentEncryptionKeyPairFactory, SigningKeyPairFactory, } from "./jwt_keys";
|
|
6
6
|
export type * from "./jwt_keys";
|
|
7
7
|
export { getKeysetIdFromToken } from "./get_keyset_id_from_token";
|
|
8
8
|
export { default as getAudienceFromToken } from "./get_audience_from_token";
|
|
9
9
|
export { refreshTokenExpiry, accessTokenExpiry } from "./expiry";
|
|
10
|
-
export { jwtVerify, importSPKI, SignJWT } from "jose";
|
|
10
|
+
export { jwtVerify, importSPKI, SignJWT, importPKCS8 } from "jose";
|
|
11
11
|
export type { JWTPayload, JWTVerifyResult } from "jose";
|
|
12
12
|
export { sign_verify_alg } from "./sign_verify_alg";
|
|
13
13
|
export { encrypt_decrypt_alg } from "./encrypt_decrypt_alg";
|
package/dist/jwt/index.js
CHANGED
|
@@ -2,12 +2,12 @@
|
|
|
2
2
|
export { decodeJWT } from "./decode";
|
|
3
3
|
export { getExpiryTime, getExpiryDurationString } from "./expiry";
|
|
4
4
|
export { JWT_Factory } from "./jwt-factory";
|
|
5
|
-
export { JWT_Keys, generateNewJwtKeySet, generateJwtSigningKeyPair, generateJwtContentEncryptionKeyPair, to_public_jwks, importAsymmetricJWK, jsonSerializedJwtKeySchema, PEMFormat, } from "./jwt_keys";
|
|
5
|
+
export { JWT_Keys, generateNewJwtKeySet, generateJwtSigningKeyPair, generateJwtContentEncryptionKeyPair, to_public_jwks, importAsymmetricJWK, jsonSerializedJwtKeySchema, PEMFormat, ContentEncryptionKeyPairFactory, SigningKeyPairFactory, } from "./jwt_keys";
|
|
6
6
|
export { getKeysetIdFromToken } from "./get_keyset_id_from_token";
|
|
7
7
|
export { default as getAudienceFromToken } from "./get_audience_from_token";
|
|
8
8
|
export { refreshTokenExpiry, accessTokenExpiry } from "./expiry";
|
|
9
9
|
// Re-export jose functions for JWKS access key verification
|
|
10
|
-
export { jwtVerify, importSPKI, SignJWT } from "jose";
|
|
10
|
+
export { jwtVerify, importSPKI, SignJWT, importPKCS8 } from "jose";
|
|
11
11
|
// Algorithms used
|
|
12
12
|
export { sign_verify_alg } from "./sign_verify_alg";
|
|
13
13
|
export { encrypt_decrypt_alg } from "./encrypt_decrypt_alg";
|
package/dist/jwt/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jwt/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,yBAAyB,EACzB,mCAAmC,EACnC,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,SAAS,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/jwt/index.ts"],"names":[],"mappings":"AAAA,0CAA0C;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AACrC,OAAO,EAAE,aAAa,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAI5C,OAAO,EACL,QAAQ,EACR,oBAAoB,EACpB,yBAAyB,EACzB,mCAAmC,EACnC,cAAc,EACd,mBAAmB,EACnB,0BAA0B,EAC1B,SAAS,EACT,+BAA+B,EAC/B,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAE5E,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEjE,4DAA4D;AAC5D,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,MAAM,CAAC;AAGnE,kBAAkB;AAClB,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { PEMFormat } from "./pem-format";
|
|
1
|
+
import PEMFormat from "./pem-format";
|
|
3
2
|
export class AbstractBaseKeyPairFactory {
|
|
4
3
|
debug;
|
|
5
4
|
constructor(options = {}) {
|
|
@@ -14,8 +13,8 @@ export class AbstractBaseKeyPairFactory {
|
|
|
14
13
|
return [privateKey, publicKey];
|
|
15
14
|
case "base64url":
|
|
16
15
|
return [
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
PEMFormat.parsePem(privateKey, "PRIVATE").toBase64Url(),
|
|
17
|
+
PEMFormat.parsePem(publicKey, "PUBLIC").toBase64Url(),
|
|
19
18
|
];
|
|
20
19
|
default:
|
|
21
20
|
throw new Error("Received invalid 'export_method' to generate key pair with!");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AbstractBaseKeyPairFactory.js","sourceRoot":"","sources":["../../../src/jwt/jwt_keys/AbstractBaseKeyPairFactory.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"AbstractBaseKeyPairFactory.js","sourceRoot":"","sources":["../../../src/jwt/jwt_keys/AbstractBaseKeyPairFactory.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,cAAc,CAAC;AAMrC,MAAM,OAAgB,0BAA0B;IAC3B,KAAK,CAAU;IAElC,YAAmB,UAAqC,EAAE;QACxD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;IACtC,CAAC;IAES,MAAM,CAAC,WAAW,CAC1B,GAAgB,EAChB,QAA8B;QAE9B,OAAO,SAAS,CAAC,WAAW,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAES,MAAM,CAAC,aAAa,CAC5B,CAAC,UAAU,EAAE,SAAS,CAAmD,EACzE,aAAkC;QAElC,QAAQ,aAAa,EAAE,CAAC;YACtB,KAAK,KAAK;gBACR,OAAO,CAAC,UAAU,EAAE,SAAS,CAG5B,CAAC;YACJ,KAAK,WAAW;gBACd,OAAO;oBACL,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,WAAW,EAAE;oBACvD,SAAS,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC,WAAW,EAAE;iBACT,CAAC;YACjD;gBACE,MAAM,IAAI,KAAK,CACb,6DAA6D,CAC9D,CAAC;QACN,CAAC;IACH,CAAC;CAKF;AAED,eAAe,0BAA0B,CAAC"}
|
|
@@ -1,13 +1,12 @@
|
|
|
1
1
|
export { JWT_Keys, JWT_Keys as default } from "./jwt_keys";
|
|
2
|
-
export type { I_JWT_Keys } from
|
|
3
|
-
export { jsonSerializedJwtKeySchema } from
|
|
4
|
-
export type { JsonSerializedJwtKey } from
|
|
5
|
-
export { ContentEncryptionKeyPairFactory } from
|
|
2
|
+
export type { I_JWT_Keys } from "./I_JWT_Keys";
|
|
3
|
+
export { jsonSerializedJwtKeySchema } from "./JsonSerializedJwtKey";
|
|
4
|
+
export type { JsonSerializedJwtKey } from "./JsonSerializedJwtKey";
|
|
5
|
+
export { ContentEncryptionKeyPairFactory } from "./ContentEncryptionKeyPairFactory";
|
|
6
6
|
export { SigningKeyPairFactory } from "./SigningKeyPairFactory";
|
|
7
|
-
export { generateNewJwtKeySet, generateJwtContentEncryptionKeyPair, generateJwtSigningKeyPair } from
|
|
8
|
-
|
|
9
|
-
export {
|
|
10
|
-
export type {
|
|
11
|
-
export type { JWKS } from './JWKS';
|
|
7
|
+
export { generateNewJwtKeySet, generateJwtContentEncryptionKeyPair, generateJwtSigningKeyPair, } from "./generate_new_jwt_keyset";
|
|
8
|
+
export { to_public_jwks } from "./to_public_jwks";
|
|
9
|
+
export type { JWK } from "./JWK";
|
|
10
|
+
export type { JWKS } from "./JWKS";
|
|
12
11
|
export { importAsymmetricJWK } from "./importAsymmetricJWK";
|
|
13
|
-
export { PEMFormat } from
|
|
12
|
+
export { PEMFormat } from "./pem-format";
|
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
// jwt_keys/index.ts
|
|
2
2
|
// JWT_Keys contains a set of keys used for JWT encryption and signing
|
|
3
3
|
export { JWT_Keys, JWT_Keys as default } from "./jwt_keys";
|
|
4
|
-
export { jsonSerializedJwtKeySchema } from
|
|
5
|
-
export { ContentEncryptionKeyPairFactory } from
|
|
4
|
+
export { jsonSerializedJwtKeySchema } from "./JsonSerializedJwtKey";
|
|
5
|
+
export { ContentEncryptionKeyPairFactory } from "./ContentEncryptionKeyPairFactory";
|
|
6
6
|
export { SigningKeyPairFactory } from "./SigningKeyPairFactory";
|
|
7
|
-
export { generateNewJwtKeySet, generateJwtContentEncryptionKeyPair, generateJwtSigningKeyPair } from
|
|
8
|
-
|
|
9
|
-
export { to_public_jwks };
|
|
7
|
+
export { generateNewJwtKeySet, generateJwtContentEncryptionKeyPair, generateJwtSigningKeyPair, } from "./generate_new_jwt_keyset";
|
|
8
|
+
export { to_public_jwks } from "./to_public_jwks";
|
|
10
9
|
export { importAsymmetricJWK } from "./importAsymmetricJWK";
|
|
11
|
-
export { PEMFormat } from
|
|
10
|
+
export { PEMFormat } from "./pem-format";
|
|
12
11
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/jwt/jwt_keys/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,sEAAsE;AAEtE,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EACL,oBAAoB,EACpB,mCAAmC,EACnC,yBAAyB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/jwt/jwt_keys/index.ts"],"names":[],"mappings":"AAAA,oBAAoB;AACpB,sEAAsE;AAEtE,OAAO,EAAE,QAAQ,EAAE,QAAQ,IAAI,OAAO,EAAE,MAAM,YAAY,CAAC;AAG3D,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,EAAE,+BAA+B,EAAE,MAAM,mCAAmC,CAAC;AACpF,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,OAAO,EACL,oBAAoB,EACpB,mCAAmC,EACnC,yBAAyB,GAC1B,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAIlD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -6,6 +6,8 @@
|
|
|
6
6
|
* @see PEMFormat.isPemFormat()
|
|
7
7
|
*/
|
|
8
8
|
export declare class PEMFormat {
|
|
9
|
+
private readonly _pem;
|
|
10
|
+
private readonly _key_type;
|
|
9
11
|
private constructor();
|
|
10
12
|
private static arrayBufferToBase64;
|
|
11
13
|
private static addNewLines;
|
|
@@ -13,5 +15,10 @@ export declare class PEMFormat {
|
|
|
13
15
|
private static getPemSuffix;
|
|
14
16
|
static toPemFormat(key: ArrayBuffer, key_type: "PUBLIC" | "PRIVATE"): string;
|
|
15
17
|
static isPemFormat(key: string, key_type: "PUBLIC" | "PRIVATE"): boolean;
|
|
18
|
+
static parsePem(pem: string, key_type: "PUBLIC" | "PRIVATE"): PEMFormat;
|
|
19
|
+
get value(): string;
|
|
20
|
+
get key_type(): "PUBLIC" | "PRIVATE";
|
|
21
|
+
toBase64Url(): string;
|
|
22
|
+
static fromBase64Url(base64url_encoded_pem_key: string, key_type: "PUBLIC" | "PRIVATE"): PEMFormat;
|
|
16
23
|
}
|
|
17
24
|
export default PEMFormat;
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import isValidBase64UrlEncoding from "../../utils/isValidBase64UrlEncoding";
|
|
2
|
+
import { base64url } from "jose";
|
|
1
3
|
/**
|
|
2
4
|
* @name PEMFormat
|
|
3
5
|
* @class
|
|
@@ -6,7 +8,21 @@
|
|
|
6
8
|
* @see PEMFormat.isPemFormat()
|
|
7
9
|
*/
|
|
8
10
|
export class PEMFormat {
|
|
9
|
-
|
|
11
|
+
_pem;
|
|
12
|
+
_key_type;
|
|
13
|
+
constructor(pem, key_type) {
|
|
14
|
+
if (typeof pem !== "string") {
|
|
15
|
+
throw new TypeError("Expected 'pem' key to be a string!");
|
|
16
|
+
}
|
|
17
|
+
if (key_type !== "PUBLIC" && key_type !== "PRIVATE") {
|
|
18
|
+
throw new TypeError("Expected 'key_type' to be 'PUBLIC' or 'PRIVATE'");
|
|
19
|
+
}
|
|
20
|
+
if (!PEMFormat.isPemFormat(pem, key_type)) {
|
|
21
|
+
throw new TypeError("Key does not appear to be in valid PEM format!");
|
|
22
|
+
}
|
|
23
|
+
this._pem = pem;
|
|
24
|
+
this._key_type = key_type;
|
|
25
|
+
}
|
|
10
26
|
static arrayBufferToBase64(arrayBuffer) {
|
|
11
27
|
let byteArray = new Uint8Array(arrayBuffer);
|
|
12
28
|
let byteString = "";
|
|
@@ -64,6 +80,37 @@ export class PEMFormat {
|
|
|
64
80
|
}
|
|
65
81
|
return true;
|
|
66
82
|
}
|
|
83
|
+
static parsePem(pem, key_type) {
|
|
84
|
+
if (key_type !== "PUBLIC" && key_type !== "PRIVATE") {
|
|
85
|
+
throw new TypeError("Expected 'key_type' to be 'PUBLIC' or 'PRIVATE'");
|
|
86
|
+
}
|
|
87
|
+
return new PEMFormat(pem, key_type);
|
|
88
|
+
}
|
|
89
|
+
get value() {
|
|
90
|
+
return this._pem;
|
|
91
|
+
}
|
|
92
|
+
get key_type() {
|
|
93
|
+
return this._key_type;
|
|
94
|
+
}
|
|
95
|
+
toBase64Url() {
|
|
96
|
+
return base64url.encode(this._pem);
|
|
97
|
+
}
|
|
98
|
+
static fromBase64Url(base64url_encoded_pem_key, key_type) {
|
|
99
|
+
if (typeof base64url_encoded_pem_key !== "string") {
|
|
100
|
+
throw new TypeError("Expected 'base64url_encoded_pem_key' key to be a string!");
|
|
101
|
+
}
|
|
102
|
+
else if (!isValidBase64UrlEncoding(base64url_encoded_pem_key)) {
|
|
103
|
+
throw new TypeError("'base64url_encoded_pem_key' does not appear to be base64url-encoded!");
|
|
104
|
+
}
|
|
105
|
+
if (key_type !== "PUBLIC" && key_type !== "PRIVATE") {
|
|
106
|
+
throw new TypeError("Expected 'key_type' to be 'PUBLIC' or 'PRIVATE'");
|
|
107
|
+
}
|
|
108
|
+
const decoded = base64url.decode(base64url_encoded_pem_key).toString();
|
|
109
|
+
if (typeof decoded !== "string") {
|
|
110
|
+
throw new TypeError("Expected 'decoded' key to be a string!");
|
|
111
|
+
}
|
|
112
|
+
return new PEMFormat(decoded, key_type);
|
|
113
|
+
}
|
|
67
114
|
}
|
|
68
115
|
export default PEMFormat;
|
|
69
116
|
//# sourceMappingURL=pem-format.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pem-format.js","sourceRoot":"","sources":["../../../src/jwt/jwt_keys/pem-format.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,OAAO,SAAS;
|
|
1
|
+
{"version":3,"file":"pem-format.js","sourceRoot":"","sources":["../../../src/jwt/jwt_keys/pem-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,8 +31,12 @@ export async function to_public_jwks(active_keysets) {
|
|
|
31
31
|
continue;
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
|
+
const keys = output_jwks;
|
|
35
|
+
if (keys.length === 0) {
|
|
36
|
+
console.warn("[to_public_jwks] Output 'keys' array is empty!");
|
|
37
|
+
}
|
|
34
38
|
return {
|
|
35
|
-
keys
|
|
39
|
+
keys,
|
|
36
40
|
};
|
|
37
41
|
}
|
|
38
42
|
export default to_public_jwks;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"to_public_jwks.js","sourceRoot":"","sources":["../../../src/jwt/jwt_keys/to_public_jwks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAY,MAAM,MAAM,CAAC;AAC3C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,cAAkD;IAElD,MAAM,OAAO,GAA0B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;QAClE,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAErB,MAAM,WAAW,GAAU,EAAE,CAAC;IAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAW,MAAM,CAAC,SAAS,CAAC;QAE3C,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC9D,8CAA8C;YAC9C,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GACf,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAe,GAAG,CAAC,QAAQ,CAAC;YAC1C,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAC7D,SAAS,CAAC,yDAAyD;YACrE,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,0CAA0C,CAC/D,CAAC;YACJ,CAAC;YACD,MAAM,kBAAkB,GAAc,MAAM,MAAM,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC;YAEtE,MAAM,GAAG,GAAW,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAE5C,MAAM,GAAG,GAAQ,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACrD,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG,GAAG;gBACN,GAAG,EAAE,GAAG,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACnC,GAAG;aACJ,CAAC,CAAC;YACH,SAAS;QACX,CAAC;IACH,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"to_public_jwks.js","sourceRoot":"","sources":["../../../src/jwt/jwt_keys/to_public_jwks.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAY,MAAM,MAAM,CAAC;AAC3C,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,cAAkD;IAElD,MAAM,OAAO,GAA0B,KAAK,CAAC,OAAO,CAAC,cAAc,CAAC;QAClE,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC;IAErB,MAAM,WAAW,GAAU,EAAE,CAAC;IAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAW,MAAM,CAAC,SAAS,CAAC;QAE3C,IAAI,MAAM,CAAC,aAAa,IAAI,MAAM,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YAC9D,8CAA8C;YAC9C,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GACf,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAC9B,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,MAAM,QAAQ,GAAe,GAAG,CAAC,QAAQ,CAAC;YAC1C,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAC7D,SAAS,CAAC,yDAAyD;YACrE,CAAC;YACD,IAAI,GAAG,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;gBAChC,MAAM,IAAI,KAAK,CACb,WAAW,SAAS,0CAA0C,CAC/D,CAAC;YACJ,CAAC;YACD,MAAM,kBAAkB,GAAc,MAAM,MAAM,CAAC,GAAG,QAAQ,MAAM,CAAC,CAAC;YAEtE,MAAM,GAAG,GAAW,kBAAkB,CAAC,GAAG,CAAC,CAAC;YAE5C,MAAM,GAAG,GAAQ,MAAM,SAAS,CAAC,kBAAkB,CAAC,CAAC;YACrD,WAAW,CAAC,IAAI,CAAC;gBACf,GAAG,GAAG;gBACN,GAAG,EAAE,GAAG,SAAS,IAAI,GAAG,CAAC,QAAQ,EAAE;gBACnC,GAAG;aACJ,CAAC,CAAC;YACH,SAAS;QACX,CAAC;IACH,CAAC;IAED,MAAM,IAAI,GAAmB,WAAW,CAAC;IACzC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;IACjE,CAAC;IAED,OAAO;QACL,IAAI;KACL,CAAC;AACJ,CAAC;AAED,eAAe,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@schemavaults/jwt",
|
|
3
3
|
"description": "Utility functions for authentication and authorization for use from the auth server or a resource server",
|
|
4
|
-
"version": "0.6.
|
|
4
|
+
"version": "0.6.21",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"private": false,
|
|
7
7
|
"repository": {
|
|
@@ -16,8 +16,8 @@
|
|
|
16
16
|
"dependencies": {
|
|
17
17
|
"zod": "3.23.8",
|
|
18
18
|
"jose": "6.1.3",
|
|
19
|
-
"@schemavaults/auth-common": "0.
|
|
20
|
-
"@schemavaults/app-definitions": "0.6.
|
|
19
|
+
"@schemavaults/auth-common": "0.8.1",
|
|
20
|
+
"@schemavaults/app-definitions": "0.6.12"
|
|
21
21
|
},
|
|
22
22
|
"scripts": {
|
|
23
23
|
"build": "tsc --project tsconfig.json && tsc-alias --project tsconfig.json",
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
"cleanup:delete-tests-dir": "rm -rf ./dist/tests",
|
|
27
27
|
"cleanup": "bun run cleanup:delete-tests-dir && bun run cleanup:compiled-tests-output",
|
|
28
28
|
"postbuild": "bun run cleanup",
|
|
29
|
-
"lint": "eslint src --ext .ts,.tsx"
|
|
29
|
+
"lint": "eslint src --ext .ts,.tsx",
|
|
30
|
+
"typecheck": "tsc --project tsconfig.json --noEmit"
|
|
30
31
|
},
|
|
31
32
|
"devDependencies": {
|
|
32
33
|
"typescript": "5.9.3",
|