go-iam
go-iam api server images
2.0K
go-iam is a lightweight, multi-tenant Identity and Access Management (IAM) server built in Golang. It provides robust authentication and fine-grained authorization for modern applications. With support for custom roles, third-party auth providers, and multi-client setups, go-iam gives you full control over access management in a scalable and modular way.
✅ Admin UI: go-iam-ui
🐳 Docker Setup: go-iam-docker
🔐 Backend: go-iam
📦 SDK: go-iam-sdk
🚀 Examples: go-iam-examples 💬 Reddit Community: r/GoIAM
| Component | Tech |
|---|---|
| Backend | Golang |
| Database | MongoDB |
| Caching (opt) | Redis |
| Frontend | React + Vite (PNPM) |
git clone https://github.com/melvinodsa/go-iam.git
cd go-iam
cp sample.env .env
go run main.go
Use the official go-iam-docker repo to spin up everything with Docker Compose, including:
git clone https://github.com/melvinodsa/go-iam-docker.git
cd go-iam-docker
cp sample.env .env
docker compose up -d
Some important environment variables used in .env:
| Variable | Description |
|---|---|
LOGGER_LEVEL | Logger level 1 - Debug (refer., https://docs.gofiber.io/api/log/) |
DB_HOST | MongoDB URI (e.g., mongodb://user:pass@host/db) |
JWT_SECRET | Secret key used for generating and verifying JWT tokens |
REDIS_HOST, REDIS_PASSWORD, ENABLE_REDIS | Redis host address and toggle to enable Redis caching |
ENCRYPTER_KEY | Optional symmetric key for encrypting sensitive fields - change this |
AUTH_PROVIDER_REFETCH_INTERVAL_IN_MINUTES | Interval in minutes to refetch and sync third-party auth providers |
TOKEN_CACHE_TTL_IN_MINUTES | Interval for which the authentication token should be valid |
Content type
Image
Digest
sha256:67d29db1a…
Size
18.5 MB
Last updated
3 months ago
docker pull melvinodsa/go-iam