d5418d47e73d220c792e1db273e6f28fdddf65b9
memberapi.ose.tw backend
Quick start
cd backend
python -m venv .venv
source .venv/bin/activate
pip install -e .
cp .env.example .env
psql "$DATABASE_URL" -f scripts/init_schema.sql
./scripts/start_dev.sh
Keycloak env
- Required:
KEYCLOAK_BASE_URLKEYCLOAK_REALMKEYCLOAK_CLIENT_IDKEYCLOAK_CLIENT_SECRETKEYCLOAK_ADMIN_CLIENT_IDKEYCLOAK_ADMIN_CLIENT_SECRET
- Optional:
KEYCLOAK_ADMIN_REALM(default =KEYCLOAK_REALM)KEYCLOAK_ISSUERKEYCLOAK_JWKS_URLKEYCLOAK_TOKEN_ENDPOINTKEYCLOAK_USERINFO_ENDPOINTKEYCLOAK_AUDIENCEKEYCLOAK_VERIFY_TLS
Main APIs
GET /healthzGET /auth/oidc/urlPOST /auth/oidc/exchangeGET /me(Bearer token required)GET /me/permissions/snapshot(Bearer token required)
Admin APIs (Bearer + admin group required)
GET/POST/PATCH/DELETE /admin/companiesGET/POST/PATCH/DELETE /admin/sitesGET/POST/PATCH/DELETE /admin/systemsGET/POST/PATCH/DELETE /admin/rolesGET/POST/PATCH/DELETE /admin/membersPUT /admin/sites/{site_key}/rolesPUT /admin/members/{user_sub}/sitesGET /admin/members/{user_sub}/rolesGET/POST/PATCH/DELETE /admin/api-clients
Internal APIs (X-Client-Key + X-API-Key)
GET /internal/companiesGET /internal/sitesGET /internal/systemsGET /internal/rolesGET /internal/membersPOST /internal/users/upsert-by-subGET /internal/users/{user_sub}/rolesGET /internal/permissions/{user_sub}/snapshotPOST /internal/idp/users/ensure
Description
Languages
Python
96.5%
PLpgSQL
3%
Dockerfile
0.3%
Shell
0.2%