> ## Documentation Index
> Fetch the complete documentation index at: https://litprotocol-vincent.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# AuthenticatedRequestHandler

> **AuthenticatedRequestHandler**\<`UserKey`, `P`, `ResBody`, `ReqBody`, `ReqQuery`, `Locals`> = (`req`, `res`, `next`) => `void` | `Promise`\<`void`>

Defined in: [app-sdk/src/expressMiddleware/types.ts:24](https://github.com/LIT-Protocol/Vincent/blob/59bbcc58961d006596c8c80671cc1200f69f2946/packages/libs/app-sdk/src/expressMiddleware/types.ts#L24)

An Express.js RequestHandler that guarantees the request is authenticated with a PKP address

You probably don't need this type; see [createVincentUserMiddleware](/api-reference/app-sdk/expressMiddleware/functions/createVincentUserMiddleware) for details

## Type Parameters

### UserKey

`UserKey` *extends* `string`

### P

`P` = [`ExtractRequestHandlerParams`](./ExtractRequestHandlerParams)\<`RequestHandler`>\[`0`]

### ResBody

`ResBody` = [`ExtractRequestHandlerParams`](./ExtractRequestHandlerParams)\<`RequestHandler`>\[`1`]

### ReqBody

`ReqBody` = [`ExtractRequestHandlerParams`](./ExtractRequestHandlerParams)\<`RequestHandler`>\[`2`]

### ReqQuery

`ReqQuery` = [`ExtractRequestHandlerParams`](./ExtractRequestHandlerParams)\<`RequestHandler`>\[`3`]

### Locals

`Locals` *extends* `Record`\<`string`, `any`> = [`ExtractRequestHandlerParams`](./ExtractRequestHandlerParams)\<`RequestHandler`>\[`4`]

## Parameters

### req

[`AuthenticatedRequest`](./AuthenticatedRequest)\<`UserKey`, `P`, `ResBody`, `ReqBody`, `ReqQuery`>

### res

`Response`\<`ResBody`, `Locals`>

### next

`NextFunction`

## Returns

`void` | `Promise`\<`void`>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.