Skip to content

Commit 89f78b3

Browse files
authored
Merge pull request #86 from TimoGlastra/feat/add-sd-jwt-to-issuer-callback
fix: add sd-jwt to issuer callback
2 parents 77c9c24 + 93b1242 commit 89f78b3

3 files changed

Lines changed: 15 additions & 6 deletions

File tree

packages/callback-example/lib/IssuerCallback.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { securityLoader } from '@digitalcredentials/security-document-loader'
55
import vc from '@digitalcredentials/vc'
66
import { CredentialRequestV1_0_11 } from '@sphereon/oid4vci-common'
77
import { CredentialIssuanceInput } from '@sphereon/oid4vci-issuer'
8-
import { W3CVerifiableCredential } from '@sphereon/ssi-types'
8+
import { CompactSdJwtVc, W3CVerifiableCredential } from '@sphereon/ssi-types'
99

1010
// Example on how to generate a did:key to issue a verifiable credential
1111
export const generateDid = async () => {
@@ -20,7 +20,10 @@ export const getIssuerCallback = (credential: CredentialIssuanceInput, keyPair:
2020
throw new Error('A credential needs to be provided')
2121
}
2222
// eslint-disable-next-line @typescript-eslint/no-unused-vars
23-
return async (_opts: { credentialRequest?: CredentialRequestV1_0_11; credential?: CredentialIssuanceInput }): Promise<W3CVerifiableCredential> => {
23+
return async (_opts: {
24+
credentialRequest?: CredentialRequestV1_0_11
25+
credential?: CredentialIssuanceInput
26+
}): Promise<W3CVerifiableCredential | CompactSdJwtVc> => {
2427
const documentLoader = securityLoader().build()
2528
// eslint-disable-next-line @typescript-eslint/no-explicit-any
2629
const verificationKey: any = Array.from(keyPair.values())[0]

packages/issuer/lib/VcIssuer.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ import {
3535
UniformCredentialRequest,
3636
URIState,
3737
} from '@sphereon/oid4vci-common'
38-
import { CredentialMapper, W3CVerifiableCredential } from '@sphereon/ssi-types'
38+
import { CompactSdJwtVc, CredentialMapper, W3CVerifiableCredential } from '@sphereon/ssi-types'
3939
import { v4 } from 'uuid'
4040

4141
import { assertValidPinNumber, createCredentialOfferObject, createCredentialOfferURIFromObject } from './functions'
@@ -558,7 +558,7 @@ export class VcIssuer<DIDDoc extends object> {
558558
format?: OID4VCICredentialFormat
559559
},
560560
issuerCallback?: CredentialSignerCallback<DIDDoc>,
561-
): Promise<W3CVerifiableCredential> {
561+
): Promise<W3CVerifiableCredential | CompactSdJwtVc> {
562562
if ((!opts.credential && !opts.credentialRequest) || !this._credentialSignerCallback) {
563563
throw new Error(ISSUER_CONFIG_ERROR)
564564
}

packages/issuer/lib/types/index.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,13 @@ import {
77
OID4VCICredentialFormat,
88
UniformCredentialRequest,
99
} from '@sphereon/oid4vci-common'
10-
import { ICredential, SdJwtDecodedVerifiableCredentialPayload, SdJwtDisclosureFrame, W3CVerifiableCredential } from '@sphereon/ssi-types'
10+
import {
11+
CompactSdJwtVc,
12+
ICredential,
13+
SdJwtDecodedVerifiableCredentialPayload,
14+
SdJwtDisclosureFrame,
15+
W3CVerifiableCredential,
16+
} from '@sphereon/ssi-types'
1117

1218
export type CredentialSignerCallback<T extends object> = (opts: {
1319
credentialRequest: UniformCredentialRequest
@@ -18,7 +24,7 @@ export type CredentialSignerCallback<T extends object> = (opts: {
1824
* An implementation that wants to look into the DIDDoc would have to do a cast in the signer callback implementation
1925
*/
2026
jwtVerifyResult: JwtVerifyResult<T>
21-
}) => Promise<W3CVerifiableCredential>
27+
}) => Promise<W3CVerifiableCredential | CompactSdJwtVc>
2228

2329
export interface CredentialDataSupplierArgs extends CNonceState {
2430
credentialRequest: UniformCredentialRequest

0 commit comments

Comments
 (0)