Skip to content

Commit 51a4cf0

Browse files
committed
[Server] Add XrdAccToken authorization plugin for WLCG and SciTokens scopes.
Introduce an ofs.authlib plugin that enforces JWT scope claims from XrdSecoauth2 entity attributes, with automatic WLCG/SciTokens profile selection via wlcg.ver. Honor issuer-exported base_path and restricted_path when composing effective paths and gating requests. Document setup with XrdSecoauth2 in the plugin README.
1 parent 366b16b commit 51a4cf0

12 files changed

Lines changed: 1665 additions & 0 deletions

debian/xrootd-plugins.install

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,4 @@
1111
/usr/lib/*/libXrdSecunix-6.so
1212
/usr/lib/*/libXrdSecztn-6.so
1313
/usr/lib/*/libXrdSecoauth2-6.so
14+
/usr/lib/*/libXrdAccToken-6.so

src/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -127,5 +127,6 @@ if( NOT XRDCL_ONLY )
127127
add_subdirectory( XrdHttpCors )
128128
add_subdirectory( XrdCeph )
129129
add_subdirectory( XrdSciTokens )
130+
add_subdirectory( XrdAccToken )
130131
add_subdirectory( XrdOssMirage )
131132
endif()

src/XrdAccToken/CMakeLists.txt

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
unset(BUILD_ACCTOKEN CACHE)
2+
3+
if(XRDCL_ONLY)
4+
return()
5+
endif()
6+
7+
set(BUILD_ACCTOKEN TRUE CACHE INTERNAL "")
8+
9+
set(XrdAccToken XrdAccToken-${PLUGIN_VERSION})
10+
11+
add_library(${XrdAccToken} MODULE
12+
XrdAccTokenAccess.cc
13+
XrdAccTokenScope.cc
14+
)
15+
16+
target_include_directories(${XrdAccToken}
17+
PRIVATE
18+
${CMAKE_SOURCE_DIR}/src
19+
)
20+
21+
target_link_libraries(${XrdAccToken}
22+
PRIVATE
23+
XrdUtils
24+
XrdServer
25+
${CMAKE_DL_LIBS}
26+
)
27+
28+
if(NOT APPLE)
29+
target_link_options(${XrdAccToken} PRIVATE
30+
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/export-lib-symbols")
31+
endif()
32+
33+
install(TARGETS ${XrdAccToken} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})

0 commit comments

Comments
 (0)