Skip to main content

remote-server package

Express router for exposing @veramo/remote-client OpenAPI schema

Example

import express from 'express'
import { agent } from './agent'
import { AgentRouter, ApiSchemaRouter, WebDidDocRouter } from '@veramo/remote-server'

const getAgentForRequest = async (req: express.Request) => agent
const exposedMethods = agent.availableMethods()
const basePath = '/agent'
const schemaPath = '/open-api.json'

const agentRouter = AgentRouter({
getAgentForRequest,
exposedMethods,
})

const schemaRouter = ApiSchemaRouter({
basePath,
getAgentForRequest,
exposedMethods,
})

const didDocRouter = WebDidDocRouter({
getAgentForRequest,
})

const app = express()
app.use(basePath, agentRouter)
app.use(schemaPath, schemaRouter)
app.use(didDocRouter)
app.listen(3002)

Functions

FunctionDescription
apiKeyAuth({ apiKey })This provides a simple authorization mechanism based on a single pre-shared API key.
createDefaultDid(options)(BETA) This can be used to automatically create a did:web with signing and encryption keys and listing messaging and DIDComm service endpoints.

Interfaces

InterfaceDescription
AgentRouterOptions
ApiSchemaRouterOptions

Variables

VariableDescription
AgentRouter

Creates a router that exposes Agent methods remotely.

This can be used by AgentRestClient to instantiate the methods of this agent on the client.

ApiSchemaRouterCreates a router that exposes Agent OpenAPI schema
didDocEndpointThe URL path to the DID document, used by did:web when the identifier is a hostname.
MessagingRouter

Creates a router for handling incoming messages.

Messages posted to this router get sent to the handleMessage method of the associated agent where this is used.

RequestWithAgentRouter

Creates an expressjs router that adds a Veramo agent to the request object.

This is needed by all other routers provided by this package to be able to perform their functions.

WebDidDocRouterCreates a router that serves did:web DID Documents