backends: Fix type errors.

Signed-off-by: Anders Kaseorg <anders@zulip.com>
(cherry picked from commit ec3d187659)
This commit is contained in:
Anders Kaseorg
2025-02-18 17:27:06 -08:00
committed by Tim Abbott
parent 4455ddd513
commit 224e58a2ac
2 changed files with 8 additions and 6 deletions

View File

@@ -3292,7 +3292,6 @@ class SAMLAuthBackendTest(SocialAuthBase):
class AppleAuthMixin: class AppleAuthMixin:
BACKEND_CLASS = AppleAuthBackend
CLIENT_KEY_SETTING = "SOCIAL_AUTH_APPLE_KEY" CLIENT_KEY_SETTING = "SOCIAL_AUTH_APPLE_KEY"
AUTHORIZATION_URL = "https://appleid.apple.com/auth/authorize" AUTHORIZATION_URL = "https://appleid.apple.com/auth/authorize"
ACCESS_TOKEN_URL = "https://appleid.apple.com/auth/token" ACCESS_TOKEN_URL = "https://appleid.apple.com/auth/token"
@@ -3329,6 +3328,7 @@ class AppleAuthMixin:
class AppleIdAuthBackendTest(AppleAuthMixin, SocialAuthBase): class AppleIdAuthBackendTest(AppleAuthMixin, SocialAuthBase):
BACKEND_CLASS = AppleAuthBackend
LOGIN_URL = "/accounts/login/social/apple" LOGIN_URL = "/accounts/login/social/apple"
SIGNUP_URL = "/accounts/register/social/apple" SIGNUP_URL = "/accounts/register/social/apple"
@@ -3462,6 +3462,7 @@ class AppleIdAuthBackendTest(AppleAuthMixin, SocialAuthBase):
class AppleAuthBackendNativeFlowTest(AppleAuthMixin, SocialAuthBase): class AppleAuthBackendNativeFlowTest(AppleAuthMixin, SocialAuthBase):
BACKEND_CLASS = AppleAuthBackend
SIGNUP_URL = "/complete/apple/" SIGNUP_URL = "/complete/apple/"
LOGIN_URL = "/complete/apple/" LOGIN_URL = "/complete/apple/"

View File

@@ -1630,7 +1630,7 @@ def redirect_deactivated_user_to_login(realm: Realm, email: str) -> HttpResponse
def social_associate_user_helper( def social_associate_user_helper(
backend: BaseAuth, return_data: dict[str, Any], *args: Any, **kwargs: Any backend: "SocialAuthMixin", return_data: dict[str, Any], *args: Any, **kwargs: Any
) -> HttpResponse | UserProfile | None: ) -> HttpResponse | UserProfile | None:
"""Responsible for doing the Zulip account lookup and validation parts """Responsible for doing the Zulip account lookup and validation parts
of the Zulip social auth pipeline (similar to the authenticate() of the Zulip social auth pipeline (similar to the authenticate()
@@ -1790,6 +1790,7 @@ def social_auth_associate_user(
later stages of settings.SOCIAL_AUTH_PIPELINE, such as later stages of settings.SOCIAL_AUTH_PIPELINE, such as
social_auth_finish, as kwargs. social_auth_finish, as kwargs.
""" """
assert isinstance(backend, SocialAuthMixin)
partial_token = backend.strategy.request_data().get("partial_token") partial_token = backend.strategy.request_data().get("partial_token")
return_data: dict[str, Any] = {} return_data: dict[str, Any] = {}
user_profile = social_associate_user_helper(backend, return_data, *args, **kwargs) user_profile = social_associate_user_helper(backend, return_data, *args, **kwargs)
@@ -2143,15 +2144,15 @@ class GitHubAuthBackend(SocialAuthMixin, GithubOAuth2):
**kwargs, **kwargs,
) )
elif team_id is not None: elif team_id is not None:
backend = GithubTeamOAuth2(self.strategy, self.redirect_uri) team_backend = GithubTeamOAuth2(self.strategy, self.redirect_uri)
try: try:
return backend.user_data(access_token, *args, **kwargs) return team_backend.user_data(access_token, *args, **kwargs)
except AuthFailed: except AuthFailed:
return dict(auth_failed_reason="GitHub user is not member of required team") return dict(auth_failed_reason="GitHub user is not member of required team")
elif org_name is not None: elif org_name is not None:
backend = GithubOrganizationOAuth2(self.strategy, self.redirect_uri) organization_backend = GithubOrganizationOAuth2(self.strategy, self.redirect_uri)
try: try:
return backend.user_data(access_token, *args, **kwargs) return organization_backend.user_data(access_token, *args, **kwargs)
except AuthFailed: except AuthFailed:
return dict(auth_failed_reason="GitHub user is not member of required organization") return dict(auth_failed_reason="GitHub user is not member of required organization")