Hi all!
As some of you know, I like to take on a project during the uninterrupted hours between Christmas and New Year's (well, those that remained while moving to Wisconsin this year...).
I've complained multiple times to Todd, Jim, and Derek how much I hate the fact that C++ applications wanting to use SciTokens have to perform tricks like boost-python to invoke python code from C++ (yuck!). It works but is ... distasteful.
Therefore, this holiday season I implemented a pure C / C++ version of the SciTokens library:
It has all the functionality as the Python version and layers on top of OpenSSL (handling the various crypto), jwt-cpp (header-only library for JWT parsing and JSON), and sqlite (caching public keys). Being that it's approximately 48 hours old ... well, don't be too surprised by bugs.
That said, we should really take a look at converting xrootd-scitokens and cvmfs-scitokens-helper over to scitokens-cpp. I think that'll prove to be a first step to more adventurous work such as adding a SciTokens-based HTCondor authentication/authorization protocol.
Brian