瀏覽代碼

Fixes #9949: Fix KeyError exception resulting from invalid API token provisioning request

jeremystretch 3 年之前
父節點
當前提交
36ac83a319
共有 2 個文件被更改,包括 6 次插入5 次删除
  1. 1 0
      docs/release-notes/version-3.2.md
  2. 5 5
      netbox/users/api/views.py

+ 1 - 0
docs/release-notes/version-3.2.md

@@ -21,6 +21,7 @@
 * [#9885](https://github.com/netbox-community/netbox/issues/9885) - Fix child prefix counts when editing/deleting aggregates in bulk
 * [#9891](https://github.com/netbox-community/netbox/issues/9891) - Ensure consistent ordering for tags during object serialization
 * [#9919](https://github.com/netbox-community/netbox/issues/9919) - Fix potential XSS avenue via linked objects in tables
+* [#9949](https://github.com/netbox-community/netbox/issues/9949) - Fix KeyError exception resulting from invalid API token provisioning request
 
 ---
 

+ 5 - 5
netbox/users/api/views.py

@@ -74,11 +74,11 @@ class TokenProvisionView(APIView):
         serializer.is_valid()
 
         # Authenticate the user account based on the provided credentials
-        user = authenticate(
-            request=request,
-            username=serializer.data['username'],
-            password=serializer.data['password']
-        )
+        username = serializer.data.get('username')
+        password = serializer.data.get('password')
+        if not username or not password:
+            raise AuthenticationFailed("Username and password must be provided to provision a token.")
+        user = authenticate(request=request, username=username, password=password)
         if user is None:
             raise AuthenticationFailed("Invalid username/password")