Files
web/types/auth.d.ts
2024-03-27 11:12:54 +01:00

39 lines
1.1 KiB
TypeScript

import "next-auth"
import type { NextRequest } from "next/server"
// Module augmentation
// https://authjs.dev/getting-started/typescript#popular-interfaces-to-augment
declare module "next-auth" {
/**
* The shape of the user object returned in the OAuth providers' `profile` callback,
* or the second parameter of the `session` callback, when using a database.
*/
interface User {
given_name: string
sub: string
}
/**
* The shape of the account object returned in the OAuth providers' `account` callback,
* Usually contains information about the provider being used, like OAuth tokens (`access_token`, etc).
*/
interface Account {}
/**
* Returned by `useSession`, `auth`, contains information about the active session.
*/
interface Session {}
/**
* NextAuthRequest isn't exported by next-auth so we declare a copy
* of how they do it to support or switch in middleware.ts
*/
interface NextAuthRequest extends NextRequest {
auth: Session | null
}
}
declare module "next-auth/jwt" {
/** Returned by the `jwt` callback and `auth`, when using JWT sessions */
interface JWT {}
}