https://github.com/oidc-mytoken/server
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.
https://github.com/oidc-mytoken/server
myproxy mytoken oidc oidc-agent oidc-token oidc-token-management openid openid-connect
Last synced: about 1 month ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/oidc-mytoken/server
- Owner: oidc-mytoken
- License: mit
- Created: 2020-09-11T08:20:54.000Z (almost 6 years ago)
- Default Branch: prerel
- Last Pushed: 2026-04-30T09:22:39.000Z (about 2 months ago)
- Last Synced: 2026-04-30T10:26:19.430Z (about 2 months ago)
- Topics: myproxy, mytoken, oidc, oidc-agent, oidc-token, oidc-token-management, openid, openid-connect
- Language: Go
- Homepage: https://docs.mytok.eu
- Size: 5.94 MB
- Stars: 8
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README

[](https://github.com/oidc-mytoken/server/blob/master/LICENSE)

[](https://goreportcard.com/report/github.com/oidc-mytoken/server)
[](https://deepsource.io/gh/oidc-mytoken/server/?ref=repository-badge)
[](https://github.com/oidc-mytoken/server/releases/latest)
[](https://github.com/oidc-mytoken/server/releases/latest)
# 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](https://github.com/oidc-mytoken/client)
but also offers a web interface. A demo instance (using the prerel branch) is available
at [https://mytoken.data.kit.edu/](https://mytoken.data.kit.edu/).
For Production use [https://mytok.eu](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/](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](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:
```bash
# 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
```bash
# 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:
```bash
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](frontend/README.md) for more details.