Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion .vscode/cspell.json
Original file line number Diff line number Diff line change
Expand Up @@ -1577,7 +1577,10 @@
"urllistofbytes",
"urllistoflistofbytes",
"urlmapofbytes",
"xffffffffffff"
"xffffffffffff",
"oidcrequesturi",
"uami",
"imds"
]
},
{
Expand Down
2 changes: 0 additions & 2 deletions eng/versioning/version_client.txt
Original file line number Diff line number Diff line change
Expand Up @@ -534,7 +534,6 @@ com.azure.v2:azure-perf-test-parent;2.0.0-beta.1;2.0.0-beta.1
com.azure.v2:azure-core;2.0.0-beta.1;2.0.0-beta.1
com.azure.v2:azure-core-test;2.0.0-beta.1;2.0.0-beta.1
com.azure.v2:azure-data-appconfiguration;2.0.0-beta.1;2.0.0-beta.1
com.azure.v2:azure-identity;2.0.0-beta.1;2.0.0-beta.1
com.azure.v2:azure-security-keyvault-administration;5.0.0-beta.1;5.0.0-beta.1
com.azure.v2:azure-security-keyvault-certificates;5.0.0-beta.1;5.0.0-beta.1
com.azure.v2:azure-security-keyvault-secrets;5.0.0-beta.1;5.0.0-beta.1
Expand All @@ -561,7 +560,6 @@ io.clientcore:optional-dependency-tests;1.0.0-beta.1;1.0.0-beta.1
unreleased_com.azure:azure-core;1.58.0-beta.1

unreleased_com.azure.v2:azure-core;2.0.0-beta.1
unreleased_com.azure.v2:azure-identity;2.0.0-beta.1
unreleased_com.azure.v2:azure-data-appconfiguration;2.0.0-beta.1
unreleased_io.clientcore:http-netty4;1.0.0-beta.1

Expand Down
1 change: 0 additions & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -138,7 +138,6 @@
<module>sdk/hybridkubernetes</module>
<module>sdk/hybridnetwork</module>
<module>sdk/identity</module>
<module>sdk/identity-v2</module>
<module>sdk/imagebuilder</module>
<module>sdk/impactreporting</module>
<module>sdk/informaticadatamanagement</module>
Expand Down
8 changes: 0 additions & 8 deletions sdk/appconfiguration-v2/azure-data-appconfiguration/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -59,14 +59,6 @@ Code generated by Microsoft (R) TypeSpec Code Generator.
<version>2.0.0-beta.1</version> <!-- {x-version-update;unreleased_com.azure.v2:azure-core;dependency} -->
</dependency>

<!-- Test scope -->
<dependency>
<groupId>com.azure.v2</groupId>
<artifactId>azure-identity</artifactId>
<version>2.0.0-beta.1</version> <!-- {x-version-update;unreleased_com.azure.v2:azure-identity;dependency} -->
<scope>test</scope>
</dependency>

<dependency>
<groupId>com.azure.v2</groupId>
<artifactId>azure-core-test</artifactId>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
package com.azure.v2.data.appconfiguration;

import com.azure.v2.data.appconfiguration.models.ConfigurationSetting;
import com.azure.v2.identity.AzureCliCredential;
import com.azure.v2.identity.AzureCliCredentialBuilder;
import com.azure.v2.core.identity.AzureCliCredential;
import com.azure.v2.core.identity.AzureCliCredentialBuilder;
import io.clientcore.core.utils.configuration.Configuration;

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

import com.azure.v2.core.credentials.TokenCredential;
import com.azure.v2.core.test.InterceptorManager;
import com.azure.v2.identity.AzurePowerShellCredentialBuilder;
import com.azure.v2.identity.DefaultAzureCredentialBuilder;
import com.azure.v2.core.identity.AzurePowerShellCredentialBuilder;
import com.azure.v2.core.identity.DefaultAzureCredentialBuilder;
import io.clientcore.core.http.client.HttpClient;
import io.clientcore.core.utils.CoreUtils;
import io.clientcore.core.utils.configuration.Configuration;
Expand Down
6 changes: 6 additions & 0 deletions sdk/core-v2/azure-core/checkstyle-suppressions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,4 +5,10 @@
<suppressions>
<suppress files="com.azure.v2.core.http.pipeline.BearerTokenAuthenticationPolicy.java" checks="io.clientcore.linting.extensions.checkstyle.checks.ExternalDependencyExposedCheck" />
<suppress files="com.azure.v2.core.implementation.ImplUtils.java" checks="io.clientcore.linting.extensions.checkstyle.checks.GoodLoggingCheck" />
<suppress files="com.azure.v2.core.implementation.identity.client.AzureToolkitCacheAccessor.java" checks="IllegalImportCheck" />
<suppress files="com.azure.v2.core.implementation.identity.client.DevToolsClient.java" checks="IllegalImportCheck" />
<suppress files="com.azure.v2.core.implementation.identity.client.LinuxKeyRingAccessor.java" checks="IllegalImportCheck" />
<suppress files="com.azure.v2.core.implementation.identity.client.PowershellManager.java" checks="IllegalImportCheck" />
<suppress files="com.azure.v2.core.implementation.identity.client.LinuxKeyRingAccessor.java" checks="io.clientcore.linting.extensions.checkstyle.checks.EnforceFinalFieldsCheck" />
<suppress files="com.azure.v2.core.implementation.identity.models.PublicClientOptions.java" checks="io.clientcore.linting.extensions.checkstyle.checks.GoodLoggingCheck" />
</suppressions>
41 changes: 41 additions & 0 deletions sdk/core-v2/azure-core/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,18 @@
<version>1.0.0-beta.11</version> <!-- {x-version-update;io.clientcore:core;dependency} -->
</dependency>

<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>msal4j-persistence-extension</artifactId>
<version>1.3.0</version> <!-- {x-version-update;com.microsoft.azure:msal4j-persistence-extension;external_dependency} -->
</dependency>

<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>msal4j</artifactId>
<version>1.23.1</version> <!-- {x-version-update;com.microsoft.azure:msal4j;external_dependency} -->
</dependency>

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
Expand Down Expand Up @@ -108,10 +120,39 @@
<version>1.37</version> <!-- {x-version-update;org.openjdk.jmh:jmh-generator-annprocess;external_dependency} -->
<scope>test</scope>
</dependency>

<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-inline</artifactId>
<version>4.11.0</version> <!-- {x-version-update;org.mockito:mockito-inline;external_dependency} -->
<scope>test</scope>
</dependency>

<dependency>
<groupId>net.bytebuddy</groupId>
<artifactId>byte-buddy</artifactId>
<version>1.17.7</version><!-- {x-version-update;testdep_net.bytebuddy:byte-buddy;external_dependency} -->
<scope>test</scope>
</dependency>
</dependencies>

<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-enforcer-plugin</artifactId>
<version>3.6.1</version> <!-- {x-version-update;org.apache.maven.plugins:maven-enforcer-plugin;external_dependency} -->
<configuration>
<rules>
<bannedDependencies>
<includes>
<include>com.microsoft.azure:msal4j:[1.23.1]</include> <!-- {x-include-update;com.microsoft.azure:msal4j;external_dependency} -->
<include>com.microsoft.azure:msal4j-persistence-extension:[1.3.0]</include> <!-- {x-include-update;com.microsoft.azure:msal4j-persistence-extension;external_dependency} -->
</includes>
</bannedDependencies>
</rules>
</configuration>
</plugin>
<!-- RestProxyTests is inherited by tests in azure-core-http-netty -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.v2.identity;
package com.azure.v2.core.identity;

import com.azure.v2.identity.exceptions.CredentialAuthenticationException;
import com.azure.v2.identity.implementation.client.MsalAuthenticationAccountCache;
import com.azure.v2.identity.implementation.client.ConfidentialClient;
import com.azure.v2.identity.implementation.client.PublicClient;
import com.azure.v2.identity.implementation.models.ConfidentialClientOptions;
import com.azure.v2.identity.implementation.models.MsalToken;
import com.azure.v2.identity.implementation.models.PublicClientOptions;
import com.azure.v2.identity.implementation.util.LoggingUtil;
import com.azure.v2.core.credentials.TokenCredential;
import com.azure.v2.core.credentials.TokenRequestContext;
import com.azure.v2.core.identity.models.CredentialAuthenticationException;
import com.azure.v2.core.implementation.identity.client.ConfidentialClient;
import com.azure.v2.core.implementation.identity.client.MsalAuthenticationAccountCache;
import com.azure.v2.core.implementation.identity.client.PublicClient;
import com.azure.v2.core.implementation.identity.models.ConfidentialClientOptions;
import com.azure.v2.core.implementation.identity.models.MsalToken;
import com.azure.v2.core.implementation.identity.models.PublicClientOptions;
import com.azure.v2.core.implementation.identity.util.LoggingUtil;
import io.clientcore.core.credentials.oauth.AccessToken;
import io.clientcore.core.instrumentation.logging.ClientLogger;
import io.clientcore.core.utils.CoreUtils;

import static com.azure.v2.identity.implementation.util.LoggingUtil.logAndThrowTokenError;
import static com.azure.v2.core.implementation.identity.util.LoggingUtil.logAndThrowTokenError;

/**
* <p>Authorization Code authentication in Azure is a type of authentication mechanism that allows users to
Expand Down Expand Up @@ -45,7 +45,7 @@
* .build&#40;&#41;;
* </pre>
*
* @see com.azure.v2.identity
* @see com.azure.v2.core.identity
* @see AuthorizationCodeCredentialBuilder
*/
public class AuthorizationCodeCredential implements TokenCredential {
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.v2.identity;
package com.azure.v2.core.identity;

import com.azure.v2.identity.implementation.models.ClientOptions;
import com.azure.v2.identity.implementation.models.PublicClientOptions;
import com.azure.v2.identity.implementation.util.ValidationUtil;
import com.azure.v2.core.implementation.identity.models.ClientOptions;
import com.azure.v2.core.implementation.identity.models.PublicClientOptions;
import com.azure.v2.core.implementation.identity.util.ValidationUtil;
import io.clientcore.core.instrumentation.logging.ClientLogger;

import java.net.URI;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.v2.identity;
package com.azure.v2.core.identity;

import com.azure.v2.identity.exceptions.CredentialAuthenticationException;
import com.azure.v2.identity.exceptions.CredentialUnavailableException;
import com.azure.v2.identity.implementation.client.DevToolsClient;
import com.azure.v2.identity.implementation.models.DevToolsClientOptions;
import com.azure.v2.identity.implementation.util.LoggingUtil;
import com.azure.v2.core.credentials.TokenCredential;
import com.azure.v2.core.credentials.TokenRequestContext;
import com.azure.v2.core.identity.models.CredentialAuthenticationException;
import com.azure.v2.core.identity.models.CredentialUnavailableException;
import com.azure.v2.core.implementation.identity.client.DevToolsClient;
import com.azure.v2.core.implementation.identity.models.DevToolsClientOptions;
import com.azure.v2.core.implementation.identity.util.LoggingUtil;
import io.clientcore.core.credentials.oauth.AccessToken;
import io.clientcore.core.instrumentation.logging.ClientLogger;

import static com.azure.v2.identity.implementation.util.LoggingUtil.logAndThrowTokenError;
import static com.azure.v2.core.implementation.identity.util.LoggingUtil.logAndThrowTokenError;

/**
* <p>The Azure CLI is a command-line tool that allows users to manage Azure resources from their local machine or
Expand Down Expand Up @@ -49,31 +49,31 @@
* TokenCredential azureCliCredential = new AzureCliCredentialBuilder&#40;&#41;.build&#40;&#41;;
* </pre>
*
* @see com.azure.v2.identity
* @see com.azure.v2.core.identity
* @see AzureCliCredentialBuilder
*/
public class AzureCliCredential implements TokenCredential {
private static final ClientLogger LOGGER = new ClientLogger(AzureCliCredential.class);

private final DevToolsClient devToolslClient;
private final DevToolsClient devToolsClient;

/**
* Creates an AzureCliCredential with the given dev tools client options.
* @param devToolsClientOptions the options to configure the dev tools client
*/
AzureCliCredential(DevToolsClientOptions devToolsClientOptions) {
devToolslClient = new DevToolsClient(devToolsClientOptions);
devToolsClient = new DevToolsClient(devToolsClientOptions);
}

@Override
public AccessToken getToken(TokenRequestContext request) {
try {
AccessToken accessToken = devToolslClient.authenticateWithAzureCli(request);
AccessToken accessToken = devToolsClient.authenticateWithAzureCli(request);
LoggingUtil.logTokenSuccess(LOGGER, request);
return accessToken;
} catch (RuntimeException ex) {
throw logAndThrowTokenError(LOGGER, request, ex,
devToolslClient.getClientOptions().isChained()
devToolsClient.getClientOptions().isChained()
? CredentialUnavailableException::new
: CredentialAuthenticationException::new);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.v2.identity;
package com.azure.v2.core.identity;

import com.azure.v2.identity.implementation.models.ClientOptions;
import com.azure.v2.identity.implementation.models.DevToolsClientOptions;
import com.azure.v2.identity.implementation.util.IdentityUtil;
import com.azure.v2.identity.implementation.util.ValidationUtil;
import com.azure.v2.core.implementation.identity.models.ClientOptions;
import com.azure.v2.core.implementation.identity.models.DevToolsClientOptions;
import com.azure.v2.core.implementation.identity.util.IdentityUtil;
import com.azure.v2.core.implementation.identity.util.ValidationUtil;
import io.clientcore.core.instrumentation.logging.ClientLogger;

import java.time.Duration;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.v2.identity;
package com.azure.v2.core.identity;

import com.azure.v2.identity.exceptions.CredentialAuthenticationException;
import com.azure.v2.identity.exceptions.CredentialUnavailableException;
import com.azure.v2.identity.implementation.client.DevToolsClient;
import com.azure.v2.identity.implementation.models.DevToolsClientOptions;
import com.azure.v2.identity.implementation.util.LoggingUtil;
import com.azure.v2.core.credentials.TokenCredential;
import com.azure.v2.core.credentials.TokenRequestContext;
import com.azure.v2.core.identity.models.CredentialAuthenticationException;
import com.azure.v2.core.identity.models.CredentialUnavailableException;
import com.azure.v2.core.implementation.identity.client.DevToolsClient;
import com.azure.v2.core.implementation.identity.models.DevToolsClientOptions;
import com.azure.v2.core.implementation.identity.util.LoggingUtil;
import io.clientcore.core.credentials.oauth.AccessToken;
import io.clientcore.core.instrumentation.logging.ClientLogger;

import static com.azure.v2.identity.implementation.util.LoggingUtil.logAndThrowTokenError;
import static com.azure.v2.core.implementation.identity.util.LoggingUtil.logAndThrowTokenError;

/**
* <p>Azure Developer CLI is a command-line interface tool that allows developers to create, manage, and deploy
Expand Down Expand Up @@ -51,32 +51,32 @@
* TokenCredential azureDevCliCredential = new AzureDeveloperCliCredentialBuilder&#40;&#41;.build&#40;&#41;;
* </pre>
*
* @see com.azure.v2.identity
* @see com.azure.v2.core.identity
* @see AzureDeveloperCliCredentialBuilder
*/
public class AzureDeveloperCliCredential implements TokenCredential {
private static final ClientLogger LOGGER = new ClientLogger(AzureDeveloperCliCredential.class);

private final DevToolsClient devToolslClient;
private final DevToolsClient devToolsClient;

/**
* Creates an AzureDeveloperClCredential with given dev tools client options.
*
* @param clientOptions the options to configure the dev tools client
*/
AzureDeveloperCliCredential(DevToolsClientOptions clientOptions) {
devToolslClient = new DevToolsClient(clientOptions);
devToolsClient = new DevToolsClient(clientOptions);
}

@Override
public AccessToken getToken(TokenRequestContext request) {
try {
AccessToken accessToken = devToolslClient.authenticateWithAzureDeveloperCli(request);
AccessToken accessToken = devToolsClient.authenticateWithAzureDeveloperCli(request);
LoggingUtil.logTokenSuccess(LOGGER, request);
return accessToken;
} catch (RuntimeException ex) {
throw logAndThrowTokenError(LOGGER, request, ex,
devToolslClient.getClientOptions().isChained()
devToolsClient.getClientOptions().isChained()
? CredentialUnavailableException::new
: CredentialAuthenticationException::new);
}
Expand Down
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.v2.identity;
package com.azure.v2.core.identity;

import com.azure.v2.identity.implementation.models.ClientOptions;
import com.azure.v2.identity.implementation.models.DevToolsClientOptions;
import com.azure.v2.identity.implementation.util.IdentityUtil;
import com.azure.v2.identity.implementation.util.ValidationUtil;
import com.azure.v2.core.implementation.identity.models.ClientOptions;
import com.azure.v2.core.implementation.identity.models.DevToolsClientOptions;
import com.azure.v2.core.implementation.identity.util.IdentityUtil;
import com.azure.v2.core.implementation.identity.util.ValidationUtil;
import io.clientcore.core.instrumentation.logging.ClientLogger;

import java.time.Duration;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.

package com.azure.v2.identity;
package com.azure.v2.core.identity;

import com.azure.v2.identity.exceptions.CredentialAuthenticationException;
import com.azure.v2.identity.implementation.client.ConfidentialClient;
import com.azure.v2.identity.implementation.models.ConfidentialClientOptions;
import com.azure.v2.identity.implementation.models.OidcTokenResponse;
import com.azure.v2.identity.implementation.util.IdentityUtil;
import com.azure.v2.identity.implementation.util.LoggingUtil;
import com.azure.v2.core.credentials.TokenCredential;
import com.azure.v2.core.credentials.TokenRequestContext;
import com.azure.v2.core.identity.models.CredentialAuthenticationException;
import com.azure.v2.core.implementation.identity.client.ConfidentialClient;
import com.azure.v2.core.implementation.identity.models.ConfidentialClientOptions;
import com.azure.v2.core.implementation.identity.models.OidcTokenResponse;
import com.azure.v2.core.implementation.identity.util.IdentityUtil;
import com.azure.v2.core.implementation.identity.util.LoggingUtil;
import io.clientcore.core.credentials.oauth.AccessToken;
import io.clientcore.core.http.models.HttpHeaderName;
import io.clientcore.core.http.models.HttpHeaders;
Expand All @@ -24,7 +24,7 @@

import java.io.IOException;

import static com.azure.v2.identity.implementation.util.LoggingUtil.logAndThrowTokenError;
import static com.azure.v2.core.implementation.identity.util.LoggingUtil.logAndThrowTokenError;

/**
* The {@link AzurePipelinesCredential} acquires a token using the Azure Pipelines service connection.
Expand Down
Loading
Loading