aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared
diff options
context:
space:
mode:
authorkamtschatka <simon.schatka@gmx.at>2024-09-15 19:08:53 +0200
committerGitHub <noreply@github.com>2024-09-15 18:08:53 +0100
commitb9724b71d71433e63013e5bf641889a4ba3d461b (patch)
tree22966b9c378bf898d7ab812fcabbba2298a65989 /packages/shared
parent80749d5327942c12b513124c43e3577fdd8c0541 (diff)
downloadkarakeep-b9724b71d71433e63013e5bf641889a4ba3d461b.tar.zst
feature: Added support for custom OIDC providers to set up authentication. Fixes #92 (#307)
* https://github.com/hoarder-app/hoarder/issues/92 Added support for custom OIDC providers to set up authentication * Added support for custom OIDC providers to set up authentication #92 Showing OAuth errors in the signin page * Added support for custom OIDC providers to set up authentication #92 Added the possibility to log in using an API key in case OAuth is used * Added support for custom OIDC providers to set up authentication #92 improved the code to also promote the first user to admin if OAuth is used * revert extension changes * Simplify admin checks --------- Co-authored-by: MohamedBassem <me@mbassem.com>
Diffstat (limited to 'packages/shared')
-rw-r--r--packages/shared/config.ts15
1 files changed, 15 insertions, 0 deletions
diff --git a/packages/shared/config.ts b/packages/shared/config.ts
index b2de8677..21cdb1c8 100644
--- a/packages/shared/config.ts
+++ b/packages/shared/config.ts
@@ -10,6 +10,12 @@ const stringBool = (defaultValue: string) =>
const allEnv = z.object({
API_URL: z.string().url().default("http://localhost:3000"),
DISABLE_SIGNUPS: stringBool("false"),
+ OAUTH_ALLOW_DANGEROUS_EMAIL_ACCOUNT_LINKING: stringBool("false"),
+ OAUTH_WELLKNOWN_URL: z.string().url().optional(),
+ OAUTH_CLIENT_SECRET: z.string().optional(),
+ OAUTH_CLIENT_ID: z.string().optional(),
+ OAUTH_SCOPE: z.string().default("openid email profile"),
+ OAUTH_PROVIDER_NAME: z.string().default("Custom Provider"),
OPENAI_API_KEY: z.string().optional(),
OPENAI_BASE_URL: z.string().url().optional(),
OLLAMA_BASE_URL: z.string().url().optional(),
@@ -47,6 +53,15 @@ const serverConfigSchema = allEnv.transform((val) => {
apiUrl: val.API_URL,
auth: {
disableSignups: val.DISABLE_SIGNUPS,
+ oauth: {
+ allowDangerousEmailAccountLinking:
+ val.OAUTH_ALLOW_DANGEROUS_EMAIL_ACCOUNT_LINKING,
+ wellKnownUrl: val.OAUTH_WELLKNOWN_URL,
+ clientSecret: val.OAUTH_CLIENT_SECRET,
+ clientId: val.OAUTH_CLIENT_ID,
+ scope: val.OAUTH_SCOPE,
+ name: val.OAUTH_PROVIDER_NAME,
+ },
},
inference: {
jobTimeoutSec: val.INFERENCE_JOB_TIMEOUT_SEC,