From d59de253befd33b2cf2f1adc848265aec170e68c Mon Sep 17 00:00:00 2001 From: emmyzhou-db Date: Wed, 23 Apr 2025 14:14:29 +0000 Subject: [PATCH 1/2] Added the IDTokenSource interface --- .../src/main/java/com/databricks/sdk/core/oauth/IDToken.java | 4 ++++ .../java/com/databricks/sdk/core/oauth/IDTokenSource.java | 4 ++++ 2 files changed, 8 insertions(+) create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDToken.java create mode 100644 databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDTokenSource.java diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDToken.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDToken.java new file mode 100644 index 000000000..ecbacb41b --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDToken.java @@ -0,0 +1,4 @@ +package com.databricks.sdk.core.oauth; + +public class IDToken { +} diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDTokenSource.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDTokenSource.java new file mode 100644 index 000000000..4c96944e6 --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDTokenSource.java @@ -0,0 +1,4 @@ +package com.databricks.sdk.core.oauth; + +public interface IDTokenSource { +} From 47aee87eb13e57cfefef3ba6b1f749f73f2d4d65 Mon Sep 17 00:00:00 2001 From: emmyzhou-db Date: Wed, 23 Apr 2025 14:19:02 +0000 Subject: [PATCH 2/2] Add IDTokenSource --- .../databricks/sdk/core/oauth/IDToken.java | 20 ++++++++++++++++++- .../sdk/core/oauth/IDTokenSource.java | 11 ++++++++++ 2 files changed, 30 insertions(+), 1 deletion(-) diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDToken.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDToken.java index ecbacb41b..528dd684f 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDToken.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDToken.java @@ -1,4 +1,22 @@ package com.databricks.sdk.core.oauth; +/** + * Represents an ID Token provided by an identity provider from an OAuth flow. + * IDToken is a token that can be exchanged for an access token. + */ public class IDToken { -} + // The string value of the ID Token + private final String value; + + /** + * Constructs an IDToken with a value. + * @param value The ID Token string. + */ + public IDToken(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} \ No newline at end of file diff --git a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDTokenSource.java b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDTokenSource.java index 4c96944e6..90670c703 100644 --- a/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDTokenSource.java +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDTokenSource.java @@ -1,4 +1,15 @@ package com.databricks.sdk.core.oauth; +/** + * IDTokenSource is anything that returns an IDToken given an audience. + */ public interface IDTokenSource { + /** + * Retrieves an ID Token for the specified audience. + * + * @param audience The intended recipient of the ID Token. + * @return An {@link IDToken} containing the token value. + */ + IDToken getIDToken(String audience); } +