@sphereon/did-auth-siop
Version:
Self Issued OpenID V2 (SIOPv2) and OpenID 4 Verifiable Presentations (OID4VP)
84 lines • 4.06 kB
TypeScript
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