UNPKG

@sphereon/ssi-sdk.siopv2-oid4vp-rp-auth

Version:

166 lines • 7.45 kB
import { AuthorizationRequestPayload, AuthorizationRequestState, AuthorizationResponsePayload, AuthorizationResponseState, ClaimPayloadCommonOpts, ClientMetadataOpts, IRPSessionManager, PresentationDefinitionWithLocation, PresentationVerificationCallback, RequestObjectPayload, ResponseMode, ResponseURIType, SupportedVersion, VerifiablePresentationTypeFormat, VerifiedAuthorizationResponse, VerifyJwtCallback, VPTokenLocation } from '@sphereon/did-auth-siop'; import { ExternalIdentifierOIDFEntityIdOpts, IIdentifierResolution, ManagedIdentifierOptsOrResult } from '@sphereon/ssi-sdk-ext.identifier-resolution'; import { IAgentContext, ICredentialIssuer, ICredentialVerifier, IDIDManager, IKeyManager, IPluginMethodMap, IResolver } from '@veramo/core'; import { AdditionalClaims, DcqlQueryREST, HasherSync, W3CVerifiablePresentation } from '@sphereon/ssi-types'; import { Resolvable } from 'did-resolver'; import { DIDDocument } from '@sphereon/did-uni-client'; import { EventEmitter } from 'events'; import { IPresentationDefinition } from '@sphereon/pex'; import { IDIDOptions } from '@sphereon/ssi-sdk-ext.did-utils'; import { IPresentationExchange } from '@sphereon/ssi-sdk.presentation-exchange'; import { VerifyCallback } from '@sphereon/wellknown-dids-client'; import { AuthorizationRequestStateStatus } from '@sphereon/ssi-sdk.siopv2-oid4vp-common'; import { IPDManager, VersionControlMode } from '@sphereon/ssi-sdk.pd-manager'; import { CheckLinkedDomain } from '@sphereon/did-auth-siop-adapter'; import { ISDJwtPlugin } from '@sphereon/ssi-sdk.sd-jwt'; import { IJwtService } from '@sphereon/ssi-sdk-ext.jwt-service'; import { JwtIssuer } from '@sphereon/oid4vc-common'; import { ImDLMdoc } from '@sphereon/ssi-sdk.mdl-mdoc'; import { ICredentialValidation, SchemaValidation } from '@sphereon/ssi-sdk.credential-validation'; export declare enum VerifiedDataMode { NONE = "none", VERIFIED_PRESENTATION = "vp", CREDENTIAL_SUBJECT_FLATTENED = "cs-flat" } export interface ISIOPv2RP extends IPluginMethodMap { siopCreateAuthRequestURI(createArgs: ICreateAuthRequestArgs, context: IRequiredContext): Promise<string>; siopCreateAuthRequestPayloads(createArgs: ICreateAuthRequestArgs, context: IRequiredContext): Promise<IAuthorizationRequestPayloads>; siopGetAuthRequestState(args: IGetAuthRequestStateArgs, context: IRequiredContext): Promise<AuthorizationRequestState | undefined>; siopGetAuthResponseState(args: IGetAuthResponseStateArgs, context: IRequiredContext): Promise<AuthorizationResponseStateWithVerifiedData | undefined>; siopUpdateAuthRequestState(args: IUpdateRequestStateArgs, context: IRequiredContext): Promise<AuthorizationRequestState>; siopDeleteAuthState(args: IDeleteAuthStateArgs, context: IRequiredContext): Promise<boolean>; siopVerifyAuthResponse(args: IVerifyAuthResponseStateArgs, context: IRequiredContext): Promise<VerifiedAuthorizationResponse>; siopImportDefinitions(args: ImportDefinitionsArgs, context: IRequiredContext): Promise<void>; siopGetRedirectURI(args: IGetRedirectUriArgs, context: IRequiredContext): Promise<string | undefined>; } export interface ISiopv2RPOpts { defaultOpts?: IRPDefaultOpts; instanceOpts?: IPEXInstanceOptions[]; } export interface IRPDefaultOpts extends IRPOptions { } export interface ICreateAuthRequestArgs { definitionId: string; correlationId: string; responseURIType: ResponseURIType; responseURI: string; responseRedirectURI?: string; jwtIssuer?: JwtIssuer; requestByReferenceURI?: string; nonce?: string; state?: string; claims?: ClaimPayloadCommonOpts; } export interface IGetAuthRequestStateArgs { correlationId: string; definitionId: string; errorOnNotFound?: boolean; } export interface IGetAuthResponseStateArgs { correlationId: string; definitionId: string; errorOnNotFound?: boolean; progressRequestStateTo?: AuthorizationRequestStateStatus; includeVerifiedData?: VerifiedDataMode; } export interface IUpdateRequestStateArgs { definitionId: string; correlationId: string; state: AuthorizationRequestStateStatus; error?: string; } export interface IDeleteAuthStateArgs { correlationId: string; definitionId: string; } export interface IVerifyAuthResponseStateArgs { authorizationResponse: string | AuthorizationResponsePayload; definitionId?: string; correlationId: string; audience?: string; presentationDefinitions?: PresentationDefinitionWithLocation | PresentationDefinitionWithLocation[]; dcqlQuery?: DcqlQueryREST; } export interface IDefinitionPair { definitionPayload: IPresentationDefinition; dcqlPayload?: DcqlQueryREST; } export interface ImportDefinitionsArgs { definitions: Array<IDefinitionPair>; tenantId?: string; version?: string; versionControlMode?: VersionControlMode; } export interface IGetRedirectUriArgs { correlationId: string; definitionId?: string; state?: string; } export interface IAuthorizationRequestPayloads { authorizationRequest: AuthorizationRequestPayload; requestObject?: string; requestObjectDecoded?: RequestObjectPayload; } export interface IPEXDefinitionPersistArgs extends IPEXInstanceOptions { definition: IPresentationDefinition; ttl?: number; } export interface ISiopRPInstanceArgs { definitionId?: string; responseRedirectURI?: string; } export interface IPEXInstanceOptions extends IPEXOptions { rpOpts?: IRPOptions; } export interface IRPOptions { responseMode?: ResponseMode; supportedVersions?: SupportedVersion[]; sessionManager?: IRPSessionManager; clientMetadataOpts?: ClientMetadataOpts; expiresIn?: number; eventEmitter?: EventEmitter; credentialOpts?: CredentialOpts; verificationPolicies?: VerificationPolicies; identifierOpts: ISIOPIdentifierOptions; verifyJwtCallback?: VerifyJwtCallback; responseRedirectUri?: string; } export interface IPEXOptions { presentationVerifyCallback?: PresentationVerificationCallback; definitionId: string; version?: string; tenantId?: string; } export type VerificationPolicies = { schemaValidation: SchemaValidation; }; export interface PerDidResolver { didMethod: string; resolver: Resolvable; } export interface IAuthRequestDetails { rpDIDDocument?: DIDDocument; id: string; verifiablePresentationMatches: IPresentationWithDefinition[]; alsoKnownAs?: string[]; } export interface IPresentationWithDefinition { location: VPTokenLocation; definition: PresentationDefinitionWithLocation; format: VerifiablePresentationTypeFormat; presentation: W3CVerifiablePresentation; } export interface ISIOPIdentifierOptions extends Omit<IDIDOptions, 'idOpts'> { idOpts: ManagedIdentifierOptsOrResult; oidfOpts?: ExternalIdentifierOIDFEntityIdOpts; checkLinkedDomains?: CheckLinkedDomain; wellknownDIDVerifyCallback?: VerifyCallback; } export type CredentialOpts = { hasher?: HasherSync; }; export interface AuthorizationResponseStateWithVerifiedData extends AuthorizationResponseState { verifiedData?: AdditionalClaims; } export type IRequiredContext = IAgentContext<IResolver & IDIDManager & IKeyManager & IIdentifierResolution & ICredentialIssuer & ICredentialValidation & ICredentialVerifier & IPresentationExchange & IPDManager & ISDJwtPlugin & IJwtService & ImDLMdoc>; //# sourceMappingURL=ISIOPv2RP.d.ts.map