Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
57 commits
Select commit Hold shift + click to select a range
ab832ab
Fix building and testing errors
Nov 19, 2025
afbaa5d
Create authentication module directory structure and placeholders (#130)
Nov 24, 2025
2054e96
Add base type definitions for authentication module (#130)
Nov 24, 2025
1a08399
Implement thread-safe memory cache with TTL support (#130)
Nov 24, 2025
082c149
Implement async HTTP client with libcurl (#130)
Nov 24, 2025
791e0df
Implement JWKS client with caching and key rotation (#130)
Nov 24, 2025
0cd0ecb
Add JWT validator interface design (#130)
Nov 24, 2025
d0f40c3
Design OAuth metadata generator interface (#130)
Nov 24, 2025
495f862
Define C API interface for authentication module (#130)
Nov 24, 2025
b7b8526
Implement C API functions for authentication (#130)
Nov 24, 2025
d3417dd
Verify CMake build integration for auth module (#130)
Nov 24, 2025
3eb3dd0
Create TypeScript type definitions for auth module (#130)
Nov 24, 2025
7f16155
Create FFI bindings for auth functions (#130)
Nov 24, 2025
ae18b1a
Implement high-level TypeScript auth API (#130)
Nov 24, 2025
01af10a
Integrate auth functionality into TypeScript package (#130)
Nov 25, 2025
9cad64c
Create basic authentication example (#130)
Nov 25, 2025
2629461
Create comprehensive MCP server with authentication example (#130)
Nov 25, 2025
2040677
Create performance benchmarks and tests for authentication (#130)
Nov 25, 2025
280dec4
Add StreamableHTTP MCP server with authentication support (#130)
Nov 25, 2025
2905107
Implement JWT header parsing (#130)
Nov 26, 2025
ad20b60
Implement JWT payload parsing (#130)
Nov 26, 2025
364ee10
Implement JWT signature verification (#130)
Nov 26, 2025
603e084
Implement JWKS fetching (#130)
Nov 26, 2025
33cd7d0
Implement JWKS key caching (#130)
Nov 26, 2025
09389ca
Implement key selection logic (#130)
Nov 26, 2025
fd35c3a
Implement token expiration checking (#130)
Nov 26, 2025
5f8d5dd
Implement issuer validation (#130)
Nov 26, 2025
2bfd143
Implement audience validation (#130)
Nov 26, 2025
97340cc
Implement scope validation (#130)
Nov 26, 2025
1d14cca
Implement robust HTTP GET requests (#130)
Nov 26, 2025
5fa24a0
Implement HTTP retry logic (#130)
Nov 26, 2025
726486f
Implement memory allocation strategy (#130)
Nov 26, 2025
35b3346
Implement comprehensive resource cleanup (#130)
Nov 26, 2025
f23f77d
Implement Error Code System (#130)
Nov 26, 2025
97f9722
Implement Error Message Management (#130)
Nov 26, 2025
b4a1f8b
Implement Client Configuration (#130)
Nov 26, 2025
cab4c0b
Implement Validation Options (#130)
Nov 26, 2025
78907c6
Implement Thread-Safe Cache (#130)
Nov 26, 2025
ddcabfc
Implement Thread-Safe Error Handling (#130)
Nov 26, 2025
f2d9cc1
Test Keycloak Integration (#130)
Nov 26, 2025
bf7406f
Test MCP Inspector Flow (#130)
Nov 26, 2025
ecda8fd
Optimize Cryptographic and Network Operations (#130)
Nov 26, 2025
b8faafe
Complete Integration Testing and Documentation (#130)
Nov 26, 2025
1e3a68d
Implement OAuth discovery and fix authentication issues (#130)
Nov 26, 2025
f2b4c27
Reorganize auth implementation to /src/auth/ for better organization …
Nov 27, 2025
6221317
Move optimization files to /src/auth/ for consistency (#130)
Nov 27, 2025
f6662de
Remove unused auth header files without implementations (#130)
Nov 27, 2025
74591e5
temp: make gopher-auth just provides registerOAuthRoutes and expressM…
Nov 28, 2025
8c1afe8
Fix JWT validation crash and export SDK for standalone deployment (#130)
Nov 28, 2025
f32ba3e
Remove AuthenticatedMcpServer pattern - use McpExpressAuth only (#130)
Dec 1, 2025
26a90f3
Move OAuth metadata generation to C++ layer (#130)
Dec 1, 2025
7183a28
Remove Express dependency from TypeScript SDK (#130)
Dec 1, 2025
81c9d1a
Add OAuth fallback implementations and session management to TypeScri…
Dec 5, 2025
a0a2a5b
Update SDK auth modules
Dec 5, 2025
1d13f15
Update express-adapter to handle public client registration
Dec 5, 2025
63658bf
Fix compilation errors in mcp_c_auth_api.cc
Dec 8, 2025
565cf6b
Fix all failing auth tests in MCP C++ SDK
Dec 9, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -126,6 +126,7 @@ endif()
find_package(Threads REQUIRED)
find_package(OpenSSL REQUIRED)
find_package(yaml-cpp REQUIRED)
find_package(CURL REQUIRED)

#Find libevent
find_package(PkgConfig)
Expand Down Expand Up @@ -346,6 +347,8 @@ message(STATUS "")

# Source files - split core from client/server to avoid circular deps
set(MCP_CORE_SOURCES
# Auth implementation is now in src/auth/mcp_auth_implementation.cc
# and is included via src/c_api/CMakeLists.txt in the gopher_mcp_c library
src/buffer/buffer_impl.cc
src/json/json_bridge.cc
src/json/json_serialization.cc
Expand Down Expand Up @@ -510,12 +513,14 @@ foreach(lib_target ${REAL_TARGETS})
PRIVATE
$<BUILD_INTERFACE:$<TARGET_PROPERTY:nlohmann_json::nlohmann_json,INTERFACE_INCLUDE_DIRECTORIES>>
${LIBEVENT_INCLUDE_DIRS}
${CURL_INCLUDE_DIRS}
)
target_link_libraries(${lib_target}
PUBLIC
Threads::Threads
OpenSSL::SSL
OpenSSL::Crypto
${CURL_LIBRARIES}
PRIVATE
nlohmann_json::nlohmann_json
${LIBEVENT_LIBRARIES}
Expand Down
Loading
Loading