My guess is mod_auth_mellon is not configured correctly but I am not sure where to start to debug this. What should apache return for /mellon/metadata/ls and /mellon/metadata/postResponse? Any help is greatly appreciated.
Hey, I’m so sorry for the delay. @tdockendorf do you have any experience with this? I’d guess setting that module’s log level to debug or trace is a good place to start if you haven’t already.
I’ve never used mod_auth_mellon, so I am not sure what could be wrong. That particular documentation was a community contribution I believe, not something I was involved with.
ls seems to be a mellon api. from the docs it was #1 in pre-requisites, “The SAML 2.0 service URL”.
In any case, here are my thoughts on next steps:
the docs also indicate to wrap the entires in auth_mellon.conf in a <Location> block. I can’t say this is the issue, but I’d like to rule it out one way or another. OIDC adds a new location, so maybe this is important as /mellon really isn’t found or isn’t understood.
turn debug logs on with LogLevel auth_mellon_module:debug (that may or may not be the right module name).
I could only find this related auth mellon issue where the user had a directory in /var/www. Mabye that’s a part of the mod_auth_mellon install? I can’t say - but I’d look for that directory.
I think Actual command for metadata generation should be the following (swap ARG1 <-> ARG2)
/usr/libexec/mod_auth_mellon/mellon_create_metadata.sh “{mellon_endpoint}/metadata" "{mellon_endpoint}”
Took really long time than expected, but I can confirm that creating metadata after swapping both ARG is working.
From my experience, most users would need this workaround as most ADFS systems return Attributes like “sAMaccountName” which is case-insensitive where as unix won’t like it.
Perhaps adding a section in the page with above info might help others.
Initially I configured SSSD to be case-insensitive, which didn’t work all the way (logs suggest my login was successful) because nginx failed to get lock on socket which is expected because PUN is started as REMOTE_USER.