Skip to content

Commit 0e07b20

Browse files
authored
Add AzureCliCredential and VSCodeCredential to public API (#11790)
1 parent ad179ad commit 0e07b20

File tree

9 files changed

+30
-10
lines changed

9 files changed

+30
-10
lines changed

sdk/identity/azure-identity/CHANGELOG.md

+3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
# Release History
22

33
## 1.4.0b4 (Unreleased)
4+
- `AzureCliCredential` and `VSCodeCredential`, which enable authenticating as
5+
the identity signed in to the Azure CLI and Visual Studio Code, respectively,
6+
can be imported from `azure.identity` and `azure.identity.aio`.
47
- `azure.identity.aio.AuthorizationCodeCredential.get_token()` no longer accepts
58
optional keyword arguments `executor` or `loop`. Prior versions of the method
69
didn't use these correctly, provoking exceptions, and internal changes in this

sdk/identity/azure-identity/azure/identity/__init__.py

+4
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
from ._exceptions import AuthenticationRequiredError, CredentialUnavailableError
99
from ._constants import KnownAuthorities
1010
from ._credentials import (
11+
AzureCliCredential,
1112
AuthorizationCodeCredential,
1213
CertificateCredential,
1314
ChainedTokenCredential,
@@ -19,11 +20,13 @@
1920
ManagedIdentityCredential,
2021
SharedTokenCacheCredential,
2122
UsernamePasswordCredential,
23+
VSCodeCredential,
2224
)
2325

2426

2527
__all__ = [
2628
"AuthenticationRecord",
29+
"AzureCliCredential",
2730
"AuthenticationRequiredError",
2831
"AuthorizationCodeCredential",
2932
"CertificateCredential",
@@ -38,6 +41,7 @@
3841
"ManagedIdentityCredential",
3942
"SharedTokenCacheCredential",
4043
"UsernamePasswordCredential",
44+
"VSCodeCredential",
4145
]
4246

4347
from ._version import VERSION

sdk/identity/azure-identity/azure/identity/_credentials/__init__.py

+3
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,12 @@
1414
from .azure_cli import AzureCliCredential
1515
from .device_code import DeviceCodeCredential
1616
from .user_password import UsernamePasswordCredential
17+
from .vscode_credential import VSCodeCredential
1718

1819

1920
__all__ = [
2021
"AuthorizationCodeCredential",
22+
"AzureCliCredential",
2123
"CertificateCredential",
2224
"ChainedTokenCredential",
2325
"ClientSecretCredential",
@@ -29,4 +31,5 @@
2931
"SharedTokenCacheCredential",
3032
"AzureCliCredential",
3133
"UsernamePasswordCredential",
34+
"VSCodeCredential",
3235
]

sdk/identity/azure-identity/azure/identity/aio/__init__.py

+4
Original file line numberDiff line numberDiff line change
@@ -6,23 +6,27 @@
66

77
from ._credentials import (
88
AuthorizationCodeCredential,
9+
AzureCliCredential,
910
CertificateCredential,
1011
ChainedTokenCredential,
1112
ClientSecretCredential,
1213
DefaultAzureCredential,
1314
EnvironmentCredential,
1415
ManagedIdentityCredential,
1516
SharedTokenCacheCredential,
17+
VSCodeCredential,
1618
)
1719

1820

1921
__all__ = [
2022
"AuthorizationCodeCredential",
23+
"AzureCliCredential",
2124
"CertificateCredential",
2225
"ClientSecretCredential",
2326
"DefaultAzureCredential",
2427
"EnvironmentCredential",
2528
"ManagedIdentityCredential",
2629
"ChainedTokenCredential",
2730
"SharedTokenCacheCredential",
31+
"VSCodeCredential",
2832
]

sdk/identity/azure-identity/azure/identity/aio/_credentials/__init__.py

+2
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from .client_secret import ClientSecretCredential
1212
from .shared_cache import SharedTokenCacheCredential
1313
from .azure_cli import AzureCliCredential
14+
from .vscode_credential import VSCodeCredential
1415

1516

1617
__all__ = [
@@ -23,4 +24,5 @@
2324
"EnvironmentCredential",
2425
"ManagedIdentityCredential",
2526
"SharedTokenCacheCredential",
27+
"VSCodeCredential",
2628
]

sdk/identity/azure-identity/tests/test_cli_credential.py

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
from datetime import datetime
66
import json
77

8-
from azure.identity import CredentialUnavailableError
9-
from azure.identity._credentials.azure_cli import AzureCliCredential, CLI_NOT_FOUND
8+
from azure.identity import AzureCliCredential, CredentialUnavailableError
9+
from azure.identity._credentials.azure_cli import CLI_NOT_FOUND
1010
from azure.core.exceptions import ClientAuthenticationError
1111

1212
import subprocess

sdk/identity/azure-identity/tests/test_cli_credential_async.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from unittest import mock
99

1010
from azure.identity import CredentialUnavailableError
11-
from azure.identity.aio._credentials.azure_cli import AzureCliCredential
11+
from azure.identity.aio import AzureCliCredential
1212
from azure.identity._credentials.azure_cli import CLI_NOT_FOUND
1313
from azure.core.exceptions import ClientAuthenticationError
1414
import pytest

sdk/identity/azure-identity/tests/test_vscode_credential.py

+5-3
Original file line numberDiff line numberDiff line change
@@ -3,18 +3,20 @@
33
# Licensed under the MIT License.
44
# ------------------------------------
55
import sys
6-
import pytest
6+
77
from azure.core.credentials import AccessToken
8-
from azure.identity import CredentialUnavailableError
8+
from azure.identity import CredentialUnavailableError, VSCodeCredential
99
from azure.core.pipeline.policies import SansIOHTTPPolicy
1010
from azure.identity._internal.user_agent import USER_AGENT
11+
from azure.identity._credentials.vscode_credential import get_credentials
12+
import pytest
13+
1114
from helpers import build_aad_response, mock_response, Request, validating_transport
1215

1316
try:
1417
from unittest import mock
1518
except ImportError: # python < 3.3
1619
import mock
17-
from azure.identity._credentials.vscode_credential import VSCodeCredential, get_credentials
1820

1921

2022
def test_no_scopes():

sdk/identity/azure-identity/tests/test_vscode_credential_async.py

+6-4
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,17 @@
22
# Copyright (c) Microsoft Corporation.
33
# Licensed under the MIT License.
44
# ------------------------------------
5-
import pytest
5+
from unittest import mock
6+
67
from azure.core.credentials import AccessToken
7-
from azure.identity._internal.user_agent import USER_AGENT
88
from azure.identity import CredentialUnavailableError
9+
from azure.identity.aio import VSCodeCredential
10+
from azure.identity._internal.user_agent import USER_AGENT
911
from azure.core.pipeline.policies import SansIOHTTPPolicy
12+
import pytest
13+
1014
from helpers import build_aad_response, mock_response, Request
1115
from helpers_async import async_validating_transport, AsyncMockTransport, wrap_in_future
12-
from unittest import mock
13-
from azure.identity.aio._credentials.vscode_credential import VSCodeCredential
1416

1517

1618
@pytest.mark.asyncio

0 commit comments

Comments
 (0)