SSO service written in SvelteKit (OAuth2 / OIDC) https://secure.icynet.eu
Go to file
2024-06-12 19:33:28 +03:00
.vscode settings and avatar 2024-05-17 17:31:14 +03:00
migrations client confidentiality toggle 2024-06-08 17:09:27 +03:00
private beginning authorize 2024-05-17 23:22:44 +03:00
src Fix database connector, use alpine node image 2024-06-12 19:33:28 +03:00
static favicon 2024-06-04 20:36:10 +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 Secure cookie 2024-06-06 20:27:38 +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 Fix database connector, use alpine node image 2024-06-12 19:33:28 +03:00
drizzle.config.ts admin stuff 2024-06-01 14:42:08 +03:00
package-lock.json stricter image checking 2024-06-09 12:00:15 +03:00
package.json stricter image checking 2024-06-09 12:00:15 +03: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 Scaffold 2024-05-16 17:49:11 +03: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.