mirror of https://github.com/zulip/zulip.git
auth: Add check_config for apple auth.
Apple has some other obligatory settings other than key and secret. To handle that this commit adds a function check_config() similar to that of SAML.
This commit is contained in:
parent
ea225bb9b8
commit
9583554d44
|
@ -61,6 +61,7 @@ from zerver.models import (
|
|||
from zerver.signals import email_on_new_login
|
||||
from zproject.backends import (
|
||||
AUTH_BACKEND_NAME_MAP,
|
||||
AppleAuthBackend,
|
||||
ExternalAuthDataDict,
|
||||
ExternalAuthResult,
|
||||
SAMLAuthBackend,
|
||||
|
@ -516,8 +517,13 @@ def start_social_login(request: HttpRequest, backend: str, extra_arg: Optional[s
|
|||
return redirect_to_config_error("saml")
|
||||
extra_url_params = {'idp': extra_arg}
|
||||
|
||||
if backend == "apple":
|
||||
result = AppleAuthBackend.check_config()
|
||||
if result is not None:
|
||||
return result
|
||||
|
||||
# TODO: Add AzureAD also.
|
||||
if backend in ["github", "google", "gitlab", "apple"]:
|
||||
if backend in ["github", "google", "gitlab"]:
|
||||
key_setting = "SOCIAL_AUTH_" + backend.upper() + "_KEY"
|
||||
secret_setting = "SOCIAL_AUTH_" + backend.upper() + "_SECRET"
|
||||
if not (getattr(settings, key_setting) and getattr(settings, secret_setting)):
|
||||
|
|
|
@ -1553,6 +1553,19 @@ class AppleAuthBackend(SocialAuthMixin, AppleIdAuth):
|
|||
|
||||
SCOPE_SEPARATOR = "%20" # https://github.com/python-social-auth/social-core/issues/470
|
||||
|
||||
@classmethod
|
||||
def check_config(cls) -> Optional[HttpResponse]:
|
||||
obligatory_apple_settings_list = [
|
||||
settings.SOCIAL_AUTH_APPLE_TEAM,
|
||||
settings.SOCIAL_AUTH_APPLE_SERVICES_ID,
|
||||
settings.SOCIAL_AUTH_APPLE_KEY,
|
||||
settings.SOCIAL_AUTH_APPLE_SECRET,
|
||||
]
|
||||
if any(not setting for setting in obligatory_apple_settings_list):
|
||||
return redirect_to_config_error("apple")
|
||||
|
||||
return None
|
||||
|
||||
def is_native_flow(self) -> bool:
|
||||
return self.strategy.request_data().get('native_flow', False)
|
||||
|
||||
|
|
Loading…
Reference in New Issue