feat(CIE): Implement OIDC RP Service with login, callback, and session management

This commit is contained in:
gabdevele
2026-06-16 23:33:59 +02:00 Unverified
parent bb7ed18539
commit 5f81d2dcf7
31 changed files with 3218 additions and 4 deletions
+18
View File
@@ -33,16 +33,32 @@ else ()
"BUILD_YAML_CONFIG OFF"
"BUILD_TESTING OFF"
)
CPMAddPackage(
NAME jwt-cpp
GITHUB_REPOSITORY Thalhammer/jwt-cpp
GIT_TAG v0.7.1
OPTIONS
"JWT_BUILD_EXAMPLES OFF"
"JWT_BUILD_TESTS OFF"
"JWT_DISABLE_PICOJSON ON"
)
endif ()
set(APP_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/controllers/ApiController.cc
${CMAKE_CURRENT_SOURCE_DIR}/controllers/AdminController.cc
${CMAKE_CURRENT_SOURCE_DIR}/controllers/AuthController.cc
${CMAKE_CURRENT_SOURCE_DIR}/controllers/OidcController.cc
${CMAKE_CURRENT_SOURCE_DIR}/controllers/PublicController.cc
${CMAKE_CURRENT_SOURCE_DIR}/controllers/ReportController.cc
${CMAKE_CURRENT_SOURCE_DIR}/controllers/UserController.cc
${CMAKE_CURRENT_SOURCE_DIR}/common/Auth.cc
${CMAKE_CURRENT_SOURCE_DIR}/common/OidcRpConfig.cc
${CMAKE_CURRENT_SOURCE_DIR}/common/OidcHttp.cc
${CMAKE_CURRENT_SOURCE_DIR}/common/OidcCrypto.cc
${CMAKE_CURRENT_SOURCE_DIR}/common/OidcJwt.cc
${CMAKE_CURRENT_SOURCE_DIR}/common/OidcUserClaims.cc
${CMAKE_CURRENT_SOURCE_DIR}/common/Cors.cc
${CMAKE_CURRENT_SOURCE_DIR}/common/Crypto.cc
${CMAKE_CURRENT_SOURCE_DIR}/common/Email.cc
@@ -54,6 +70,7 @@ set(APP_SOURCES
${CMAKE_CURRENT_SOURCE_DIR}/repositories/Sql.cc
${CMAKE_CURRENT_SOURCE_DIR}/services/AdminService.cc
${CMAKE_CURRENT_SOURCE_DIR}/services/AuthService.cc
${CMAKE_CURRENT_SOURCE_DIR}/services/OidcRpService.cc
${CMAKE_CURRENT_SOURCE_DIR}/services/ReportService.cc
${CMAKE_CURRENT_SOURCE_DIR}/services/UserService.cc
)
@@ -71,6 +88,7 @@ target_include_directories(${PROJECT_NAME}
target_link_libraries(${PROJECT_NAME}
PRIVATE
Drogon::Drogon
jwt-cpp::jwt-cpp
)
file(GLOB CONTROLLER_HEADERS CONFIGURE_DEPENDS