Add Authelia as a custom oidc source
set a path to browsers outside of /root Grant root ownership over /data set umask + perms after yarn build revert local testing to upstream
This commit is contained in:
parent
047e156cfb
commit
cc2d7c863d
|
@ -65,6 +65,13 @@ AUTH0_ISSUER=
|
||||||
AUTH0_CLIENT_SECRET=
|
AUTH0_CLIENT_SECRET=
|
||||||
AUTH0_CLIENT_ID=
|
AUTH0_CLIENT_ID=
|
||||||
|
|
||||||
|
# Authelia
|
||||||
|
NEXT_PUBLIC_AUTHELIA_ENABLED=""
|
||||||
|
AUTHELIA_CLIENT_ID=""
|
||||||
|
AUTHELIA_CLIENT_SECRET=""
|
||||||
|
AUTHELIA_WELLKNOWN_URL=""
|
||||||
|
|
||||||
|
|
||||||
# Authentik
|
# Authentik
|
||||||
NEXT_PUBLIC_AUTHENTIK_ENABLED=
|
NEXT_PUBLIC_AUTHENTIK_ENABLED=
|
||||||
AUTHENTIK_CUSTOM_NAME=
|
AUTHENTIK_CUSTOM_NAME=
|
||||||
|
|
|
@ -239,6 +239,37 @@ if (process.env.NEXT_PUBLIC_AUTH0_ENABLED === "true") {
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Authelia
|
||||||
|
if (process.env.NEXT_PUBLIC_AUTHELIA_ENABLED === "true") {
|
||||||
|
providers.push(
|
||||||
|
{
|
||||||
|
id: "authelia",
|
||||||
|
name: "Authelia",
|
||||||
|
type: "oauth",
|
||||||
|
clientId: process.env.AUTHELIA_CLIENT_ID!,
|
||||||
|
clientSecret: process.env.AUTHELIA_CLIENT_SECRET!,
|
||||||
|
wellKnown: process.env.AUTHELIA_WELLKNOWN_URL!,
|
||||||
|
authorization: { params: { scope: "openid email profile" } },
|
||||||
|
idToken: true,
|
||||||
|
checks: ["pkce", "state"],
|
||||||
|
profile(profile) {
|
||||||
|
return {
|
||||||
|
id: profile.sub,
|
||||||
|
name: profile.name,
|
||||||
|
email: profile.email,
|
||||||
|
username: profile.preferred_username,
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
const _linkAccount = adapter.linkAccount;
|
||||||
|
adapter.linkAccount = (account) => {
|
||||||
|
const { "not-before-policy": _, refresh_expires_in, ...data } = account;
|
||||||
|
return _linkAccount ? _linkAccount(data) : undefined;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
// Authentik
|
// Authentik
|
||||||
if (process.env.NEXT_PUBLIC_AUTHENTIK_ENABLED === "true") {
|
if (process.env.NEXT_PUBLIC_AUTHENTIK_ENABLED === "true") {
|
||||||
providers.push(
|
providers.push(
|
||||||
|
|
|
@ -391,6 +391,13 @@ export function getLogins() {
|
||||||
name: process.env.ZOOM_CUSTOM_NAME ?? "Zoom",
|
name: process.env.ZOOM_CUSTOM_NAME ?? "Zoom",
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// Authelia
|
||||||
|
if (process.env.NEXT_PUBLIC_AUTHELIA_ENABLED === "true") {
|
||||||
|
buttonAuths.push({
|
||||||
|
method: "authelia",
|
||||||
|
name: process.env.AUTHELIA_CUSTOM_NAME ?? "Authelia",
|
||||||
|
});
|
||||||
|
}
|
||||||
return {
|
return {
|
||||||
credentialsEnabled:
|
credentialsEnabled:
|
||||||
process.env.NEXT_PUBLIC_CREDENTIALS_ENABLED === "true" ||
|
process.env.NEXT_PUBLIC_CREDENTIALS_ENABLED === "true" ||
|
||||||
|
|
|
@ -66,6 +66,13 @@ declare global {
|
||||||
AUTH0_CLIENT_SECRET?: string;
|
AUTH0_CLIENT_SECRET?: string;
|
||||||
AUTH0_CLIENT_ID?: string;
|
AUTH0_CLIENT_ID?: string;
|
||||||
|
|
||||||
|
// Authelia
|
||||||
|
NEXT_PUBLIC_AUTHELIA_ENABLED?: string;
|
||||||
|
AUTHELIA_CUSTOM_NAME?: string;
|
||||||
|
AUTHELIA_CLIENT_ID?: string;
|
||||||
|
AUTHELIA_CLIENT_SECRET?: string;
|
||||||
|
AUTHELIA_WELLKNOWN_URL?: string;
|
||||||
|
|
||||||
// Authentik
|
// Authentik
|
||||||
NEXT_PUBLIC_AUTHENTIK_ENABLED?: string;
|
NEXT_PUBLIC_AUTHENTIK_ENABLED?: string;
|
||||||
AUTHENTIK_CUSTOM_NAME?: string;
|
AUTHENTIK_CUSTOM_NAME?: string;
|
||||||
|
@ -400,4 +407,4 @@ declare global {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
export {};
|
export { };
|
||||||
|
|
Ŝarĝante…
Reference in New Issue