68 lines
1.5 KiB
TypeScript
68 lines
1.5 KiB
TypeScript
import NextAuth, { DefaultSession, DefaultUser } from "next-auth";
|
|
|
|
declare module "next-auth" {
|
|
interface Session {
|
|
user: {
|
|
id: string;
|
|
first_name: string;
|
|
last_name: string;
|
|
username: string;
|
|
email: string;
|
|
role: string[];
|
|
} & DefaultSession["user"];
|
|
accessToken?: string;
|
|
refreshToken?: string;
|
|
rocketChatToken?: string | null;
|
|
rocketChatUserId?: string | null;
|
|
error?: string;
|
|
}
|
|
|
|
interface JWT {
|
|
accessToken?: string;
|
|
refreshToken?: string;
|
|
accessTokenExpires?: number;
|
|
first_name?: string;
|
|
last_name?: string;
|
|
username?: string;
|
|
role?: string[];
|
|
rocketChatToken?: string | null;
|
|
rocketChatUserId?: string | null;
|
|
error?: string;
|
|
}
|
|
|
|
interface User extends DefaultUser {
|
|
id: string;
|
|
first_name: string;
|
|
last_name: string;
|
|
username: string;
|
|
email: string;
|
|
role: string[];
|
|
}
|
|
|
|
interface Profile {
|
|
sub: string;
|
|
email_verified: boolean;
|
|
name?: string | null;
|
|
preferred_username?: string | null;
|
|
given_name?: string | null;
|
|
family_name?: string | null;
|
|
email?: string | null;
|
|
groups?: string[];
|
|
}
|
|
}
|
|
|
|
declare module "next-auth/jwt" {
|
|
interface JWT {
|
|
accessToken?: string;
|
|
refreshToken?: string;
|
|
accessTokenExpires?: number;
|
|
first_name?: string;
|
|
last_name?: string;
|
|
username?: string;
|
|
role?: string[];
|
|
rocketChatToken?: string;
|
|
rocketChatUserId?: string;
|
|
error?: string;
|
|
}
|
|
}
|