Adding my vote for Authentik, it is capable of handling pretty much anything. I have found it a great balance of features and user friendliness.
The documentation is great and Authentik commissioned these great setup videos to walk you through things. https://youtube.com/playlist?list=PLH73rprBo7vSkDq-hAuXOoXx2es-1ExOP