diff --git a/src/main/java/com/oneidentity/safeguard/safeguardjava/ISafeguardConnection.java b/src/main/java/com/oneidentity/safeguard/safeguardjava/ISafeguardConnection.java index 2711219..a5304ee 100644 --- a/src/main/java/com/oneidentity/safeguard/safeguardjava/ISafeguardConnection.java +++ b/src/main/java/com/oneidentity/safeguard/safeguardjava/ISafeguardConnection.java @@ -168,10 +168,18 @@ FullResponse JoinSps(ISafeguardSessionsConnection spsConnection, String certific */ void logOut() throws ObjectDisposedException; + /** + * Returns a character array of the current access token which the caller can pass to other Safeguard + * methods, such as adding cluster members. + * + * @return The current access token. + * @throws ObjectDisposedException Object has already been disposed. + */ + char[] getAccessToken() throws ObjectDisposedException; + /** * Disposes of the connection. * */ void dispose(); - } diff --git a/src/main/java/com/oneidentity/safeguard/safeguardjava/PersistentSafeguardConnection.java b/src/main/java/com/oneidentity/safeguard/safeguardjava/PersistentSafeguardConnection.java index f52d060..2ceb704 100644 --- a/src/main/java/com/oneidentity/safeguard/safeguardjava/PersistentSafeguardConnection.java +++ b/src/main/java/com/oneidentity/safeguard/safeguardjava/PersistentSafeguardConnection.java @@ -83,9 +83,13 @@ public ISafeguardEventListener getPersistentEventListener() throws ObjectDispose return _connection.getPersistentEventListener(); } + @Override + public char[] getAccessToken() throws ObjectDisposedException { + return _connection.getAccessToken(); + } + @Override public void logOut() throws ObjectDisposedException { _connection.logOut(); } - } diff --git a/src/main/java/com/oneidentity/safeguard/safeguardjava/SafeguardConnection.java b/src/main/java/com/oneidentity/safeguard/safeguardjava/SafeguardConnection.java index 4c72d30..ea2856c 100644 --- a/src/main/java/com/oneidentity/safeguard/safeguardjava/SafeguardConnection.java +++ b/src/main/java/com/oneidentity/safeguard/safeguardjava/SafeguardConnection.java @@ -312,4 +312,9 @@ public IStreamingRequest getStreamingRequest() { return this.streamingRequest; } + @Override + public char[] getAccessToken() throws ObjectDisposedException { + return authenticationMechanism.getAccessToken(); + } + } diff --git a/tests/safeguardjavaclient/src/main/java/com/oneidentity/safeguard/safeguardclient/SafeguardTests.java b/tests/safeguardjavaclient/src/main/java/com/oneidentity/safeguard/safeguardclient/SafeguardTests.java index 7acd88d..738b07d 100644 --- a/tests/safeguardjavaclient/src/main/java/com/oneidentity/safeguard/safeguardclient/SafeguardTests.java +++ b/tests/safeguardjavaclient/src/main/java/com/oneidentity/safeguard/safeguardclient/SafeguardTests.java @@ -216,6 +216,9 @@ public void safeguardTestConnection(ISafeguardConnection connection) { } try { + char[] token = connection.getAccessToken(); + System.out.println(String.format("\tAccess Token: %s", new String(token))); + int remaining = connection.getAccessTokenLifetimeRemaining(); System.out.println(String.format("\tTime remaining: %d", remaining));