Skip to content

Commit 0812b8f

Browse files
committed
Sem-ver: api-break Remove the deprecated atlassian_jwt_auth.contrib.django and atlassian_jwt_auth.contrib.flask_app code
requires_asap has been added to atlassian_jwt_auth.frameworks.django Likewise requires_asap has been added to atlassian_jwt_auth.frameworks.flask Signed-off-by: David Black <dblack@atlassian.com>
1 parent 86dad52 commit 0812b8f

14 files changed

Lines changed: 47 additions & 207 deletions

File tree

atlassian_jwt_auth/contrib/django/__init__.py

Lines changed: 0 additions & 8 deletions
This file was deleted.

atlassian_jwt_auth/contrib/django/decorators.py

Lines changed: 0 additions & 68 deletions
This file was deleted.

atlassian_jwt_auth/contrib/django/middleware.py

Lines changed: 0 additions & 66 deletions
This file was deleted.

atlassian_jwt_auth/contrib/flask_app/__init__.py

Lines changed: 0 additions & 14 deletions
This file was deleted.

atlassian_jwt_auth/contrib/flask_app/decorators.py

Lines changed: 0 additions & 21 deletions
This file was deleted.

atlassian_jwt_auth/contrib/server/__init__.py

Whitespace-only changes.
Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,10 @@
1-
from .decorators import restrict_asap, with_asap
1+
from .decorators import requires_asap, restrict_asap, with_asap
22
from .middleware import OldStyleASAPMiddleware, asap_middleware
33

4-
__all__ = ["restrict_asap", "with_asap", "OldStyleASAPMiddleware", "asap_middleware"]
4+
__all__ = [
5+
"restrict_asap",
6+
"with_asap",
7+
"requires_asap",
8+
"OldStyleASAPMiddleware",
9+
"asap_middleware",
10+
]

atlassian_jwt_auth/frameworks/django/decorators.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,3 +63,20 @@ def restrict_asap(
6363
required,
6464
subject_should_match_issuer=None,
6565
)
66+
67+
68+
def requires_asap(
69+
issuers: Optional[Iterable[str]] = None,
70+
subject_should_match_issuer: Optional[bool] = None,
71+
func: Optional[Callable] = None,
72+
) -> Callable:
73+
"""Decorator for Django endpoints to require ASAP
74+
75+
:param list issuers: *required The 'iss' claims that this endpoint is from.
76+
"""
77+
return with_asap(
78+
func=func,
79+
required=True,
80+
issuers=issuers,
81+
subject_should_match_issuer=subject_should_match_issuer,
82+
)

atlassian_jwt_auth/frameworks/django/tests/test_django.py

Lines changed: 0 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -196,18 +196,6 @@ def test_request_decorated_issuer_is_allowed(self):
196196
retriever_key="whitelist/key01",
197197
)
198198

199-
# TODO: modify JWTAuthSigner to allow non-issuer subjects and update the
200-
# decorated subject test cases
201-
def test_request_non_decorated_subject_is_rejected(self):
202-
self.check_response(
203-
"restricted_subject",
204-
"Forbidden",
205-
403,
206-
issuer="whitelist",
207-
key_id="whitelist/key01",
208-
retriever_key="whitelist/key01",
209-
)
210-
211199
def test_request_using_settings_only_is_allowed(self):
212200
self.check_response("unneeded", "two")
213201

atlassian_jwt_auth/frameworks/django/tests/urls.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,9 +29,4 @@
2929
views.restricted_issuer_view,
3030
name="restricted_issuer",
3131
),
32-
path(
33-
"asap/restricted_subject",
34-
views.restricted_subject_view,
35-
name="restricted_subject",
36-
),
3732
]

0 commit comments

Comments
 (0)