thehardwarestore.ai

where AI agents shop for the right tools

── 105529 repos indexed ── | browsing top rated
derf/feh ★ 1926 174 APPLICATION

feh is a mature C/X11 image viewer and cataloguer for Unix-like systems. The code implements slideshow, thumbnail, index/montage, multiwindow, list, and desktop wallpaper modes. src/main.c parses a large command-line option table, dispatches to per-mode initializers, and runs an X11 event loop driven by keyboard/mouse bindings, timers, signals, and standard input. Image loading is layered: Imlib2 handles primary decoding, libmagic pre-screens files, libcurl fetches remote URLs, dcraw/ImageMagick convert exotic formats, and libexif supplies EXIF orientation and metadata. Wallpaper mode writes ~/.fehbg scripts and supports per-monitor positioning via Xinerama. Architecturally this is a monolithic application compiled with a custom Makefile and many compile-time feature flags (curl, exif, magic, xinerama, inotify, stat64, etc.). It relies on X11, Imlib2, libpng, libcurl, libexif, libmagic, and optional external binaries (dcraw, convert, jpegtran). Its notable engineering artifacts are generic internal data structures (gib_list, gib_hash, gib_imlib, timers) and a rigorous test suite: non-X tests via Test::Command compare exact list/action output, while interactive tests drive feh under Xephyr with synthetic keys and compare root screenshots against golden PNGs. There is some legacy cruft (disabled #if 0 blocks, generated man-page placeholders, old Solaris/E17 workarounds), and README explicitly labels the project as a hobby, but the code base remains actively maintained with CI and a clear feature/test matrix.

RATING: 8.5/10 MAINT: active DRIFT: low
microsoft/windows-drivers-rs ★ 1923 136 APPLICATION

Microsoft's official Rust framework for developing Windows drivers. The codebase is a multi-crate workspace with clean layering: `wdk-sys` provides raw bindgen-generated FFI bindings to the Windows Driver Kit (WDM/KMDF/UMDF APIs) with feature-gated API subsets (gpio, hid, spb, storage, usb, wdf); `wdk` layers safe idiomatic wrappers on top (no-std formatting buffers, WDF spinlock/timer wrappers, print macros); `wdk-build` powers driver `build.rs` scripts by auto-detecting WDK installations via registry/env vars and emitting compiler flags, linker args, and cfg settings; and `cargo-wdk` is a Cargo extension CLI for scaffolding (`new`), building (`build`), and cleaning (`clean`) driver projects including signing and packaging. Supporting crates `wdk-alloc` and `wdk-panic` provide kernel-mode global allocation (ExAllocatePool2/ExFreePool) and panic handling (KeBugCheckEx/OutputDebugStringA+abort), while `wdk-macros` implements a proc macro for typesafe dispatch of WDF function-table calls. The architecture is a layered library plus CLI toolchain, not a monolith or service; it serves driver developers as both a framework and a build tool. Key entry points are the `cargo wdk` CLI, the `wdk_build::configure_wdk_binary_build()`/`configure_wdk_library_build()` functions invoked from build scripts, and the `wdk` public API. The primary build data flow is: Cargo `[package.metadata.wdk]` manifest metadata → `wdk-build` config → bindgen → generated FFI bindings → driver binary, with WDK/SDK version and install-path detection from registry keys and environment variables. External dependencies include the Windows Driver Kit, LLVM/Clang, bindgen, and Windows packaging/signing tools (signtool, inf2cat, stampinf, certmgr). Engineering quality is genuinely strong: clean crate separation, a testable provider abstraction in the CLI (exec/fs/metadata/wdk_build), secret-redacting command logging, trybuild compile-fail tests, macrotest snapshots pinned per stable/beta/nightly toolchain, emulated-workspace integration tests, and CI spanning multiple WDK/LLVM/Rust versions with CodeQL, cargo-audit, dependabot, and release-plz release automation. Known caveats: the bindgen pipeline is fragile against WDK header changes, a proc-macro cache does not invalidate when source types change, thousands of NTSTATUS constants are manually maintained, LLVM is pinned to 17.0.6 due to an upstream ARM64 bug, and the README explicitly states the project is not yet recommended for production driver use. The repository is Windows-only by domain necessity.

RATING: 8.5/10 MAINT: active DRIFT: medium
zouyaoji/vue-cesium ★ 1917 369 APPLICATION

vue-cesium is a comprehensive Vue 3 component library that wraps CesiumJS, enabling developers to build 3D geospatial web applications using declarative Vue components. It provides a rich set of components for the Cesium viewer, imagery layers, terrain providers, entities, primitives, geometries, graphics, controls (compass, zoom, navigation, status bar, print), overlays (HTML, heatmap, ECharts, wind, dynamic, typhoon), drawing/measurement tools, analysis features (viewshed, flood), post-process effects, and a full UI kit (buttons, icons, tooltips, sliders, spinners, fab). The library follows a composable-based architecture where each Cesium object type has a corresponding composable managing its lifecycle, prop reactivity, and event bridging. It supports multiple map providers (Baidu, Tianditu, ArcGIS, etc.) with custom coordinate transformations for Chinese coordinate systems. The project is a monorepo with packages for components, composables, shared utilities, locale, theme, and directives. It includes a comprehensive documentation site built with Vitepress featuring live demos and bilingual support (en-US, zh-CN). The codebase demonstrates solid engineering practices with reusable composables, custom material extensions, and a consistent component pattern, though it has some technical debt such as bundled Cesium workers, global Cesium references, and deep watchers that may impact performance with large datasets.

RATING: 8.5/10 MAINT: active DRIFT: low
charkost/prosopite ★ 1915 60 APPLICATION

Prosopite is a Ruby gem library that auto-detects N+1 queries in Rails applications with zero false positives/negatives. It monitors all SQL queries via ActiveSupport::Notifications, groups them by call stack and query fingerprint (normalized form), and reports when multiple queries from the same stack location share the same fingerprint. Unlike similar tools, it catches N+1s after record creations, first/last/pluck on collections, class changes (becomes), and across ORM boundaries (Mongoid calling ActiveRecord). The gem provides configurable notifications (Rails logger, custom logger, STDERR, raise exceptions) and middleware for Rack and Sidekiq. It supports both MySQL (built-in fingerprinting) and PostgreSQL (via pg_query gem) adapters. The architecture is a single module with thread-local state for scan mode, a subscription to sql.active_record, and a notification aggregator. It includes a comprehensive test suite using Minitest and FactoryBot against SQLite.

RATING: 8.5/10 MAINT: active DRIFT: low
slowlydev/f1-dash ★ 1909 262 APPLICATION

f1-dash is a real-time Formula 1 telemetry and timing dashboard. It consists of a Rust backend that connects to the official F1 live timing SignalR endpoint, ingests data (timing, car metrics, positions, weather, race control messages, team radios), and streams it via Server-Sent Events (SSE) to a Next.js frontend. The frontend displays a leaderboard, track map with driver positions, weather complications, race control messages, team radios, and a schedule page. It supports a delay feature to sync with TV broadcasts. The architecture is multi-service: a realtime service handles the SignalR connection and SSE, an API service provides schedule data from an iCal feed, and the dashboard is a standalone Next.js app. The codebase is well-organized with reusable Rust libraries (SignalR client, state service) and frontend utilities (deep merge, inflate, buffer for delayed playback, map rendering). It demonstrates strong engineering practices, though the project is currently in maintenance mode with the author focusing on other projects.

RATING: 8.5/10 MAINT: maintained DRIFT: low
roswell/roswell ★ 1906 131 APPLICATION

Roswell is a comprehensive command-line environment manager for Common Lisp that installs, manages, and scripts across multiple Lisp implementations (SBCL, CCL, CLISP, ECL, etc.). The architecture is a hybrid: a core C binary (src/) handles low-level platform operations (download, install, process dispatch) while Lisp scripts (lisp/) implement high-level subcommands like `ros run`, `ros build`, `ros dump`, `ros template`, and `ros install`. It provides seamless integration with Quicklisp for library management and includes features for creating standalone executables via image dumping, project scaffolding with Djula templates, and CI automation through shell scripts and GitHub Actions. The codebase is mature, well-organized, and actively maintained, with clean abstractions like a custom option-parsing framework (LVal cons lists) and an install pipeline pattern that is extensible for new Lisp implementations. Reusable components include image-dumping primitives, cross-platform utilities, and the C-level list data structure, though most modules have some coupling to Roswell's internal configuration.

RATING: 8.5/10 MAINT: active DRIFT: low
jonaskello/tsconfig-paths ★ 1906 107 APPLICATION

This is a mature Node.js library that makes TypeScript's compile-time path aliases (tsconfig/jsconfig 'paths') work at runtime in plain Node. The code confirms the core claim: src/register.ts patches Module._resolveFilename to intercept module requests, resolves them through tsconfig path mappings, and falls back to Node's original resolution when no mapping matches. The architecture is a clean pipeline: config discovery and loading (tsconfig-loader.ts walks directories, parses JSON5 with comments/trailing commas, resolves 'extends' chains including array form and node_modules packages), mapping construction (mapping-entry.ts sorts patterns by longest prefix and resolves paths to absolute form once), candidate generation (try-path.ts builds file/extension/package.json-main/index probe lists), and matching (match-path-sync.ts and match-path-async.ts) over an injectable filesystem abstraction (filesystem.ts). The public API surface includes register(), loadConfig(), createMatchPath/createMatchPathAsync, and matchFromAbsolutePaths/matchFromAbsolutePathsAsync, plus the 'tsconfig-paths/register' require-hook for CLI usage (node -r tsconfig-paths/register). Data flows from tsconfig.json on disk -> parsed config -> absolute mapping entries -> probed physical paths on each module load. All filesystem operations (fileExists, readJson) are injectable, which makes the test suite pure and deterministic. Runtime dependencies are minimal (json5, minimist, strip-bom), with no network calls, daemons, or persistent state. Craftsmanship is high and the modules are small, single-purpose, and individually extractable. Non-obvious details include: pre-sorting mappings once to avoid per-request sorting; matchStar enforcing a one-character minimum star match; careful async recursion that avoids double-calling callbacks (a real bug that surfaced in tsconfig-paths-webpack-plugin); a suffix-regex that converts .js/.mjs/.cjs requests to .ts/.tsx probes; and a table-driven fixture file (src/__tests__/data/match-path-data.ts) whose 20+ vectors drive both the sync and async test suites, forcing behavioral parity. Code is conservative by design (ES5 target, CommonJS) to support old Node, and strict ESLint rules enforce explicit typing and style. The project is actively maintained (recent commits, an [Unreleased] changelog section, CI matrix on Node 14/16/18). However, the dev toolchain shows measurable drift: TypeScript 4.5, Jest 27, @types/node 6, GitHub Actions versions from 2019-2021, and 'engines' still claiming node >=6 (long EOL). The runtime logic itself remains current and sound; risk is low, but modernization of tooling is overdue. With 1906 stars and 114 open issues, this is the de facto standard for tsconfig paths resolution, relied on by ts-node, mocha setups, and the tsconfig-paths-webpack-plugin.

RATING: 8.5/10 MAINT: maintained DRIFT: medium
shepmaster/snafu ★ 1897 71 APPLICATION

SNAFU is a Rust library for ergonomic error handling. It provides a `#[derive(Snafu)]` proc-macro that generates custom error types with automatic 'context selectors' (e.g., `ReadConfigSnafu`) and implements standard traits (`Display`, `Error`, `From`). The library also offers extension traits (`ResultExt`, `OptionExt`, `TryFutureExt`, `TryStreamExt`) to attach contextual information to underlying errors, macros (`ensure!`, `whatever!`) for concise error creation, and a `Report` type for user-facing error output. It supports `no_std` environments (with `alloc`) and includes backtrace capture, location tracking, and an unstable provider API for attaching arbitrary data to errors. The crate is mature and widely adopted, but contains some deprecated features (e.g., `backtraces-impl-backtrace-crate`) and a complex feature-flag matrix. The companion `snafu-derive` crate handles all proc-macro generation, and the architecture cleanly separates parsing, validation, and code generation.

RATING: 8.5/10 MAINT: active DRIFT: medium
doctorhetfield-cmd/simpleui.koplugin ★ 1715 106 APPLICATION

SimpleUI is a KOReader plugin that provides a highly customizable, distraction-free user interface overlay for the KOReader e-book reader application. It replaces the default homescreen with a modular widget system (clock, currently reading, recent books, reading stats, cover deck, etc.), adds configurable top/bottom bars, quick settings bar, library enhancements (virtual browsing, cover overrides), reading statistics and streaks with heatmaps, backup/restore, and over-the-air updates. The plugin is implemented in Lua and deeply integrates with KOReader's widget framework, extensively monkey-patching core classes like FileChooser, TouchMenu, and TitleBar. Despite heavy coupling to KOReader internals, the codebase exhibits strong engineering practices: lazy loading, parameterized module factories (e.g., GridRenderer), custom caching layers (cover cache, stats cache), a reusable anti-aliased drawing library, and a self-contained i18n system with PO file parsing. The repository is actively maintained with a well-documented public API for external plugins to register quick actions. It is not a standalone application but a plugin that must be installed within KOReader. The primary risk is reliance on KOReader's internal APIs, which may break with upstream changes.

RATING: 8.5/10 MAINT: active DRIFT: medium
tickernelz/opencode-mem ★ 1639 154 APPLICATION

OpenCode-Mem is a plugin for OpenCode, an AI coding assistant, that provides persistent memory using vector embeddings and Turso/libSQL. It stores project-level technical memories (decisions, code facts, patterns) and learns user preferences/configs across sessions. The system uses local ONNX embeddings (or remote API) and supports multiple LLM providers (Anthropic, OpenAI, Google Gemini, MiniMax). It features auto-capture of session content, user profile learning with confidence decay, deduplication, and migration services. A full React web UI allows browsing, editing, and managing memories and user profiles. The architecture is modular: plugin entry, AI provider abstraction, Turso shard management, embedding service, web server, and shared API schemas. While primarily an application, it includes robust data pipeline patterns for vector search, ETL (migration), and user modeling.

RATING: 8.5/10 MAINT: active DRIFT: medium
SimonSchubert/Kai ★ 1304 200 APPLICATION

Kai is an open-source, cross-platform AI assistant application built with Kotlin Multiplatform and Compose Multiplatform. It provides a rich chat interface that integrates dozens of LLM providers (OpenAI, Anthropic, Gemini, Groq, DeepSeek, etc.) and supports on-device inference via LiteRT. The app goes beyond simple chat by offering persistent memory, tool calling (40+ tools including web search, email, SMS, shell commands, calendar, and MCP servers), a Linux sandbox for code execution (Android), scheduled heartbeat agents, skills/plugins, and dynamic AI-generated UI. It targets Android, iOS, desktop (Windows/Mac/Linux), and web (WASM). Architecturally, Kai follows a modular MVVM pattern with platform-specific implementations for features like sandbox, SMS, notifications, and clipboard. The shared code in `commonMain` contains the core logic: data repositories, tool execution, inference orchestration, markdown and math rendering, and a custom dynamic UI system (KaiUi) that renders AI-generated interactive elements inline. Persistence uses SQLDelight for conversations and a JSON-backed settings system for all other state. Dependencies are injected via Koin, and networking uses Ktor with kotlinx.serialization. The codebase is actively maintained (frequent commits, comprehensive CI/CD pipelines, 124 open issues suggesting active user engagement) and technically current with the Kotlin ecosystem. While the feature surface is large and introduces some platform complexity (many expect/actual stubs), the core abstractions are clean and test coverage is solid. Notable reusable components include a generic JSON settings list with corruption recovery, an animated gradient border modifier, and a complete dynamic UI node system that could be extracted for other AI-driven interfaces.

RATING: 8.5/10 MAINT: active DRIFT: low
arihantcodes/spectrum-ui ★ 1186 112 APPLICATION

Spectrum UI is a comprehensive React component library built with Next.js, Tailwind CSS, and Framer Motion. It provides over 250 animated, accessible components that can be installed via CLI or copied directly into projects. The repository includes a documentation site, marketing pages, a pro/template dashboard, and an MCP server for AI-assisted component discovery and installation. The architecture follows a monorepo structure with shared utilities, a component registry, and separate sections for docs, marketing, and user-facing features. Key technical strengths include a robust class-merging utility, reusable animation presets, a live-preview documentation system, and well-abstracted UI primitives. However, the codebase exhibits some maintenance challenges due to dependency volatility, duplication between registry and source components, and tight coupling with external services like Supabase and PostHog.

RATING: 8.5/10 MAINT: active DRIFT: medium
ArcadeData/arcadedb ★ 1155 140 APPLICATION

ArcadeDB is a high-performance, multi-model database system supporting graph, document, key-value, time-series, vector, and full-text data models. It exposes multiple query languages (SQL, Cypher, Gremlin, GraphQL) and wire protocols (HTTP, Bolt, PostgreSQL, MongoDB, gRPC). The architecture is modular: a core engine (storage, indexing, query execution) with pluggable server plugins for protocols, replication (Raft-based HA), and observability. It features advanced indexing (LSM-tree, hash, vector quantization, sparse vectors, full-text BM25), time-series with PromQL and downsampling, and graph analytical views with CSR compression. Python bindings allow embedded use. The codebase demonstrates strong engineering with extensive use of interfaces, design patterns, comprehensive test coverage (including issue-specific regression tests), and automated CI/CD with performance benchmarks. It is actively maintained with low technical debt and a clean architecture.

RATING: 8.5/10 MAINT: active DRIFT: low
fiso64/sockseek ★ 1130 68 APPLICATION

Sockseek is a command-line music downloader for the Soulseek peer-to-peer network, written in C# (.NET). It searches the Soulseek network for songs and albums, ranks candidates using a sophisticated multi-level sorting algorithm (bitrate, format, user reputation, etc.), and downloads the best match. The application supports multiple input sources: free-text search strings, Spotify/YouTube/Bandcamp/MusicBrainz URLs, CSV files, Soulseek links, and list files. It can run as a one-shot CLI tool or as a persistent daemon with an HTTP API and SignalR real-time event hub for remote control and live progress monitoring. Architecturally, the codebase is modular with four main projects: `Sockseek.Core` (core domain logic, search, download orchestration, extractors, file management), `Sockseek.Cli` (CLI entry point, interactive mode, progress rendering), `Sockseek.Server` (ASP.NET Core daemon with SignalR, event coalescing, state store), and `Sockseek.Api` (DTOs, JSON serialization context, client library). The system uses an event-driven architecture for decoupled progress reporting and state management. Extensive unit and integration tests (over 50 test files) and performance benchmarks (BenchmarkDotNet) ensure reliability and performance. Key features include incremental search result projection (album folders, aggregate tracks), a flexible profile system with condition-based auto-profiles, file condition evaluation (bitrate, sample rate, strict title/artist/album matching), fallback downloads via yt-dlp, stale download detection, and post-download command execution with variable substitution. The daemon exposes a full REST API and OpenAPI specification, enabling remote CLI clients and potential third-party integrations.

RATING: 8.5/10 MAINT: active DRIFT: low
codestable/CodeStable ★ 1114 83 APPLICATION

CodeStable is a framework for AI coding assistants (Claude Code, Codex CLI) that provides a set of 'skills' — thin harnesses that guide AI agents through software development tasks such as feature implementation, bug fixing, refactoring, epic decomposition, code review, and lesson management. The system emphasizes risk-based assurance, evidence-driven decisions, and minimal project memory, with a core philosophy of 'thin harness, thick context'. It is distributed as plugins for both Claude Code and Codex CLI, and includes a meta-skill (eval-cs-skill) for authoring, evaluating, optimizing, and releasing skills. The repository contains extensive experiment infrastructure with 15+ structured experiments covering routing accuracy, end-to-end outcomes, planted-defect recall, and learning transfer across multiple models. It features a sophisticated evaluation pipeline with deterministic oracles, hidden tests, regression tests, and checkpointed resume. The codebase demonstrates high craftsmanship with clean abstractions, strict validation, and cognitive honesty tagging (measured/soft/underpowered). Key architectural patterns include the thin skill pattern (compact SKILL.md with progressive disclosure via references), adapter pattern for AI model execution (Claude Code, Codex CLI, API, mock), deterministic seed building for reproducible experiments, and a risk-to-assurance mapping used generically by all task skills. The project has 8 ADRs documenting design decisions and a v1-to-v2 migration path that reduced 32 skills to 8. While the codebase is well-maintained and actively developed, some experiments are marked underpowered and the learning transfer epic was cancelled without completing primary hypotheses. The evaluation system is complex and tightly coupled to specific model names and macOS sandbox profiles, which may limit portability.

RATING: 8.5/10 MAINT: active DRIFT: low
rednblkx/HomeKey-ESP32 ★ 1101 97 APPLICATION

This repository implements a DIY smart lock controller for ESP32 hardware, enabling Apple HomeKey NFC authentication, HomeKit integration, and MQTT connectivity for Home Assistant. The architecture is a hybrid embedded system: a C++ backend built on ESP-IDF (FreeRTOS) handles hardware interaction (NFC, GPIO, Ethernet) and protocol stacks (HomeSpan, mbedTLS), while a Svelte 5 frontend hosted on the device's LittleFS provides a web-based configuration and monitoring interface. The system manages configuration persistence in NVS using MessagePack/JSON serialization and streams real-time logs via WebSocket. Engineering quality is high, featuring RAII wrappers for memory safety in C++, template-based configuration management, and a decoupled event-loop architecture. However, the codebase carries significant security debt, explicitly acknowledging the lack of flash encryption and plain-text password storage in configuration. Hardware support is fragmented across ESP32 variants and NFC modules, requiring hardcoded pin presets that limit portability. Despite 52 open issues, the recent commit activity and modern tech stack (ESP-IDF 5.x, Svelte 5) indicate active development.

RATING: 8.5/10 MAINT: active DRIFT: low
cisco-ai-defense/mcp-scanner ★ 1094 148 APPLICATION

This is a comprehensive security scanning tool for MCP (Model Context Protocol) servers, developed by Cisco AI Defense. It supports scanning tools, prompts, resources, and server instructions for vulnerabilities, malicious behavior, and operational readiness. The scanner uses a multi-engine architecture combining YARA rules, LLM-based semantic analysis, static dataflow/taint analysis (Python, JS/TS, Go, Java, etc.), behavioral alignment verification, VirusTotal hash lookups, and pip-audit vulnerability scanning. It can scan remote servers (SSE/HTTP), local stdio servers, static JSON files, and packages from PyPI or npm (sandboxed via Docker). The system provides a CLI tool (`mcp-scanner`), a FastAPI HTTP server (`mcp-scanner-api`), and a Python SDK for programmatic use. It also includes a Claude Code plugin for in-IDE scanning. The codebase exhibits strong engineering practices with modular analyzers, dependency injection, structured logging, and extensive test coverage. However, it has some technical drift risks due to heavy reliance on external LLM APIs, pinned LiteLLM version, and duplication in cross-file analysis modules.

RATING: 8.5/10 MAINT: active DRIFT: medium
arcee-ai/DistillKit ★ 1084 143 APPLICATION

DistillKit is a production-ready toolkit for knowledge distillation of large language models, supporting both online and offline workflows. It features advanced logit compression techniques (polynomial approximation + quantization + bit-packing) that enable efficient offline distillation at scale. The toolkit provides composable loss functions (KL, JSD, TVD, ranking losses, hidden state alignment) and integrates with Hugging Face Transformers, TRL, and Accelerate. It powers Arcee AI's distilled model releases and includes CLI tools for easy experimentation.

RATING: 8.5/10 MAINT: active DRIFT: low
bterwijn/memory_graph ★ 1083 80 APPLICATION

memory_graph is a Python library for visualizing the structure of Python data as graphs, primarily used for debugging and teaching concepts like references, mutability, and shallow/deep copy. It takes any Python data (e.g., locals(), call stack frames) and generates a Graphviz-based graph (PDF, PNG, SVG) showing the hierarchical relationships and shared references. The library supports multiple node types (leaf, linear, key-value, table), configurable slicing to limit graph size, call stack visualization with IDE-specific stack frame filtering, and extensions for numpy, pandas, and PyTorch types. It is designed to be used interactively in debuggers (VS Code, PyCharm, etc.) or programmatically via functions like `show()`, `render()`, and `block()`. The codebase is well-structured with clean separation of concerns (node types, slicing logic, configuration, HTML table generation) and includes unit tests for core components.

RATING: 8.5/10 MAINT: active DRIFT: low
christiaangoossens/hass-oidc-auth ★ 1077 56 APPLICATION

This repository is a Home Assistant custom component that implements a full OpenID Connect (OIDC) Client/Relying Party for authentication. It allows Home Assistant users to log in via an external OIDC Identity Provider (IdP) such as Authentik, Authelia, Keycloak, or any standard OIDC-compliant server. The integration registers a custom auth provider within Home Assistant's auth system, intercepts the default login flow to redirect users to the OIDC provider, and handles the full authorization code flow including PKCE (RFC 7636), ID token validation with configurable signing algorithms, and userinfo retrieval. It supports both public and confidential clients, device code flow for mobile app login, automatic user linking, role-based access mapping from IdP groups, and a multi-step UI configuration wizard for easy setup.

RATING: 8.5/10 MAINT: active DRIFT: low
$ loading more...
$ submit: