blob: 5bdde63d217a57995b7818ec0b4a4583eda3c9f9 [file] [log] [blame]
import NextAuth from 'next-auth'
import KeycloakProvider from 'next-auth/providers/keycloak';
import { decryptSops } from 'sops-wrapper';
import os from 'os'
const encryptedKeycloakSecrets = 'config/keycloak-auth.json';
const secrets = (decryptSops(encryptedKeycloakSecrets)) as {
clientid: string;
clientsecret: string;
};
if (["a1d1", "a1d2"].includes(os.hostname())) {
const encryptedNextAuthSecrets = 'config/nextauth.json';
for (const [key, value] of Object.entries(decryptSops(encryptedNextAuthSecrets) as {NEXTAUTH_URL: string; NEXTAUTH_SECRET: string;})) {
process.env[key] = value;
}
} else {
process.env["NEXTAUTH_URL"] = "http://samueldesktop:3000"; //however you wanna work this one out
process.env["NEXTAUTH_SECRET"] = "non-real-secret";
}
export default NextAuth({
providers: [
KeycloakProvider({
clientId: secrets.clientid,
clientSecret: secrets.clientsecret,
issuer: "https://login.clicks.codes/realms/master",
})
]
})