SSO service written in SvelteKit (OAuth2 / OIDC) https://secure.icynet.eu
Go to file
2024-12-09 19:17:02 +02:00
.vscode settings and avatar 2024-05-17 17:31:14 +03:00
migrations Rotating JWT key pair 2024-12-09 19:17:02 +02:00
private beginning authorize 2024-05-17 23:22:44 +03:00
src Rotating JWT key pair 2024-12-09 19:17:02 +02:00
static webp background 2024-06-14 17:20:20 +03:00
uploads settings and avatar 2024-05-17 17:31:14 +03:00
.dockerignore Small things 2024-06-07 20:49:31 +03:00
.env.example Make initial migration usable 2024-06-14 17:09:20 +03:00
.eslintignore Scaffold 2024-05-16 17:49:11 +03:00
.eslintrc.cjs Scaffold 2024-05-16 17:49:11 +03:00
.gitignore all in a days work 2024-05-16 23:17:06 +03:00
.npmrc Scaffold 2024-05-16 17:49:11 +03:00
.prettierignore Scaffold 2024-05-16 17:49:11 +03:00
.prettierrc Scaffold 2024-05-16 17:49:11 +03:00
Dockerfile bump node version 2024-11-23 18:17:04 +02:00
drizzle.config.ts admin stuff 2024-06-01 14:42:08 +03:00
package-lock.json Migrate to Svelte 5 and upgrade dependencies 2024-11-23 18:03:31 +02:00
package.json Migrate to Svelte 5 and upgrade dependencies 2024-11-23 18:03:31 +02:00
README.md Documentation changes 2024-06-11 19:49:57 +03:00
svelte.config.js Actually mostly-compliant introspection endpoint, csrf and documentation 2024-06-06 20:02:18 +03:00
tsconfig.json Scaffold 2024-05-16 17:49:11 +03:00
vite.config.ts Migrate to Svelte 5 and upgrade dependencies 2024-11-23 18:03:31 +02:00

sso-core

This is a SvelteKit-powered authentication service.

Requirements

  1. A MySQL or MariaDB database.
  2. Node.js 20+ or Docker.

Set up

  1. Clone the repository.
  2. Install dependenices - npm install.
  3. Configure the environment - cp .env.example .env.
  4. Generate secrets and stuff:
    1. Session secret - node -e 'console.log(require("crypto").randomBytes(16).toString("hex"))'.
    2. Challenge secret - node -e 'console.log(require("crypto").randomBytes(32).toString("hex"))'.
    3. Generate JWT keys in the private directory - openssl genpkey -out jwt.private.pem -algorithm RSA -pkeyopt rsa_keygen_bits:2048.
    4. Also make the public key - openssl rsa -in jwt.private.pem -pubout -outform PEM -out jwt.public.pem.
  5. Build the application - npm run build.
  6. Run the application - node -r dotenv/config build.