wolf  by iGeeky

RBAC system for HTTP applications and APIs

Created 6 years ago
486 stars

Top 62.8% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Wolf is an RBAC authority system designed to unify authentication and authorization across disparate HTTP applications and RESTful APIs. It targets organizations struggling with redundant, fragmented identity management systems, offering a centralized solution that integrates without modifying existing services, thereby reducing resource waste and management overhead.

How It Works

The system comprises a Wolf-Server for backend logic, a Wolf-Console for management, and a Wolf-Agent acting as an RBAC proxy. It employs a low-coupling, non-intrusive design, integrating at the proxy layer to support any HTTP application regardless of its language or framework. Core features include diverse authentication (Password, LDAP, JWT, Basic Auth) and authorization (OAuth 2.0). It leverages advanced radixtree routing for efficient, complex URL matching and supports PostgreSQL/MySQL databases with Redis caching for performance.

Quick Start & Requirements

Clone the repository: https://github.com/iGeeky/wolf.git. Setup is streamlined via Docker Compose. Navigate to wolf/quick-start-with-docker and run docker-compose up. Access the management console at http://localhost:12180 with credentials admin/wolf-123456. A demo application is available at http://localhost:12200. Detailed instructions are available in the Getting Started Guide.

Highlighted Details

  • AI Assistant (0.8.x): Enables conversational RBAC management across applications, users, roles, and logs, supporting multiple LLM providers (OpenAI, Claude, Gemini, etc.) with a streaming UI and auditable actions.
  • Universality: Language-independent integration for any HTTP application, including static sites and APIs, managing permissions at the proxy layer.
  • Flexible Auth/Authz: Supports password, LDAP, JWT, HTTP Basic Auth, and OAuth 2.0 protocols.
  • Comprehensive Management: A multi-language (Chinese/English) console provides visual RBAC diagrams, user/role/permission management, and access log querying.
  • Performance & Scalability: Utilizes radixtree routing, PostgreSQL/MySQL, and Redis caching, with compatibility for APISIX gateway integration.

Maintenance & Community

The project appears actively developed with recent features like the AI Assistant. However, the README does not detail specific community channels (e.g., Discord, Slack), notable contributors, or sponsorships.

Licensing & Compatibility

Wolf is released under the permissive MIT license, allowing for broad compatibility with commercial and closed-source applications.

Limitations & Caveats

The AI Assistant feature, introduced in version 0.8.x, is relatively new and may be subject to ongoing development and refinement. Resource matching rules have specific priorities (Exact > Suffix > Prefix, Method priority, URL length) that require careful configuration. Direct wildcard or regex support for resource names is limited without radixtree routing.

Health Check
Last Commit

1 week ago

Responsiveness

Inactive

Pull Requests (30d)
0
Issues (30d)
0
Star History
1 stars in the last 30 days

Explore Similar Projects

Feedback? Help us improve.