@sphereon/ssi-sdk.oidf-client 0.36.1-next.11 → 0.36.1-next.113

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/index.cjs CHANGED
@@ -41,7 +41,10 @@ var require_plugin_schema = __commonJS({
41
41
  }
42
42
  }
43
43
  },
44
- required: ["entityIdentifier", "trustAnchors"],
44
+ required: [
45
+ "entityIdentifier",
46
+ "trustAnchors"
47
+ ],
45
48
  additionalProperties: false
46
49
  },
47
50
  TrustChainResolveResponse: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../plugin.schema.json","../src/index.ts","../src/agent/OIDFClient.ts"],"sourcesContent":["{\n \"IOIDFClient\": {\n \"components\": {\n \"schemas\": {\n \"ResolveTrustChainArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"entityIdentifier\": {\n \"type\": \"string\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"entityIdentifier\", \"trustAnchors\"],\n \"additionalProperties\": false\n },\n \"TrustChainResolveResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false\n }\n },\n \"methods\": {\n \"resolveTrustChain\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ResolveTrustChainArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/TrustChainResolveResponse\"\n }\n }\n }\n }\n }\n}\n","import { Loggers } from '@sphereon/ssi-types'\n\n/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\n\nexport const logger = Loggers.DEFAULT.get('sphereon:oidf-client')\n\nexport { OIDFClient, oidfClientMethods } from './agent/OIDFClient'\n\nexport * from './types/IOIDFClient'\n","import { JoseCurveString, JoseSignatureAlgorithmString, JwkKeyTypeString } from '@sphereon/ssi-types'\nimport { IAgentPlugin } from '@veramo/core'\nimport { schema } from '../'\nimport { IOIDFClient, IRequiredContext, OIDFClientArgs, ResolveTrustChainArgs } from '../types/IOIDFClient'\nimport { FederationClient, ICryptoService, Jwk, TrustChainResolveResponse } from '@sphereon/openid-federation-client'\n\nexport const oidfClientMethods: Array<string> = ['resolveTrustChain']\n\nexport class OIDFClient implements IAgentPlugin {\n // private readonly fetchServiceCallback?: IFetchService\n private readonly cryptoServiceCallback?: ICryptoService\n readonly methods: IOIDFClient = {\n resolveTrustChain: this.resolveTrustChain.bind(this),\n }\n readonly schema = schema.IOIDFClient\n\n constructor(args?: OIDFClientArgs) {\n const { /*fetchServiceCallback,*/ cryptoServiceCallback } = { ...args }\n\n // this.fetchServiceCallback = fetchServiceCallback\n this.cryptoServiceCallback = cryptoServiceCallback\n }\n\n private defaultCryptoJSImpl(context: IRequiredContext): ICryptoService {\n return {\n verify: async (jwt: string, key: Jwk): Promise<boolean> => {\n const verification = await context.agent.jwtVerifyJwsSignature({\n jws: jwt,\n jwk: {\n alg: key.alg as JoseSignatureAlgorithmString | undefined,\n crv: key.crv as JoseCurveString | undefined,\n kty: key.kty as JwkKeyTypeString,\n x: key.x ?? (undefined as string | undefined),\n y: key.y ?? (undefined as string | undefined),\n n: key.n ?? (undefined as string | undefined),\n e: key.e ?? (undefined as string | undefined),\n use: key.use ?? (undefined as string | undefined),\n kid: key.kid,\n },\n })\n return !verification.error\n },\n }\n }\n /*\n private defaultFetchJSImpl(context: IRequiredContext): IFetchService {\n return {\n async fetchStatement(endpoint: string): Promise<string> {\n const requestInfo = new Request(endpoint, {\n method: 'GET',\n })\n\n const response = await context.agent.resourceResolve({\n input: requestInfo,\n resourceType: 'application/entity-statement+jwt',\n })\n\n if (response.status != 200) {\n throw new Error(`Failed to fetch statement from ${endpoint}`)\n }\n\n return await response.text()\n },\n }\n }*/\n\n private getOIDFClient(context: IRequiredContext): FederationClient {\n return new FederationClient(\n this.cryptoServiceCallback || this.defaultCryptoJSImpl(context),\n // this.fetchServiceCallback || this.defaultFetchJSImpl(context),\n )\n }\n\n private async resolveTrustChain(args: ResolveTrustChainArgs, context: IRequiredContext): Promise<TrustChainResolveResponse> {\n const { entityIdentifier, trustAnchors } = args\n\n const oidfClient = this.getOIDFClient(context)\n\n return await oidfClient.resolveTrustChain(entityIdentifier, trustAnchors, 10)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,gCAAAA,SAAA;AAAA,IAAAA,QAAA;AAAA,MACE,aAAe;AAAA,QACb,YAAc;AAAA,UACZ,SAAW;AAAA,YACT,uBAAyB;AAAA,cACvB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY,CAAC,oBAAoB,cAAc;AAAA,cAC/C,sBAAwB;AAAA,YAC1B;AAAA,YACA,2BAA6B;AAAA,cAC3B,MAAQ;AAAA,cACR,sBAAwB;AAAA,YAC1B;AAAA,UACF;AAAA,UACA,SAAW;AAAA,YACT,mBAAqB;AAAA,cACnB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACtCA;;;;;;;;AAAA,uBAAwB;;;ACIxB,sCAAiF;AAE1E,IAAMC,oBAAmC;EAAC;;AAE1C,IAAMC,aAAN,MAAMA;EANb,OAMaA;;;;EAEMC;EACRC,UAAuB;IAC9BC,mBAAmB,KAAKA,kBAAkBC,KAAK,IAAI;EACrD;EACSC,SAASA,OAAOC;EAEzB,YAAYC,MAAuB;AACjC,UAAM,EAA4BN,sBAAqB,IAAK;MAAE,GAAGM;IAAK;AAGtE,SAAKN,wBAAwBA;EAC/B;EAEQO,oBAAoBC,SAA2C;AACrE,WAAO;MACLC,QAAQ,8BAAOC,KAAaC,QAAAA;AAC1B,cAAMC,eAAe,MAAMJ,QAAQK,MAAMC,sBAAsB;UAC7DC,KAAKL;UACLM,KAAK;YACHC,KAAKN,IAAIM;YACTC,KAAKP,IAAIO;YACTC,KAAKR,IAAIQ;YACTC,GAAGT,IAAIS,KAAMC;YACbC,GAAGX,IAAIW,KAAMD;YACbE,GAAGZ,IAAIY,KAAMF;YACbG,GAAGb,IAAIa,KAAMH;YACbI,KAAKd,IAAIc,OAAQJ;YACjBK,KAAKf,IAAIe;UACX;QACF,CAAA;AACA,eAAO,CAACd,aAAae;MACvB,GAhBQ;IAiBV;EACF;;;;;;;;;;;;;;;;;;;;;;EAuBQC,cAAcpB,SAA6C;AACjE,WAAO,IAAIqB,iDACT,KAAK7B,yBAAyB,KAAKO,oBAAoBC,OAAAA,CAAAA;EAG3D;EAEA,MAAcN,kBAAkBI,MAA6BE,SAA+D;AAC1H,UAAM,EAAEsB,kBAAkBC,aAAY,IAAKzB;AAE3C,UAAM0B,aAAa,KAAKJ,cAAcpB,OAAAA;AAEtC,WAAO,MAAMwB,WAAW9B,kBAAkB4B,kBAAkBC,cAAc,EAAA;EAC5E;AACF;;;AD3EA,IAAME,SAASC;AAGR,IAAMC,SAASC,yBAAQC,QAAQC,IAAI,sBAAA;","names":["module","oidfClientMethods","OIDFClient","cryptoServiceCallback","methods","resolveTrustChain","bind","schema","IOIDFClient","args","defaultCryptoJSImpl","context","verify","jwt","key","verification","agent","jwtVerifyJwsSignature","jws","jwk","alg","crv","kty","x","undefined","y","n","e","use","kid","error","getOIDFClient","FederationClient","entityIdentifier","trustAnchors","oidfClient","schema","require","logger","Loggers","DEFAULT","get"]}
1
+ {"version":3,"sources":["../plugin.schema.json","../src/index.ts","../src/agent/OIDFClient.ts"],"sourcesContent":["{\n \"IOIDFClient\": {\n \"components\": {\n \"schemas\": {\n \"ResolveTrustChainArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"entityIdentifier\": {\n \"type\": \"string\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"entityIdentifier\",\n \"trustAnchors\"\n ],\n \"additionalProperties\": false\n },\n \"TrustChainResolveResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false\n }\n },\n \"methods\": {\n \"resolveTrustChain\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ResolveTrustChainArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/TrustChainResolveResponse\"\n }\n }\n }\n }\n }\n}","import { Loggers } from '@sphereon/ssi-types'\n\n/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\n\nexport const logger = Loggers.DEFAULT.get('sphereon:oidf-client')\n\nexport { OIDFClient, oidfClientMethods } from './agent/OIDFClient'\n\nexport * from './types/IOIDFClient'\n","import { JoseCurveString, JoseSignatureAlgorithmString, JwkKeyTypeString } from '@sphereon/ssi-types'\nimport { IAgentPlugin } from '@veramo/core'\nimport { schema } from '../'\nimport { IOIDFClient, IRequiredContext, OIDFClientArgs, ResolveTrustChainArgs } from '../types/IOIDFClient'\nimport { FederationClient, ICryptoService, Jwk, TrustChainResolveResponse } from '@sphereon/openid-federation-client'\n\nexport const oidfClientMethods: Array<string> = ['resolveTrustChain']\n\nexport class OIDFClient implements IAgentPlugin {\n // private readonly fetchServiceCallback?: IFetchService\n private readonly cryptoServiceCallback?: ICryptoService\n readonly methods: IOIDFClient = {\n resolveTrustChain: this.resolveTrustChain.bind(this),\n }\n readonly schema = schema.IOIDFClient\n\n constructor(args?: OIDFClientArgs) {\n const { /*fetchServiceCallback,*/ cryptoServiceCallback } = { ...args }\n\n // this.fetchServiceCallback = fetchServiceCallback\n this.cryptoServiceCallback = cryptoServiceCallback\n }\n\n private defaultCryptoJSImpl(context: IRequiredContext): ICryptoService {\n return {\n verify: async (jwt: string, key: Jwk): Promise<boolean> => {\n const verification = await context.agent.jwtVerifyJwsSignature({\n jws: jwt,\n jwk: {\n alg: key.alg as JoseSignatureAlgorithmString | undefined,\n crv: key.crv as JoseCurveString | undefined,\n kty: key.kty as JwkKeyTypeString,\n x: key.x ?? (undefined as string | undefined),\n y: key.y ?? (undefined as string | undefined),\n n: key.n ?? (undefined as string | undefined),\n e: key.e ?? (undefined as string | undefined),\n use: key.use ?? (undefined as string | undefined),\n kid: key.kid,\n },\n })\n return !verification.error\n },\n }\n }\n /*\n private defaultFetchJSImpl(context: IRequiredContext): IFetchService {\n return {\n async fetchStatement(endpoint: string): Promise<string> {\n const requestInfo = new Request(endpoint, {\n method: 'GET',\n })\n\n const response = await context.agent.resourceResolve({\n input: requestInfo,\n resourceType: 'application/entity-statement+jwt',\n })\n\n if (response.status != 200) {\n throw new Error(`Failed to fetch statement from ${endpoint}`)\n }\n\n return await response.text()\n },\n }\n }*/\n\n private getOIDFClient(context: IRequiredContext): FederationClient {\n return new FederationClient(\n this.cryptoServiceCallback || this.defaultCryptoJSImpl(context),\n // this.fetchServiceCallback || this.defaultFetchJSImpl(context),\n )\n }\n\n private async resolveTrustChain(args: ResolveTrustChainArgs, context: IRequiredContext): Promise<TrustChainResolveResponse> {\n const { entityIdentifier, trustAnchors } = args\n\n const oidfClient = this.getOIDFClient(context)\n\n return await oidfClient.resolveTrustChain(entityIdentifier, trustAnchors, 10)\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA,gCAAAA,SAAA;AAAA,IAAAA,QAAA;AAAA,MACE,aAAe;AAAA,QACb,YAAc;AAAA,UACZ,SAAW;AAAA,YACT,uBAAyB;AAAA,cACvB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY;AAAA,gBACV;AAAA,gBACA;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,2BAA6B;AAAA,cAC3B,MAAQ;AAAA,cACR,sBAAwB;AAAA,YAC1B;AAAA,UACF;AAAA,UACA,SAAW;AAAA,YACT,mBAAqB;AAAA,cACnB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACzCA;;;;;;;;AAAA,uBAAwB;;;ACIxB,sCAAiF;AAE1E,IAAMC,oBAAmC;EAAC;;AAE1C,IAAMC,aAAN,MAAMA;EANb,OAMaA;;;;EAEMC;EACRC,UAAuB;IAC9BC,mBAAmB,KAAKA,kBAAkBC,KAAK,IAAI;EACrD;EACSC,SAASA,OAAOC;EAEzB,YAAYC,MAAuB;AACjC,UAAM,EAA4BN,sBAAqB,IAAK;MAAE,GAAGM;IAAK;AAGtE,SAAKN,wBAAwBA;EAC/B;EAEQO,oBAAoBC,SAA2C;AACrE,WAAO;MACLC,QAAQ,8BAAOC,KAAaC,QAAAA;AAC1B,cAAMC,eAAe,MAAMJ,QAAQK,MAAMC,sBAAsB;UAC7DC,KAAKL;UACLM,KAAK;YACHC,KAAKN,IAAIM;YACTC,KAAKP,IAAIO;YACTC,KAAKR,IAAIQ;YACTC,GAAGT,IAAIS,KAAMC;YACbC,GAAGX,IAAIW,KAAMD;YACbE,GAAGZ,IAAIY,KAAMF;YACbG,GAAGb,IAAIa,KAAMH;YACbI,KAAKd,IAAIc,OAAQJ;YACjBK,KAAKf,IAAIe;UACX;QACF,CAAA;AACA,eAAO,CAACd,aAAae;MACvB,GAhBQ;IAiBV;EACF;;;;;;;;;;;;;;;;;;;;;;EAuBQC,cAAcpB,SAA6C;AACjE,WAAO,IAAIqB,iDACT,KAAK7B,yBAAyB,KAAKO,oBAAoBC,OAAAA,CAAAA;EAG3D;EAEA,MAAcN,kBAAkBI,MAA6BE,SAA+D;AAC1H,UAAM,EAAEsB,kBAAkBC,aAAY,IAAKzB;AAE3C,UAAM0B,aAAa,KAAKJ,cAAcpB,OAAAA;AAEtC,WAAO,MAAMwB,WAAW9B,kBAAkB4B,kBAAkBC,cAAc,EAAA;EAC5E;AACF;;;AD3EA,IAAME,SAASC;AAGR,IAAMC,SAASC,yBAAQC,QAAQC,IAAI,sBAAA;","names":["module","oidfClientMethods","OIDFClient","cryptoServiceCallback","methods","resolveTrustChain","bind","schema","IOIDFClient","args","defaultCryptoJSImpl","context","verify","jwt","key","verification","agent","jwtVerifyJwsSignature","jws","jwk","alg","crv","kty","x","undefined","y","n","e","use","kid","error","getOIDFClient","FederationClient","entityIdentifier","trustAnchors","oidfClient","schema","require","logger","Loggers","DEFAULT","get"]}
package/dist/index.js CHANGED
@@ -25,7 +25,10 @@ var require_plugin_schema = __commonJS({
25
25
  }
26
26
  }
27
27
  },
28
- required: ["entityIdentifier", "trustAnchors"],
28
+ required: [
29
+ "entityIdentifier",
30
+ "trustAnchors"
31
+ ],
29
32
  additionalProperties: false
30
33
  },
31
34
  TrustChainResolveResponse: {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../plugin.schema.json","../src/index.ts","../src/agent/OIDFClient.ts"],"sourcesContent":["{\n \"IOIDFClient\": {\n \"components\": {\n \"schemas\": {\n \"ResolveTrustChainArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"entityIdentifier\": {\n \"type\": \"string\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\"entityIdentifier\", \"trustAnchors\"],\n \"additionalProperties\": false\n },\n \"TrustChainResolveResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false\n }\n },\n \"methods\": {\n \"resolveTrustChain\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ResolveTrustChainArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/TrustChainResolveResponse\"\n }\n }\n }\n }\n }\n}\n","import { Loggers } from '@sphereon/ssi-types'\n\n/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\n\nexport const logger = Loggers.DEFAULT.get('sphereon:oidf-client')\n\nexport { OIDFClient, oidfClientMethods } from './agent/OIDFClient'\n\nexport * from './types/IOIDFClient'\n","import { JoseCurveString, JoseSignatureAlgorithmString, JwkKeyTypeString } from '@sphereon/ssi-types'\nimport { IAgentPlugin } from '@veramo/core'\nimport { schema } from '../'\nimport { IOIDFClient, IRequiredContext, OIDFClientArgs, ResolveTrustChainArgs } from '../types/IOIDFClient'\nimport { FederationClient, ICryptoService, Jwk, TrustChainResolveResponse } from '@sphereon/openid-federation-client'\n\nexport const oidfClientMethods: Array<string> = ['resolveTrustChain']\n\nexport class OIDFClient implements IAgentPlugin {\n // private readonly fetchServiceCallback?: IFetchService\n private readonly cryptoServiceCallback?: ICryptoService\n readonly methods: IOIDFClient = {\n resolveTrustChain: this.resolveTrustChain.bind(this),\n }\n readonly schema = schema.IOIDFClient\n\n constructor(args?: OIDFClientArgs) {\n const { /*fetchServiceCallback,*/ cryptoServiceCallback } = { ...args }\n\n // this.fetchServiceCallback = fetchServiceCallback\n this.cryptoServiceCallback = cryptoServiceCallback\n }\n\n private defaultCryptoJSImpl(context: IRequiredContext): ICryptoService {\n return {\n verify: async (jwt: string, key: Jwk): Promise<boolean> => {\n const verification = await context.agent.jwtVerifyJwsSignature({\n jws: jwt,\n jwk: {\n alg: key.alg as JoseSignatureAlgorithmString | undefined,\n crv: key.crv as JoseCurveString | undefined,\n kty: key.kty as JwkKeyTypeString,\n x: key.x ?? (undefined as string | undefined),\n y: key.y ?? (undefined as string | undefined),\n n: key.n ?? (undefined as string | undefined),\n e: key.e ?? (undefined as string | undefined),\n use: key.use ?? (undefined as string | undefined),\n kid: key.kid,\n },\n })\n return !verification.error\n },\n }\n }\n /*\n private defaultFetchJSImpl(context: IRequiredContext): IFetchService {\n return {\n async fetchStatement(endpoint: string): Promise<string> {\n const requestInfo = new Request(endpoint, {\n method: 'GET',\n })\n\n const response = await context.agent.resourceResolve({\n input: requestInfo,\n resourceType: 'application/entity-statement+jwt',\n })\n\n if (response.status != 200) {\n throw new Error(`Failed to fetch statement from ${endpoint}`)\n }\n\n return await response.text()\n },\n }\n }*/\n\n private getOIDFClient(context: IRequiredContext): FederationClient {\n return new FederationClient(\n this.cryptoServiceCallback || this.defaultCryptoJSImpl(context),\n // this.fetchServiceCallback || this.defaultFetchJSImpl(context),\n )\n }\n\n private async resolveTrustChain(args: ResolveTrustChainArgs, context: IRequiredContext): Promise<TrustChainResolveResponse> {\n const { entityIdentifier, trustAnchors } = args\n\n const oidfClient = this.getOIDFClient(context)\n\n return await oidfClient.resolveTrustChain(entityIdentifier, trustAnchors, 10)\n }\n}\n"],"mappings":";;;;;;;;AAAA;AAAA;AAAA;AAAA,MACE,aAAe;AAAA,QACb,YAAc;AAAA,UACZ,SAAW;AAAA,YACT,uBAAyB;AAAA,cACvB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY,CAAC,oBAAoB,cAAc;AAAA,cAC/C,sBAAwB;AAAA,YAC1B;AAAA,YACA,2BAA6B;AAAA,cAC3B,MAAQ;AAAA,cACR,sBAAwB;AAAA,YAC1B;AAAA,UACF;AAAA,UACA,SAAW;AAAA,YACT,mBAAqB;AAAA,cACnB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACtCA,SAASA,eAAe;;;ACIxB,SAASC,wBAAwE;AAE1E,IAAMC,oBAAmC;EAAC;;AAE1C,IAAMC,aAAN,MAAMA;EANb,OAMaA;;;;EAEMC;EACRC,UAAuB;IAC9BC,mBAAmB,KAAKA,kBAAkBC,KAAK,IAAI;EACrD;EACSC,SAASA,OAAOC;EAEzB,YAAYC,MAAuB;AACjC,UAAM,EAA4BN,sBAAqB,IAAK;MAAE,GAAGM;IAAK;AAGtE,SAAKN,wBAAwBA;EAC/B;EAEQO,oBAAoBC,SAA2C;AACrE,WAAO;MACLC,QAAQ,8BAAOC,KAAaC,QAAAA;AAC1B,cAAMC,eAAe,MAAMJ,QAAQK,MAAMC,sBAAsB;UAC7DC,KAAKL;UACLM,KAAK;YACHC,KAAKN,IAAIM;YACTC,KAAKP,IAAIO;YACTC,KAAKR,IAAIQ;YACTC,GAAGT,IAAIS,KAAMC;YACbC,GAAGX,IAAIW,KAAMD;YACbE,GAAGZ,IAAIY,KAAMF;YACbG,GAAGb,IAAIa,KAAMH;YACbI,KAAKd,IAAIc,OAAQJ;YACjBK,KAAKf,IAAIe;UACX;QACF,CAAA;AACA,eAAO,CAACd,aAAae;MACvB,GAhBQ;IAiBV;EACF;;;;;;;;;;;;;;;;;;;;;;EAuBQC,cAAcpB,SAA6C;AACjE,WAAO,IAAIqB,iBACT,KAAK7B,yBAAyB,KAAKO,oBAAoBC,OAAAA,CAAAA;EAG3D;EAEA,MAAcN,kBAAkBI,MAA6BE,SAA+D;AAC1H,UAAM,EAAEsB,kBAAkBC,aAAY,IAAKzB;AAE3C,UAAM0B,aAAa,KAAKJ,cAAcpB,OAAAA;AAEtC,WAAO,MAAMwB,WAAW9B,kBAAkB4B,kBAAkBC,cAAc,EAAA;EAC5E;AACF;;;AD3EA,IAAME,SAASC;AAGR,IAAMC,SAASC,QAAQC,QAAQC,IAAI,sBAAA;","names":["Loggers","FederationClient","oidfClientMethods","OIDFClient","cryptoServiceCallback","methods","resolveTrustChain","bind","schema","IOIDFClient","args","defaultCryptoJSImpl","context","verify","jwt","key","verification","agent","jwtVerifyJwsSignature","jws","jwk","alg","crv","kty","x","undefined","y","n","e","use","kid","error","getOIDFClient","FederationClient","entityIdentifier","trustAnchors","oidfClient","schema","require","logger","Loggers","DEFAULT","get"]}
1
+ {"version":3,"sources":["../plugin.schema.json","../src/index.ts","../src/agent/OIDFClient.ts"],"sourcesContent":["{\n \"IOIDFClient\": {\n \"components\": {\n \"schemas\": {\n \"ResolveTrustChainArgs\": {\n \"type\": \"object\",\n \"properties\": {\n \"entityIdentifier\": {\n \"type\": \"string\"\n },\n \"trustAnchors\": {\n \"type\": \"array\",\n \"items\": {\n \"type\": \"string\"\n }\n }\n },\n \"required\": [\n \"entityIdentifier\",\n \"trustAnchors\"\n ],\n \"additionalProperties\": false\n },\n \"TrustChainResolveResponse\": {\n \"type\": \"object\",\n \"additionalProperties\": false\n }\n },\n \"methods\": {\n \"resolveTrustChain\": {\n \"description\": \"\",\n \"arguments\": {\n \"$ref\": \"#/components/schemas/ResolveTrustChainArgs\"\n },\n \"returnType\": {\n \"$ref\": \"#/components/schemas/TrustChainResolveResponse\"\n }\n }\n }\n }\n }\n}","import { Loggers } from '@sphereon/ssi-types'\n\n/**\n * @public\n */\nconst schema = require('../plugin.schema.json')\nexport { schema }\n\nexport const logger = Loggers.DEFAULT.get('sphereon:oidf-client')\n\nexport { OIDFClient, oidfClientMethods } from './agent/OIDFClient'\n\nexport * from './types/IOIDFClient'\n","import { JoseCurveString, JoseSignatureAlgorithmString, JwkKeyTypeString } from '@sphereon/ssi-types'\nimport { IAgentPlugin } from '@veramo/core'\nimport { schema } from '../'\nimport { IOIDFClient, IRequiredContext, OIDFClientArgs, ResolveTrustChainArgs } from '../types/IOIDFClient'\nimport { FederationClient, ICryptoService, Jwk, TrustChainResolveResponse } from '@sphereon/openid-federation-client'\n\nexport const oidfClientMethods: Array<string> = ['resolveTrustChain']\n\nexport class OIDFClient implements IAgentPlugin {\n // private readonly fetchServiceCallback?: IFetchService\n private readonly cryptoServiceCallback?: ICryptoService\n readonly methods: IOIDFClient = {\n resolveTrustChain: this.resolveTrustChain.bind(this),\n }\n readonly schema = schema.IOIDFClient\n\n constructor(args?: OIDFClientArgs) {\n const { /*fetchServiceCallback,*/ cryptoServiceCallback } = { ...args }\n\n // this.fetchServiceCallback = fetchServiceCallback\n this.cryptoServiceCallback = cryptoServiceCallback\n }\n\n private defaultCryptoJSImpl(context: IRequiredContext): ICryptoService {\n return {\n verify: async (jwt: string, key: Jwk): Promise<boolean> => {\n const verification = await context.agent.jwtVerifyJwsSignature({\n jws: jwt,\n jwk: {\n alg: key.alg as JoseSignatureAlgorithmString | undefined,\n crv: key.crv as JoseCurveString | undefined,\n kty: key.kty as JwkKeyTypeString,\n x: key.x ?? (undefined as string | undefined),\n y: key.y ?? (undefined as string | undefined),\n n: key.n ?? (undefined as string | undefined),\n e: key.e ?? (undefined as string | undefined),\n use: key.use ?? (undefined as string | undefined),\n kid: key.kid,\n },\n })\n return !verification.error\n },\n }\n }\n /*\n private defaultFetchJSImpl(context: IRequiredContext): IFetchService {\n return {\n async fetchStatement(endpoint: string): Promise<string> {\n const requestInfo = new Request(endpoint, {\n method: 'GET',\n })\n\n const response = await context.agent.resourceResolve({\n input: requestInfo,\n resourceType: 'application/entity-statement+jwt',\n })\n\n if (response.status != 200) {\n throw new Error(`Failed to fetch statement from ${endpoint}`)\n }\n\n return await response.text()\n },\n }\n }*/\n\n private getOIDFClient(context: IRequiredContext): FederationClient {\n return new FederationClient(\n this.cryptoServiceCallback || this.defaultCryptoJSImpl(context),\n // this.fetchServiceCallback || this.defaultFetchJSImpl(context),\n )\n }\n\n private async resolveTrustChain(args: ResolveTrustChainArgs, context: IRequiredContext): Promise<TrustChainResolveResponse> {\n const { entityIdentifier, trustAnchors } = args\n\n const oidfClient = this.getOIDFClient(context)\n\n return await oidfClient.resolveTrustChain(entityIdentifier, trustAnchors, 10)\n }\n}\n"],"mappings":";;;;;;;;AAAA;AAAA;AAAA;AAAA,MACE,aAAe;AAAA,QACb,YAAc;AAAA,UACZ,SAAW;AAAA,YACT,uBAAyB;AAAA,cACvB,MAAQ;AAAA,cACR,YAAc;AAAA,gBACZ,kBAAoB;AAAA,kBAClB,MAAQ;AAAA,gBACV;AAAA,gBACA,cAAgB;AAAA,kBACd,MAAQ;AAAA,kBACR,OAAS;AAAA,oBACP,MAAQ;AAAA,kBACV;AAAA,gBACF;AAAA,cACF;AAAA,cACA,UAAY;AAAA,gBACV;AAAA,gBACA;AAAA,cACF;AAAA,cACA,sBAAwB;AAAA,YAC1B;AAAA,YACA,2BAA6B;AAAA,cAC3B,MAAQ;AAAA,cACR,sBAAwB;AAAA,YAC1B;AAAA,UACF;AAAA,UACA,SAAW;AAAA,YACT,mBAAqB;AAAA,cACnB,aAAe;AAAA,cACf,WAAa;AAAA,gBACX,MAAQ;AAAA,cACV;AAAA,cACA,YAAc;AAAA,gBACZ,MAAQ;AAAA,cACV;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA;AAAA;;;ACzCA,SAASA,eAAe;;;ACIxB,SAASC,wBAAwE;AAE1E,IAAMC,oBAAmC;EAAC;;AAE1C,IAAMC,aAAN,MAAMA;EANb,OAMaA;;;;EAEMC;EACRC,UAAuB;IAC9BC,mBAAmB,KAAKA,kBAAkBC,KAAK,IAAI;EACrD;EACSC,SAASA,OAAOC;EAEzB,YAAYC,MAAuB;AACjC,UAAM,EAA4BN,sBAAqB,IAAK;MAAE,GAAGM;IAAK;AAGtE,SAAKN,wBAAwBA;EAC/B;EAEQO,oBAAoBC,SAA2C;AACrE,WAAO;MACLC,QAAQ,8BAAOC,KAAaC,QAAAA;AAC1B,cAAMC,eAAe,MAAMJ,QAAQK,MAAMC,sBAAsB;UAC7DC,KAAKL;UACLM,KAAK;YACHC,KAAKN,IAAIM;YACTC,KAAKP,IAAIO;YACTC,KAAKR,IAAIQ;YACTC,GAAGT,IAAIS,KAAMC;YACbC,GAAGX,IAAIW,KAAMD;YACbE,GAAGZ,IAAIY,KAAMF;YACbG,GAAGb,IAAIa,KAAMH;YACbI,KAAKd,IAAIc,OAAQJ;YACjBK,KAAKf,IAAIe;UACX;QACF,CAAA;AACA,eAAO,CAACd,aAAae;MACvB,GAhBQ;IAiBV;EACF;;;;;;;;;;;;;;;;;;;;;;EAuBQC,cAAcpB,SAA6C;AACjE,WAAO,IAAIqB,iBACT,KAAK7B,yBAAyB,KAAKO,oBAAoBC,OAAAA,CAAAA;EAG3D;EAEA,MAAcN,kBAAkBI,MAA6BE,SAA+D;AAC1H,UAAM,EAAEsB,kBAAkBC,aAAY,IAAKzB;AAE3C,UAAM0B,aAAa,KAAKJ,cAAcpB,OAAAA;AAEtC,WAAO,MAAMwB,WAAW9B,kBAAkB4B,kBAAkBC,cAAc,EAAA;EAC5E;AACF;;;AD3EA,IAAME,SAASC;AAGR,IAAMC,SAASC,QAAQC,QAAQC,IAAI,sBAAA;","names":["Loggers","FederationClient","oidfClientMethods","OIDFClient","cryptoServiceCallback","methods","resolveTrustChain","bind","schema","IOIDFClient","args","defaultCryptoJSImpl","context","verify","jwt","key","verification","agent","jwtVerifyJwsSignature","jws","jwk","alg","crv","kty","x","undefined","y","n","e","use","kid","error","getOIDFClient","FederationClient","entityIdentifier","trustAnchors","oidfClient","schema","require","logger","Loggers","DEFAULT","get"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.oidf-client",
3
- "version": "0.36.1-next.11+262d209a",
3
+ "version": "0.36.1-next.113+e4111993",
4
4
  "source": "src/index.ts",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
@@ -30,11 +30,11 @@
30
30
  "@sphereon/openid-federation-client": "0.20.9-unstable.48ddfa1",
31
31
  "@sphereon/openid-federation-common": "0.20.9-unstable.48ddfa1",
32
32
  "@sphereon/openid-federation-open-api": "0.20.9-unstable.48ddfa1",
33
- "@sphereon/ssi-sdk.resource-resolver": "0.36.1-next.11+262d209a",
34
- "@sphereon/ssi-types": "0.36.1-next.11+262d209a"
33
+ "@sphereon/ssi-sdk.resource-resolver": "0.36.1-next.113+e4111993",
34
+ "@sphereon/ssi-types": "0.36.1-next.113+e4111993"
35
35
  },
36
36
  "devDependencies": {
37
- "@sphereon/ssi-sdk.agent-config": "0.36.1-next.11+262d209a",
37
+ "@sphereon/ssi-sdk.agent-config": "0.36.1-next.113+e4111993",
38
38
  "@veramo/remote-client": "4.2.0",
39
39
  "@veramo/remote-server": "4.2.0",
40
40
  "jose": "^5.10.0",
@@ -60,5 +60,5 @@
60
60
  "Veramo",
61
61
  "OpenID Federation"
62
62
  ],
63
- "gitHead": "262d209a803fecfba1ad5878724c4f6f91f86cec"
63
+ "gitHead": "e4111993609fb157be593a2933454bbb2384a60b"
64
64
  }
@@ -15,7 +15,10 @@
15
15
  }
16
16
  }
17
17
  },
18
- "required": ["entityIdentifier", "trustAnchors"],
18
+ "required": [
19
+ "entityIdentifier",
20
+ "trustAnchors"
21
+ ],
19
22
  "additionalProperties": false
20
23
  },
21
24
  "TrustChainResolveResponse": {
@@ -36,4 +39,4 @@
36
39
  }
37
40
  }
38
41
  }
39
- }
42
+ }