This commit is contained in:
Sebastian Seedorf
2020-11-18 09:13:29 +01:00
parent d5930c6140
commit 951882f5ed
5 changed files with 38 additions and 17 deletions

View File

@@ -18,8 +18,7 @@ const router = (req, res, next) => {
return undefined; return undefined;
} }
const token = req.header(_1.DefaultConfig.USERINFO_HEADER); const token = req.header(_1.DefaultConfig.USERINFO_HEADER);
const url = _1.DefaultConfig.AUTH_PROXY_USERINFO_URL || const url = _1.DefaultConfig.AUTH_PROXY_USERINFO_URL;
_1.DefaultConfig.AUTH_PROXY_URL && _1.urlJoin(_1.DefaultConfig.AUTH_PROXY_URL, "userinfo");
if (token === undefined || url === undefined) { if (token === undefined || url === undefined) {
return undefined; return undefined;
} }
@@ -34,8 +33,7 @@ const router = (req, res, next) => {
})); }));
req.getUserInfo = () => resolvable.resolve(); req.getUserInfo = () => resolvable.resolve();
res.initLogout = function () { res.initLogout = function () {
const url = _1.DefaultConfig.AUTH_PROXY_INIT_LOGOUT_URL || const url = _1.DefaultConfig.AUTH_PROXY_INIT_LOGOUT_URL;
_1.DefaultConfig.AUTH_PROXY_URL && _1.urlJoin(_1.DefaultConfig.AUTH_PROXY_URL, "init-logout");
if (url === undefined) { if (url === undefined) {
return false; return false;
} }

4
out/config.d.ts vendored
View File

@@ -3,6 +3,8 @@ export declare const DefaultConfig: {
EXTERNAL_BASE_URL: string; EXTERNAL_BASE_URL: string;
isProduction: boolean; isProduction: boolean;
requireEnv: typeof requireEnv; requireEnv: typeof requireEnv;
AUTH_PROXY_USERINFO_URL: string | undefined;
AUTH_PROXY_INIT_LOGOUT_URL: string | undefined;
NODE_ENV: string; NODE_ENV: string;
PORT: number; PORT: number;
HOSTNAME: string; HOSTNAME: string;
@@ -11,7 +13,5 @@ export declare const DefaultConfig: {
SESSION_SECRET: string | undefined; SESSION_SECRET: string | undefined;
USERINFO_HEADER: string | undefined; USERINFO_HEADER: string | undefined;
AUTH_PROXY_URL: string | undefined; AUTH_PROXY_URL: string | undefined;
AUTH_PROXY_USERINFO_URL: string | undefined;
AUTH_PROXY_INIT_LOGOUT_URL: string | undefined;
}; };
export {}; export {};

View File

@@ -33,4 +33,6 @@ function requireEnv(name, onlyInProduction = false) {
} }
exports.DefaultConfig = Object.assign(Object.assign({}, envs), { EXTERNAL_BASE_URL: envs.EXTERNAL_BASE_URL || exports.DefaultConfig = Object.assign(Object.assign({}, envs), { EXTERNAL_BASE_URL: envs.EXTERNAL_BASE_URL ||
_1.urlJoin(`http://${envs.HOSTNAME}${envs.PORT !== 80 ? `:${envs.PORT}` : ""}`, envs.BASE_PATH), isProduction, _1.urlJoin(`http://${envs.HOSTNAME}${envs.PORT !== 80 ? `:${envs.PORT}` : ""}`, envs.BASE_PATH), isProduction,
requireEnv }); requireEnv, AUTH_PROXY_USERINFO_URL: envs.AUTH_PROXY_USERINFO_URL ||
envs.AUTH_PROXY_URL && _1.urlJoin(envs.AUTH_PROXY_URL, "userinfo"), AUTH_PROXY_INIT_LOGOUT_URL: envs.AUTH_PROXY_INIT_LOGOUT_URL ||
envs.AUTH_PROXY_URL && _1.urlJoin(envs.AUTH_PROXY_URL, "init-logout") });

View File

@@ -1,10 +1,31 @@
export declare type UserInfo = { export interface UserInfo {
email: string;
email_verified: boolean;
family_name: string;
given_name: string;
groups: string[];
name: string;
preferred_username: string;
sub: string; 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;
};
groups?: string[];
[key: string]: unknown;
}

View File

@@ -27,6 +27,6 @@ export interface UserInfo {
[key: string]: unknown; [key: string]: unknown;
}; };
groups?: string[];
[key: string]: unknown; [key: string]: unknown;
} }