Skip to content

Commit 8caa6a8

Browse files
committed
Do not error when missing some JWT item
1 parent 20f43da commit 8caa6a8

File tree

1 file changed

+6
-6
lines changed
  • ansible_base/jwt_consumer/common

1 file changed

+6
-6
lines changed

ansible_base/jwt_consumer/common/auth.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -113,13 +113,13 @@ def parse_jwt_token(self, request):
113113

114114
if not self.user:
115115
# Either the user wasn't cached or the requested user was not in the DB so we need to make a new one
116+
resource_kwargs = {}
117+
for resource_key, token_key in (('resource_data', 'user_data'), ('ansible_id', 'sub'), ('service_id', 'service_id')):
118+
if token_key not in self.token:
119+
logger.warning(f'Missing {token_key} in JWT data, omitting {resource_key} from local resource entry')
120+
resource_kwargs[resource_key] = self.token[token_key]
116121
try:
117-
resource = Resource.create_resource(
118-
ResourceType.objects.get(name="shared.user"),
119-
resource_data=self.token["user_data"],
120-
ansible_id=self.token["sub"],
121-
service_id=self.token["service_id"],
122-
)
122+
resource = Resource.create_resource(ResourceType.objects.get(name="shared.user"), **resource_kwargs)
123123
self.user = resource.content_object
124124
logger.info(f"New user {self.user.username} created from JWT auth")
125125
except IntegrityError as exc:

0 commit comments

Comments
 (0)