Updated UserInfo

This commit is contained in:
Sebastian Seedorf
2020-11-18 08:56:32 +01:00
parent ca8211bec4
commit d5930c6140
4 changed files with 35 additions and 35 deletions

View File

@@ -18,19 +18,8 @@ It just needs to sit there with no more action required.
declare global {
namespace Express {
interface UserInfo {
email: string,
email_verified: boolean,
family_name: string,
given_name: string,
groups: string[],
name: string,
preferred_username: string,
sub: string,
}
interface Request {
getUserInfo(): Promise<Partial<UserInfo>|undefined>;
getUserInfo(): Promise<import('pkg-express-utils').UserInfo|undefined>;
noLogging: boolean|undefined;
permissionDetails?: import('role-acl').Permission;
}

View File

@@ -14,7 +14,7 @@ const router: RequestHandler = (req: Request, res, next) => {
}
try {
const res = await fetch(url, {headers: [[DefaultConfig.USERINFO_HEADER, token]]});
return await res.json() as Partial<UserInfo>;
return await res.json() as UserInfo;
} catch (e) {
Logger.warn(e);
return undefined;

View File

@@ -1,10 +1,32 @@
export type UserInfo = {
email: string,
email_verified: boolean,
family_name: string,
given_name: string,
groups: string[],
name: string,
preferred_username: string,
sub: string,
export interface UserInfo {
sub: string;
name?: string;
given_name?: string;
family_name?: string;
middle_name?: string;
nickname?: string;
preferred_username?: string;
profile?: string;
picture?: string;
website?: string;
email?: string;
email_verified?: boolean;
gender?: string;
birthdate?: string;
zoneinfo?: string;
locale?: string;
phone_number?: string;
updated_at?: number;
address?: {
formatted?: string;
street_address?: string;
locality?: string;
region?: string;
postal_code?: string;
country?: string;
[key: string]: unknown;
};
[key: string]: unknown;
}

View File

@@ -2,19 +2,8 @@
declare global {
namespace Express {
interface UserInfo {
email: string,
email_verified: boolean,
family_name: string,
given_name: string,
groups: string[],
name: string,
preferred_username: string,
sub: string,
}
interface Request {
getUserInfo(): Promise<Partial<UserInfo>|undefined>;
getUserInfo(): Promise<import('..').UserInfo|undefined>;
noLogging: boolean|undefined;
permissionDetails?: import('role-acl').Permission;
}