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 { declare global {
namespace Express { 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 { interface Request {
getUserInfo(): Promise<Partial<UserInfo>|undefined>; getUserInfo(): Promise<import('pkg-express-utils').UserInfo|undefined>;
noLogging: boolean|undefined; noLogging: boolean|undefined;
permissionDetails?: import('role-acl').Permission; permissionDetails?: import('role-acl').Permission;
} }

View File

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

View File

@@ -1,10 +1,32 @@
export type UserInfo = { export interface UserInfo {
email: string, sub: string;
email_verified: boolean, name?: string;
family_name: string, given_name?: string;
given_name: string, family_name?: string;
groups: string[], middle_name?: string;
name: string, nickname?: string;
preferred_username: string, preferred_username?: string;
sub: 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 { declare global {
namespace Express { 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 { interface Request {
getUserInfo(): Promise<Partial<UserInfo>|undefined>; getUserInfo(): Promise<import('..').UserInfo|undefined>;
noLogging: boolean|undefined; noLogging: boolean|undefined;
permissionDetails?: import('role-acl').Permission; permissionDetails?: import('role-acl').Permission;
} }