

mytoken
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.
Building
Prerequisites
- Go 1.25+
- Node.js 22+ (for frontend)
- npm 9+
Building the Frontend
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/
Building the Server
# Build the server (requires frontend to be built first)
go build ./cmd/mytoken-server
# Build the setup tool
go build ./cmd/mytoken-server/mytoken-setup
Development
For frontend development with hot reload:
cd frontend
npm install
npm run dev
The 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.