aboutsummaryrefslogtreecommitdiffstats
path: root/vespa-athenz
diff options
context:
space:
mode:
authorBjørn Christian Seime <bjorncs@verizonmedia.com>2020-01-16 13:21:35 +0100
committerBjørn Christian Seime <bjorncs@verizonmedia.com>2020-01-24 13:00:44 +0100
commitc1bc5a249a5807b80dd11d78dd3464fac6b7ae7f (patch)
treefc8ea108ca3160c3594be626495a8565f811ec02 /vespa-athenz
parent88438542822aee1b75747b8e252a91f9189147cc (diff)
Add AthenzAccessToken
Diffstat (limited to 'vespa-athenz')
-rw-r--r--vespa-athenz/src/main/java/com/yahoo/vespa/athenz/api/AthenzAccessToken.java46
1 files changed, 46 insertions, 0 deletions
diff --git a/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/api/AthenzAccessToken.java b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/api/AthenzAccessToken.java
new file mode 100644
index 00000000000..86deb0b59b3
--- /dev/null
+++ b/vespa-athenz/src/main/java/com/yahoo/vespa/athenz/api/AthenzAccessToken.java
@@ -0,0 +1,46 @@
+// Copyright 2020 Oath Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.vespa.athenz.api;
+
+import java.util.Objects;
+
+/**
+ * Represents an Athenz Access Token
+ *
+ * @author bjorncs
+ */
+public class AthenzAccessToken {
+
+ public static final String HTTP_HEADER_NAME = "Authorization";
+
+ private static final String BEARER_TOKEN_PREFIX = "Bearer ";
+
+ private final String value;
+
+ public AthenzAccessToken(String value) {
+ this.value = stripBearerTokenPrefix(value);
+ }
+
+ private static String stripBearerTokenPrefix(String rawValue) {
+ String stripped = rawValue.strip();
+ return stripped.startsWith(BEARER_TOKEN_PREFIX)
+ ? stripped.substring(BEARER_TOKEN_PREFIX.length())
+ : stripped;
+ }
+
+ public String value() { return value; }
+
+ @Override public String toString() { return "AthenzAccessToken{value='" + value + "'}"; }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ AthenzAccessToken that = (AthenzAccessToken) o;
+ return Objects.equals(value, that.value);
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(value);
+ }
+}