Skip to content
/ TIM Public

A generic component for handling custom JWTs and authenticate via Estonian gov e-authenticator TARA

License

Notifications You must be signed in to change notification settings

Buerostack/TIM

Repository files navigation

TIM 2.0 - Token Identity Manager

Build Status Version License

About

TIM 2.0 (Token Identity Manager) is an advanced JWT and OAuth2 integration platform that provides comprehensive token lifecycle management and multi-provider authentication capabilities. It serves as a universal, provider-agnostic identity management solution for modern applications.

Origin

Originally developed at Information System Authority of Estonia (Riigi Infosüsteemi Amet, RIA).

This cleaned repository, started on October 8, 2025, is maintained by Rainer Türner to continue development of TIM as a universal, provider-agnostic platform while preserving the core security principles of the original implementation. The repository represents a complete architectural rewrite, expanding from TARA-specific integration to comprehensive multi-provider OAuth2/OIDC and custom JWT management capabilities.

Quick Start

git clone https://github.com/Buerostack/TIM.git
cd TIM
docker-compose up -d

Access TIM at http://localhost:8085

For detailed setup instructions, see the Development Environment Setup Guide.


Core Features

  • OAuth2/OIDC Authentication: Multi-provider support (Google, GitHub, TARA, custom)
  • Custom JWT Management: Generate, extend, revoke, and validate tokens
  • Token Lifecycle Tracking: Complete audit trails with extension chains
  • Enterprise Security: RSA256 signatures, PKCE, CSRF protection, token revocation
  • Developer Friendly: OpenAPI docs, runnable examples, comprehensive guides

Documentation

For detailed documentation, see the docs/ directory:

  • Architecture: System design, component overview, and data flow diagrams
  • How-To Guides: Step-by-step instructions for common tasks
  • API Reference: Complete OpenAPI specification and endpoint documentation
  • Examples: Runnable code examples for integration

Interactive API Testing: Swagger UI - Live API testing interface


Basic Usage

Generate a Token:

curl -X POST http://localhost:8085/jwt/custom/generate \
  -H "Content-Type: application/json" \
  -d '{"JWTName": "my-token", "content": {"sub": "user123"}, "expirationInMinutes": 60}'

Detailed Guides:


Contributing

See CONTRIBUTING.md for guidelines on how to contribute to this project, including:

  • Development setup
  • Code standards
  • Testing requirements
  • Pull request process

License

TIM 2.0 is released under the MIT License. See LICENSE for complete license terms.

When using TIM 2.0, please include attribution:

TIM 2.0 - Token Identity Manager
Originally developed by RIA (Information System Authority of Estonia)
Original Architect: Rainer Türner

About

A generic component for handling custom JWTs and authenticate via Estonian gov e-authenticator TARA

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •