h3
INFO
Available in >4.3.0
This adapter provides utility functions to convert between h3 H3Event objects and the OAuthRequest/OAuthResponse objects used by this package. Works with any h3-based framework including Nuxt, Nitro, and standalone h3 applications.
Unlike the other adapters, this one calls h3 at runtime, so h3 (^1.15.0, declared as an optional peer dependency) must be installed in your project.
Functions
ts
requestFromH3(event: H3Event): Promise<OAuthRequest>ts
responseFromH3(event: H3Event): OAuthResponsets
handleH3Response(event: H3Event, oauthResponse: OAuthResponse): Promise<void>ts
handleH3Error(e: unknown | OAuthException, event: H3Event): Promise<void>Return (or await) handleH3Response/handleH3Error from your event handler so h3 waits for the response to be written.
Example
ts
import { requestFromH3, handleH3Response, handleH3Error } from "@jmondi/oauth2-server/h3";
export default defineEventHandler(async (event) => {
try {
const oauthResponse = await authorizationServer.respondToAccessTokenRequest(
await requestFromH3(event),
);
return handleH3Response(event, oauthResponse);
} catch (e) {
return handleH3Error(e, event);
}
});