@@ -343,12 +343,24 @@ export class VcIssuer<DIDDoc extends object> {
343343 credential . credentialSubject = Array . isArray ( credential . credentialSubject ) ? credentialSubjects : credentialSubjects [ 0 ]
344344 }
345345
346+ let issuer : string | undefined = undefined
347+ if ( credential . iss ) {
348+ issuer = credential . iss
349+ } else if ( credential . issuer ) {
350+ if ( typeof credential . issuer === 'string' ) {
351+ issuer = credential . issuer
352+ } else if ( typeof credential . issuer === 'object' && 'id' in credential . issuer && typeof credential . issuer . id === 'string' ) {
353+ issuer = credential . issuer . id
354+ }
355+ }
356+
346357 const verifiableCredential = await this . issueCredentialImpl (
347358 {
348359 credentialRequest : opts . credentialRequest ,
349360 format,
350361 credential,
351362 jwtVerifyResult,
363+ issuer,
352364 } ,
353365 signerCallback ,
354366 )
@@ -597,23 +609,22 @@ export class VcIssuer<DIDDoc extends object> {
597609 credential : CredentialIssuanceInput
598610 jwtVerifyResult : JwtVerifyResult < DIDDoc >
599611 format ?: OID4VCICredentialFormat
612+ issuer ?: string
600613 } ,
601614 issuerCallback ?: CredentialSignerCallback < DIDDoc > ,
602615 ) : Promise < W3CVerifiableCredential | CompactSdJwtVc > {
603616 if ( ( ! opts . credential && ! opts . credentialRequest ) || ! this . _credentialSignerCallback ) {
604617 throw new Error ( ISSUER_CONFIG_ERROR )
605618 }
606619 const credential = issuerCallback ? await issuerCallback ( opts ) : await this . _credentialSignerCallback ( opts )
607- const uniform = CredentialMapper . toUniformCredential ( credential )
608- const issuer = uniform . issuer ? ( typeof uniform . issuer === 'string' ? uniform . issuer : uniform . issuer . id ) : '<unknown>'
609620
610621 // TODO: Create builder
611622 EVENTS . emit ( CredentialEventNames . OID4VCI_CREDENTIAL_ISSUED , {
612623 eventName : CredentialEventNames . OID4VCI_CREDENTIAL_ISSUED ,
613624 id : v4 ( ) ,
614625 data : credential ,
615626 // TODO: Format, request etc
616- initiator : issuer ?? '<unknown>' ,
627+ initiator : opts . issuer ?? '<unknown>' ,
617628 initiatorType : InitiatorType . EXTERNAL ,
618629 system : System . OID4VCI ,
619630 subsystem : SubSystem . VC_ISSUER ,
0 commit comments