Implement SAML authentication for GL3
This PR enables SAML authentication for GL3 and is based on similar PRs for GL2: https://github.com/bigbluebutton/greenlight/pull/1334 and https://github.com/bigbluebutton/greenlight/pull/2270 . We are using this feature in production, but it was not developed with the goal to be merged upstream. Because SAML for GL2 was never merged, I guess it won't happen for GL3 as well. However, I'd like to provide our development to the public for anyone in need of this.
This is the part of a series of similar PR submissions (Redis Sentinel, SAML integration, LDAP integration).
Details / How to use:
- SAML is added analogous to OIDC via omniauth
- OIDC takes precedence, so configure any OIDC variables if you want to use SAML
- Documention on configuration is provided in sample.env and SAMLConfiguration.md
- Notably, some configuration may be obtained from IDP metadata, especially SAML_IDP_URL, SAML_IDP_CERT_FINGERPRINT and the SAML_NAME_IDENTIFIER, so try to not configure these manually if possible
- The PR also removes any Sign-Up buttons if external authentication is used
Thanks for these PR's - I will definitely keep these open and will mark them as approved by maintainers for others who are interested in deploying these
@farhatahmad Thank you, that's great.
FYI: I have made another PR https://github.com/bigbluebutton/greenlight/pull/5480 , which is a subset of this one here. It is designed to be easily mergeable and lessen the burden of maintaining custom provider extensions. Please let me know your thoughts on that one.
Kudos, SonarCloud Quality Gate passed! 
0 Bugs
0 Vulnerabilities
0 Security Hotspots
1 Code Smell
No Coverage information
0.0% Duplication
Quality Gate passed
The SonarCloud Quality Gate passed, but some issues were introduced.
1 New issue
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code
Quality Gate passed
Issues
1 New issue
0 Accepted issues
Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code
Quality Gate passed
Issues
1 New issue
0 Accepted issues
Measures
0 Security Hotspots
No data about Coverage
0.0% Duplication on New Code