diff options
author | Morten Tokle <mortent@verizonmedia.com> | 2021-01-08 11:52:09 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-01-08 11:52:09 +0100 |
commit | 74d27cb4d5d1552cbe1cac40e3965947bca8dc2c (patch) | |
tree | 5ff2a6ff8c95607074dd9425cf42bf50aac7bbda /controller-api | |
parent | f55c3c4c32abdec9803c4ad999d2157705dd6fd4 (diff) |
add flag to invalidate console sessions (#15965)
Co-authored-by: andreer <andreer@verizonmedia.com>
Diffstat (limited to 'controller-api')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java index 92f902dc0f7..46d1dc76b57 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/role/SecurityContext.java @@ -2,6 +2,7 @@ package com.yahoo.vespa.hosted.controller.api.role; import java.security.Principal; +import java.time.Instant; import java.util.Objects; import java.util.Set; @@ -14,10 +15,16 @@ public class SecurityContext { private final Principal principal; private final Set<Role> roles; + private final Instant issuedAt; - public SecurityContext(Principal principal, Set<Role> roles) { + public SecurityContext(Principal principal, Set<Role> roles, Instant issuedAt) { this.principal = Objects.requireNonNull(principal); this.roles = Set.copyOf(roles); + this.issuedAt = Objects.requireNonNull(issuedAt); + } + + public SecurityContext(Principal principal, Set<Role> roles) { + this(principal, roles, Instant.EPOCH); } public Principal principal() { @@ -28,18 +35,23 @@ public class SecurityContext { return roles; } + public Instant issuedAt() { + return issuedAt; + } + @Override public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; SecurityContext that = (SecurityContext) o; return Objects.equals(principal, that.principal) && - Objects.equals(roles, that.roles); + Objects.equals(roles, that.roles) && + Objects.equals(issuedAt, that.issuedAt); } @Override public int hashCode() { - return Objects.hash(principal, roles); + return Objects.hash(principal, roles, issuedAt); } @Override @@ -47,6 +59,7 @@ public class SecurityContext { return "SecurityContext{" + "principal=" + principal + ", roles=" + roles + + ", issuedAt=" + issuedAt + '}'; } |