- Node 18/20
- Docker
Clone repo, cd to it:
Add env files:
cat <<EOT > services/idp/.env
# IDP Environment Variables
ISSUER=http://localhost:9876/oidc
POSTGRES_PRISMA_URL='postgres://postgres:secret123@localhost:5432/idp'
POSTGRES_URL_NON_POOLING='postgres://postgres:secret123@localhost:5432/idp'
GRANTS_DEBUG=1
DEBUG=oidc:events:*
DASHBOARD_ORIGIN=http://localhost:3036
# after running scripts/init
DASHBOARD_CLIENT_ID=
EOTcat <<EOT > services/manage/.env
# React App Environment Variables
PORT=3036
REACT_APP_ISSUER=http://localhost:9876/oidc
# after running scripts/init
DASHBOARD_CLIENT_ID=
EOTDaemonize postgres and jaeger on docker
cd services/idp && docker compose up -dInstall deps: it will run client generation and db migrations as well
npm iMakes those default/readonly objects for bootstrapping:
Management APIResourceServerDashboardOidcClient- Default
Admin Connection - Enables
DashboardOidcClient with aAdmin Connection
npm run initAfter initialization, output will give a client id that needs to be added to env vars
Script that needs user interaction and let's you create account. (TODO, ask for claims other than email/password)
npm run create-accountnpm startVisit well known url: http://localhost:9876/oidc/.well-known/openid-configuration Visit jwks: http://localhost:9876/oidc/jwks
cd ../manage && npm inpm startVisit management app: http://localhost:3036/