Add documentation to password_providers config option (#7238)

This commit is contained in:
Andrew Morgan 2020-04-08 00:46:50 +01:00 committed by GitHub
parent f31e65a749
commit 29b7e22b93
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 32 additions and 4 deletions

1
changelog.d/7238.doc Normal file
View file

@ -0,0 +1 @@
Add documentation to the `password_providers` config option. Add known password provider implementations to docs.

View file

@ -9,7 +9,10 @@ into Synapse, and provides a number of methods by which it can integrate
with the authentication system. with the authentication system.
This document serves as a reference for those looking to implement their This document serves as a reference for those looking to implement their
own password auth providers. own password auth providers. Additionally, here is a list of known
password auth provider module implementations:
* [matrix-synapse-ldap3](https://github.com/matrix-org/matrix-synapse-ldap3/)
## Required methods ## Required methods

View file

@ -1657,7 +1657,19 @@ email:
#template_dir: "res/templates" #template_dir: "res/templates"
#password_providers: # Password providers allow homeserver administrators to integrate
# their Synapse installation with existing authentication methods
# ex. LDAP, external tokens, etc.
#
# For more information and known implementations, please see
# https://github.com/matrix-org/synapse/blob/master/docs/password_auth_providers.md
#
# Note: instances wishing to use SAML or CAS authentication should
# instead use the `saml2_config` or `cas_config` options,
# respectively.
#
password_providers:
# # Example config for an LDAP auth provider
# - module: "ldap_auth_provider.LdapAuthProvider" # - module: "ldap_auth_provider.LdapAuthProvider"
# config: # config:
# enabled: true # enabled: true

View file

@ -35,7 +35,7 @@ class PasswordAuthProviderConfig(Config):
if ldap_config.get("enabled", False): if ldap_config.get("enabled", False):
providers.append({"module": LDAP_PROVIDER, "config": ldap_config}) providers.append({"module": LDAP_PROVIDER, "config": ldap_config})
providers.extend(config.get("password_providers", [])) providers.extend(config.get("password_providers") or [])
for provider in providers: for provider in providers:
mod_name = provider["module"] mod_name = provider["module"]
@ -52,7 +52,19 @@ class PasswordAuthProviderConfig(Config):
def generate_config_section(self, **kwargs): def generate_config_section(self, **kwargs):
return """\ return """\
#password_providers: # Password providers allow homeserver administrators to integrate
# their Synapse installation with existing authentication methods
# ex. LDAP, external tokens, etc.
#
# For more information and known implementations, please see
# https://github.com/matrix-org/synapse/blob/master/docs/password_auth_providers.md
#
# Note: instances wishing to use SAML or CAS authentication should
# instead use the `saml2_config` or `cas_config` options,
# respectively.
#
password_providers:
# # Example config for an LDAP auth provider
# - module: "ldap_auth_provider.LdapAuthProvider" # - module: "ldap_auth_provider.LdapAuthProvider"
# config: # config:
# enabled: true # enabled: true