Skip to content

Commit 1bc6d2a

Browse files
author
Matthew Fisher
committed
Merge pull request #3931 from rochacon/fix-keys-api-perms
fix(controller): allow non superusers to manage their keys
2 parents f900d8d + 36f3236 commit 1bc6d2a

2 files changed

Lines changed: 11 additions & 0 deletions

File tree

controller/api/tests/test_key.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,3 +152,13 @@ def test_rsa_key_str(self):
152152
def test_rsa_key_fingerprint(self):
153153
fp = fingerprint(RSA_PUBKEY)
154154
self.assertEquals(fp, '54:6d:da:1f:91:b5:2b:6f:a2:83:90:c4:f9:73:76:f5')
155+
156+
def test_key_api_with_non_superuser_rsa(self):
157+
self.user = User.objects.get(username='autotest2')
158+
self.token = self.user.auth_token.key
159+
self._check_key(RSA_PUBKEY)
160+
161+
def test_key_api_with_non_superuser_ecdsa(self):
162+
self.user = User.objects.get(username='autotest2')
163+
self.token = self.user.auth_token.key
164+
self._check_key(ECDSA_PUBKEY)

controller/api/views.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -287,6 +287,7 @@ def get_object(self, **kwargs):
287287
class KeyViewSet(BaseDeisViewSet):
288288
"""A viewset for interacting with Key objects."""
289289
model = models.Key
290+
permission_classes = [IsAuthenticated, permissions.IsOwner]
290291
serializer_class = serializers.KeySerializer
291292

292293

0 commit comments

Comments
 (0)