UNPKG

@sphereon/did-auth-siop

Version:

Self Issued OpenID V2 (SIOPv2) and OpenID 4 Verifiable Presentations (OID4VP)

84 lines 4.06 kB
import { JarmClientMetadata, JarmServerMetadata } from '@sphereon/jarm'; import { JwtIssuer } from '@sphereon/oid4vc-common'; import { URI, VerifyAuthorizationRequestOpts } from '../authorization-request'; import { AuthorizationResponseOpts, AuthorizationResponseWithCorrelationId, DcqlResponseOpts, PresentationExchangeResponseOpts } from '../authorization-response'; import { JwksMetadataParams } from '../helpers/ExtractJwks'; import { AuthorizationResponsePayload, ParsedAuthorizationRequestURI, RegisterEventListener, RequestObjectPayload, ResponseIss, RPRegistrationMetadataPayload, SupportedVersion, Verification, VerifiedAuthorizationRequest } from '../types'; import { OPBuilder } from './OPBuilder'; export declare class OP { private readonly _createResponseOptions; private readonly _verifyRequestOptions; private readonly _eventEmitter?; private constructor(); /** * This method tries to infer the SIOP specs version based on the request payload. * If the version cannot be inferred or is not supported it throws an exception. * This method needs to be called to ensure the OP can handle the request * @param requestJwtOrUri * @param requestOpts */ verifyAuthorizationRequest(requestJwtOrUri: string | URI, requestOpts?: { correlationId?: string; verification?: Verification; }): Promise<VerifiedAuthorizationRequest>; createAuthorizationResponse(verifiedAuthorizationRequest: VerifiedAuthorizationRequest, responseOpts: { jwtIssuer?: JwtIssuer; version?: SupportedVersion; correlationId?: string; audience?: string; issuer?: ResponseIss | string; verification?: Verification; presentationExchange?: PresentationExchangeResponseOpts; dcqlResponse?: DcqlResponseOpts; isFirstParty?: boolean; }): Promise<AuthorizationResponseWithCorrelationId>; static extractEncJwksFromClientMetadata(clientMetadata: JwksMetadataParams): Promise<import("../types").JWK>; submitAuthorizationResponse(authorizationResponse: AuthorizationResponseWithCorrelationId, createJarmResponse?: (opts: { authorizationResponsePayload: AuthorizationResponsePayload; requestObjectPayload: RequestObjectPayload; clientMetadata: JwksMetadataParams; }) => Promise<{ response: string; }>): Promise<Response>; /** * Create an Authentication Request Payload from a URI string * * @param encodedUri * @param rpRegistrationMetadata */ parseAuthorizationRequestURI(encodedUri: string, rpRegistrationMetadata?: RPRegistrationMetadataPayload): Promise<ParsedAuthorizationRequestURI>; private newAuthorizationResponseOpts; private newVerifyAuthorizationRequestOpts; private emitEvent; addEventListener(register: RegisterEventListener): void; static fromOpts(responseOpts: AuthorizationResponseOpts, verifyOpts: VerifyAuthorizationRequestOpts): OP; static builder(): OPBuilder; get createResponseOptions(): AuthorizationResponseOpts; get verifyRequestOptions(): Partial<VerifyAuthorizationRequestOpts>; static validateJarmMetadata(input: { client_metadata: JarmClientMetadata; server_metadata: Partial<JarmServerMetadata>; }): { type: "signed"; client_metadata: { authorization_encrypted_response_alg: never; authorization_encrypted_response_enc: never; authorization_signed_response_alg?: string; }; } | { type: "encrypted"; client_metadata: { authorization_signed_response_alg: never; authorization_encrypted_response_alg: string; authorization_encrypted_response_enc: string; }; } | { type: "signed encrypted"; client_metadata: { authorization_encrypted_response_alg: string; authorization_encrypted_response_enc: string; authorization_signed_response_alg?: string; }; }; } //# sourceMappingURL=OP.d.ts.map