@sphereon/ssi-express-support
Version:
54 lines • 2.29 kB
TypeScript
import { TAgent } from '@veramo/core';
import express, { Express, Router } from 'express';
import { BaseClient, ClientMetadata, ClientOptions, Issuer } from 'openid-client';
import { ExpressSupport, GenericAuthArgs, ISingleEndpointOpts } from './types';
export declare function oidcDiscoverIssuer(opts?: {
issuerUrl?: string;
}): Promise<{
issuer: Issuer<BaseClient>;
issuerUrl: string;
}>;
export declare function oidcGetClient(issuer: Issuer<BaseClient>, metadata: ClientMetadata, opts?: {
jwks?: {
keys: JsonWebKey[];
};
options?: ClientOptions;
}): Promise<BaseClient>;
export declare function getLoginEndpoint(router: Router, opts?: ISingleEndpointOpts & {
redirectUrl?: string;
}): void;
export declare function getLoginCallbackEndpoint(router: Router, opts?: ISingleEndpointOpts): void;
export declare function getLogoutEndpoint(router: Router, client: BaseClient, opts?: ISingleEndpointOpts): void;
export declare function getLogoutCallbackEndpoint(router: Router, opts?: ISingleEndpointOpts): void;
export declare function getIdTokenEndpoint(router: Router, client: BaseClient, opts: ISingleEndpointOpts): void;
export declare function getAuthenticatedUserEndpoint(router: Router, opts?: ISingleEndpointOpts): void;
export interface IAuthenticationOpts {
enabledFeatures?: AuthenticationApiFeatures;
endpointOpts?: IAuthenticationEndpointOpts;
}
export interface IAuthenticationEndpointOpts {
basePath?: string;
globalAuth?: GenericAuthArgs;
getAuthenticatedUser?: ISingleEndpointOpts;
getLogin?: ISingleEndpointOpts;
getLogout?: ISingleEndpointOpts;
getIdToken?: ISingleEndpointOpts;
}
export type AuthenticationApiFeatures = 'login' | 'logout' | 'id-token' | 'authenticated-user';
export declare class OpenIDConnectAuthApi {
get router(): express.Router;
private readonly _express;
private readonly _agent?;
private readonly _opts?;
private readonly _router;
constructor(args: {
agent?: TAgent<any>;
expressSupport: ExpressSupport;
client: BaseClient;
opts: IAuthenticationOpts;
});
get agent(): TAgent<any> | undefined;
get opts(): IAuthenticationOpts | undefined;
get express(): Express;
}
//# sourceMappingURL=openid-connect-rp.d.ts.map