Mytoken is a web service to obtain OpenID Connect Access Tokens in an easy but secure way for extended periods of time
and across multiple devices. In particular, mytoken was developed to provide OIDC Access Tokens to long-running
compute jobs.
Access Tokens can be obtained via so-called mytokens: A new token type that can be easily used as a Bearer token
from any device. These mytokens can be restricted according to the particular use case to only allow the needed
privileges.
Mytoken focuses on integration with the command line through our
command line client
but also offers a web interface. A demo instance (using the prerel branch) is available
at https://mytoken.data.kit.edu/.
For Production use https://mytok.eu
Mytoken is a central web service with the goal to easily obtain OpenID Connect access tokens across devices.
Documentation is available at https://mytoken-docs.data.kit.edu/.
A go library for interacting with the mytoken server can be found at https://github.com/oidc-mytoken/lib.
- Go 1.25+
- Node.js 22+ (for frontend)
- npm 9+
The web interface is built with SvelteKit. To build it:
# Using the provided script (recommended)
./scripts/build-frontend.sh
# Or manually
cd frontend
npm install
npm run build
cp -r build/* ../internal/server/spa/dist/# Build the server (requires frontend to be built first)
go build ./cmd/mytoken-server
# Build the setup tool
go build ./cmd/mytoken-server/mytoken-setupFor frontend development with hot reload:
cd frontend
npm install
npm run devThe dev server runs at http://localhost:5173 and proxies API requests to the Go backend at http://localhost:8000.
See frontend/README.md for more details.
