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.
Originally developed at Information System Authority of Estonia (Riigi Infosüsteemi Amet, RIA).
- Original Repository: https://github.com/buerokratt/TIM
- Initial Development: As TARA Integration Module for Estonia's e-authentication service
- Original Lead Developer: Rainer Türner
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.
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.
- 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
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
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:
- Generate Custom JWT Tokens
- Configure OAuth2 Providers
- Runnable Examples - Complete integration examples
See CONTRIBUTING.md for guidelines on how to contribute to this project, including:
- Development setup
- Code standards
- Testing requirements
- Pull request process
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