Xalgorix Cloud
Autonomous AI security testing for developers and security teams: find vulnerabilities, prove each with a working exploit, and ship verified fixes with zero infrastructure setup.
Self-hosted OAuth2 and OIDC server with admin tooling, observability, and deployment guides.
SecurityGitHub @ianlintnerOnlineOwner unconfirmed
Have you tried it? One tap is enough. No sign-in needed.
Repository information has not been collected yet.
No updates detected yet. GitHub releases will appear here.
Rust OAuth2 Server with Social Logins with observability. Typesafe and Actor System.
Loading the full README.
Read the full README ↗This project is fully equipped for AI-assisted development with Skills, Slash Commands, MCP Server, and specialized Agent Instructions.
Setup: "Set up the rust-oauth2-server locally with SQLite, then register a test client and request an access token"
Test Flow: "Use the oauth2-test-flow skill to verify authorization code + PKCE flow"
Deploy: "Use the deploy-k8s skill to deploy to staging environment"
Debug: "Use the oauth2-debug-token skill to debug this JWT token: eyJ..."
Troubleshoot: "The server is returning 500 errors on token endpoint - help me debug this"
Skills (.skills/) - Reusable AI workflows for complex tasks:
oauth2-test-flow - Test complete OAuth2 flowsoauth2-register-client - Register new OAuth2 clientsoauth2-debug-token - Debug JWT token issuesrfc-compliance-check - Verify RFC compliancedb-migration - Create database migrationsdeploy-k8s - Deploy to Kubernetesadd-endpoint - Add new HTTP endpointsSlash Commands (.claude/commands/) - Quick access to common operations:
/test - Run tests with filters/ci - Run CI gate checks/deploy - Deploy to environment/rfc - Check RFC compliance/security - Run security scans/migrate - Create migration/docs - Generate documentation/benchmark - Run performance testsMCP Server (mcp-server/) - OAuth2 operations via Model Context Protocol:
Agent Instructions (.github/agents/) - Specialized domain expertise:
development.md - Coding guidelines and patternsoperations.md - Deployment and ops proceduresdatabase.md - Database managementsecurity.md - Security best practicesCLAUDE.md - Start here: Agent memory, behavioral guidelines, and project contextAGENTIC_QUICKSTART.md - Quick start for AI-assisted developmentdocs/AI_TOOLING_ENHANCEMENTS.md - AI tooling enhancement plan.github/copilot-instructions.md - Copilot-specific instructionscp .env.example .env
# set OAUTH2_JWT_SECRET, OAUTH2_SESSION_KEY, and OAUTH2_SEED_PASSWORD
cargo run
Then open:
http://localhost:8080http://localhost:8080/auth/loginhttp://localhost:8080/adminhttp://localhost:8080/swagger-uiThe default local path uses SQLite. If you want Postgres plus the supporting services, use docker compose up -d instead.
OAUTH2_* flags): RFC 8693 token exchange with actor delegation chains, JWT-bearer grant + identity chaining / ID-JAG, transaction tokens with the A2A profile, the Transaction Authorization Challenge (human-in-the-loop approval), Client ID Metadata Document onboarding, named-agent consent — see docs/agents/README.md/health, /ready, /metrics, OpenTelemetry exportk8s/Important reality checks:
/auth/login/azure prefers OAUTH2_AZURE_* config and falls back to Microsoft if unset; Okta/Auth0 currently return 503docs/getting-started/quickstart.mddocs/getting-started/configuration.mddocs/usage/oauth2-oidc.mddocs/agents/README.mddocs/usage/admin-api.mddocs/operations/deployment.md, docs/operations/observability.md, docs/operations/runbooks.mddocs/development/architecture.md, docs/development/extending.mddocs/development/testing.md, docs/development/contributing.mdDeep repo-local guides intentionally live outside the docs-site nav:
k8s/README.mdDOCKERHUB.mdmcp-server/README.mdbenchmarks/README.mdThe server is a Cargo workspace, not a single monolith:
crates/oauth2-core — domain typescrates/oauth2-ports — storage/integration traitscrates/oauth2-actix — handlers, middleware, actorscrates/oauth2-server — runtime assembly and route wiringcrates/oauth2-events / oauth2-ratelimit / oauth2-resilience — operational behaviormcp-server/ — separate Node.js MCP wrapperIf you are changing behavior, the main source-of-truth files are:
.env.exampleapplication.conf.examplecrates/oauth2-server/src/lib.rsmcp-server/src/index.jsBefore considering any change done, run the same local gates CI expects:
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --verbose --all-features --locked
If you changed docs, also run:
python3 -m mkdocs build --strict