Skip to content

Commit 798c6af

Browse files
committed
Fix issue with negative counts
1 parent 43e457b commit 798c6af

File tree

2 files changed

+15
-11
lines changed

2 files changed

+15
-11
lines changed

api/src/main/java/io/sentrius/sso/controllers/api/ZeroTrustATApiController.java

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -452,18 +452,21 @@ List<ZtatDTO> decorateTats(List<ZtatDTO> tats, User operatingUser){
452452
if (canApprove || canDeny) {
453453
for (var tat : tats) {
454454

455-
if (tat.getUserName().equals(operatingUser.getUsername())) {
456-
tat.setCurrentUser(true);
457-
if (systemOptions.getCanApproveOwnZtat()) {
458-
tat.setCanApprove(canApprove);
455+
if (tat.getUserName().equals(operatingUser.getUsername())) {
456+
tat.setCurrentUser(true);
457+
if (systemOptions.getCanApproveOwnZtat()) {
458+
if (tat.getUsesRemaining() > 0) {
459+
tat.setCanApprove(canApprove);
460+
}
461+
tat.setCanDeny(canDeny);
462+
}
463+
}
464+
else {
465+
if (tat.getUsesRemaining() > 0) {
466+
tat.setCanApprove(canApprove);
467+
}
459468
tat.setCanDeny(canDeny);
460469
}
461-
}
462-
else {
463-
tat.setCanApprove(canApprove);
464-
tat.setCanDeny(canDeny);
465-
}
466-
467470
}
468471
}
469472
return tats;

dataplane/src/main/java/io/sentrius/sso/core/services/security/ZeroTrustRequestService.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,8 @@ private Integer getUsesRemaining(ZeroTrustAccessTokenRequest request) {
388388
List<ZeroTrustAccessTokenApproval> approval = request.getApprovals();
389389
if (!approval.isEmpty()) {
390390
var uses = ztatUseRepository.getUses(approval.get(0));
391-
return systemOptions.maxJitUses - uses.size();
391+
var usesRemaining = systemOptions.maxJitUses - uses.size();
392+
return Math.max(usesRemaining, 0);
392393
}
393394

394395
return systemOptions.maxJitUses; // Update as needed based on your logic

0 commit comments

Comments
 (0)