Skip to content

Commit

Permalink
refactor: inherit from social auth exception
Browse files Browse the repository at this point in the history
* refactor: inherit from social auth exception

This change the heritance of the eox-tenant-auth-exception.

This with the purpose of the exception to be handled by the social tpa middleware exception
process.

You can see here that the new class is also based in value error exception.
https://github.com/python-social-auth/social-core/blob/29cbbd22b98d81d569a886b1cc0bd9a316cd124f/social_core/exceptions.py#L1

But the change is related with this PR:
eduNEXT/eox-core#171
So now as the exception is family  of the SocialAuthBaseException.

The the tpa middleware could managed it.
https://github.com/python-social-auth/social-app-django/blob/5.4.0/social_django/middleware.py#L35

Keep in mind that this middleware is parent of edx-platform middleware.
https://github.com/openedx/edx-platform/blob/ebcbe1cd9208191c0589d7fe538c6ac13470abe6/common/djangoapps/third_party_auth/middleware.py#L18

* refactor: social-auth-core pkg inclusion

(cherry picked from commit c542749)

chore: run make upgrade
  • Loading branch information
johanseto committed Feb 9, 2024
1 parent fc5af47 commit 3806aaa
Show file tree
Hide file tree
Showing 7 changed files with 120 additions and 27 deletions.
3 changes: 2 additions & 1 deletion eox_tenant/pipeline.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
"""
The pipeline module defines functions that are used in the third party authentication flow
"""
from social_core.exceptions import AuthFailed


class EoxTenantAuthException(ValueError):
class EoxTenantAuthException(AuthFailed):
"""Auth process exception."""

def __init__(self, backend, *args, **kwargs):
Expand Down
1 change: 1 addition & 0 deletions requirements/base.in
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,4 @@ django-mysql
jsonfield
edx-opaque-keys[django]
openedx_filters
social-auth-core
42 changes: 38 additions & 4 deletions requirements/base.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,19 @@
#
asgiref==3.7.2
# via django
django==3.2.23
certifi==2024.2.2
# via requests
cffi==1.16.0
# via cryptography
charset-normalizer==3.3.2
# via requests
cryptography==42.0.2
# via social-auth-core
defusedxml==0.8.0rc2
# via
# python3-openid
# social-auth-core
django==3.2.24
# via
# -c requirements/constraints.txt
# -r requirements/base.in
Expand All @@ -19,7 +31,7 @@ django-crum==0.7.9
# via
# -c requirements/constraints.txt
# -r requirements/base.in
django-mysql==4.7.1
django-mysql==4.9.0
# via
# -c requirements/constraints.txt
# -r requirements/base.in
Expand All @@ -31,31 +43,53 @@ edx-opaque-keys[django]==2.3.0
# via
# -c requirements/constraints.txt
# -r requirements/base.in
idna==3.6
# via requests
jsonfield==3.1.0
# via
# -c requirements/constraints.txt
# -r requirements/base.in
oauthlib==3.2.2
# via
# requests-oauthlib
# social-auth-core
openedx-filters==1.2.0
# via
# -c requirements/constraints.txt
# -r requirements/base.in
pbr==6.0.0
# via stevedore
pycparser==2.21
# via cffi
pyjwt==2.8.0
# via social-auth-core
pymongo==3.13.0
# via
# -c requirements/constraints.txt
# edx-opaque-keys
pytz==2023.3.post1
python3-openid==3.2.0
# via social-auth-core
pytz==2024.1
# via
# django
# djangorestframework
requests==2.31.0
# via
# requests-oauthlib
# social-auth-core
requests-oauthlib==1.3.1
# via social-auth-core
six==1.16.0
# via
# -c requirements/constraints.txt
# -r requirements/base.in
social-auth-core==4.5.2
# via -r requirements/base.in
sqlparse==0.4.4
# via django
stevedore==5.1.0
# via edx-opaque-keys
typing-extensions==4.8.0
typing-extensions==4.9.0
# via asgiref
urllib3==2.2.0
# via requests
2 changes: 1 addition & 1 deletion requirements/django.txt
Original file line number Diff line number Diff line change
@@ -1 +1 @@
django==3.2.23
django==3.2.24
4 changes: 2 additions & 2 deletions requirements/pip-tools.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ build==1.0.3
# via pip-tools
click==8.1.7
# via pip-tools
importlib-metadata==6.8.0
importlib-metadata==7.0.1
# via build
packaging==23.2
# via build
Expand All @@ -21,7 +21,7 @@ tomli==2.0.1
# build
# pip-tools
# pyproject-hooks
wheel==0.41.3
wheel==0.42.0
# via pip-tools
zipp==3.17.0
# via importlib-metadata
Expand Down
85 changes: 71 additions & 14 deletions requirements/test.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,38 @@ asgiref==3.7.2
# via
# -r requirements/base.txt
# django
astroid==2.11.7
astroid==2.15.8
# via pylint
certifi==2024.2.2
# via
# -r requirements/base.txt
# requests
cffi==1.16.0
# via
# -r requirements/base.txt
# cryptography
charset-normalizer==3.3.2
# via
# -r requirements/base.txt
# requests
coverage==6.5.0
# via
# -c requirements/constraints.txt
# -r requirements/test.in
cryptography==42.0.2
# via
# -r requirements/base.txt
# social-auth-core
ddt==1.6.0
# via
# -c requirements/constraints.txt
# -r requirements/test.in
dill==0.3.7
defusedxml==0.8.0rc2
# via
# -r requirements/base.txt
# python3-openid
# social-auth-core
dill==0.3.8
# via pylint
# via
# -c requirements/constraints.txt
Expand All @@ -36,7 +57,7 @@ django-fake-model==0.1.4
# via
# -c requirements/constraints.txt
# -r requirements/test.in
django-mysql==4.7.1
django-mysql==4.9.0
# via
# -c requirements/constraints.txt
# -r requirements/base.txt
Expand All @@ -48,25 +69,35 @@ edx-opaque-keys[django]==2.3.0
# via
# -c requirements/constraints.txt
# -r requirements/base.txt
isort==5.12.0
# edx-opaque-keys
idna==3.6
# via
# -r requirements/base.txt
# requests
isort==5.13.2
# via pylint
jsonfield==3.1.0
# via
# -c requirements/constraints.txt
# -r requirements/base.txt
lazy-object-proxy==1.9.0
lazy-object-proxy==1.10.0
# via astroid
mccabe==0.7.0
# via pylint
mock==4.0.3
mock==5.0.2
# via
# -c requirements/constraints.txt
# -r requirements/test.in
oauthlib==3.2.2
# via
# -r requirements/base.txt
# requests-oauthlib
# social-auth-core
openedx-filters==1.2.0
# via
# -c requirements/constraints.txt
# -r requirements/base.txt
path==16.7.1
path==16.10.0
# via path-py
path-py==12.5.0
# via
Expand All @@ -76,13 +107,21 @@ pbr==6.0.0
# via
# -r requirements/base.txt
# stevedore
platformdirs==4.0.0
platformdirs==4.2.0
# via pylint
pycodestyle==2.8.0
# via
# -c requirements/constraints.txt
# -r requirements/test.in
pylint==2.13.9
pycparser==2.21
# via
# -r requirements/base.txt
# cffi
pyjwt==2.8.0
# via
# -r requirements/base.txt
# social-auth-core
pylint==2.17.7
# via
# -c requirements/constraints.txt
# -r requirements/test.in
Expand All @@ -91,15 +130,30 @@ pymongo==3.13.0
# -c requirements/constraints.txt
# -r requirements/base.txt
# edx-opaque-keys
pytz==2023.3.post1
python3-openid==3.2.0
# via
# -r requirements/base.txt
# social-auth-core
pytz==2024.1
# via
# -r requirements/base.txt
# django
# djangorestframework
requests==2.31.0
# via
# -r requirements/base.txt
# requests-oauthlib
# social-auth-core
requests-oauthlib==1.3.1
# via
# -r requirements/base.txt
# social-auth-core
six==1.16.0
# via
# -c requirements/constraints.txt
# -r requirements/base.txt
social-auth-core==4.5.2
# via -r requirements/base.txt
sqlparse==0.4.4
# via
# -r requirements/base.txt
Expand All @@ -114,14 +168,17 @@ testfixtures==7.0.0
# -r requirements/test.in
tomli==2.0.1
# via pylint
typing-extensions==4.8.0
tomlkit==0.12.3
# via pylint
typing-extensions==4.9.0
# via
# -r requirements/base.txt
# asgiref
# astroid
# pylint
urllib3==2.2.0
# via
# -r requirements/base.txt
# requests
wrapt==1.16.0
# via astroid

# The following packages are considered to be unsafe in a requirements file:
# setuptools
10 changes: 5 additions & 5 deletions requirements/tox.txt
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ chardet==5.2.0
# via tox
colorama==0.4.6
# via tox
distlib==0.3.7
distlib==0.3.8
# via virtualenv
filelock==3.13.1
# via
Expand All @@ -20,19 +20,19 @@ packaging==23.2
# via
# pyproject-api
# tox
platformdirs==3.11.0
platformdirs==4.2.0
# via
# tox
# virtualenv
pluggy==1.3.0
pluggy==1.4.0
# via tox
pyproject-api==1.6.1
# via tox
tomli==2.0.1
# via
# pyproject-api
# tox
tox==4.11.3
tox==4.12.1
# via -r requirements/tox.in
virtualenv==20.24.6
virtualenv==20.25.0
# via tox

0 comments on commit 3806aaa

Please sign in to comment.