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
AgentRouter(options)

Creates a router that exposes Agent methods remotely.

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

apiKeyAuth({ apiKey })This provides a simple authorization mechanism based on a single pre-shared API key.
ApiSchemaRouter(options)Creates a router that exposes Agent OpenAPI schema
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.
MessagingRouter(options)

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(options)

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.

WebDidDocRouter(options)Creates a router that serves did:web DID Documents

Interfaces

InterfaceDescription
AgentRouterOptions
ApiSchemaRouterOptions

Variables

VariableDescription
didDocEndpointThe URL path to the DID document, used by did:web when the identifier is a hostname.