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..528dd684f --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDToken.java @@ -0,0 +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 new file mode 100644 index 000000000..c7e605f2f --- /dev/null +++ b/databricks-sdk-java/src/main/java/com/databricks/sdk/core/oauth/IDTokenSource.java @@ -0,0 +1,14 @@ +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); +} \ No newline at end of file