Skip to content

Commit

Permalink
Add AzureCliCredential and VSCodeCredential to public API (#11790)
Browse files Browse the repository at this point in the history
  • Loading branch information
chlowell authored Jun 3, 2020
1 parent ad179ad commit 0e07b20
Show file tree
Hide file tree
Showing 9 changed files with 30 additions and 10 deletions.
3 changes: 3 additions & 0 deletions sdk/identity/azure-identity/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,9 @@
# Release History

## 1.4.0b4 (Unreleased)
- `AzureCliCredential` and `VSCodeCredential`, which enable authenticating as
the identity signed in to the Azure CLI and Visual Studio Code, respectively,
can be imported from `azure.identity` and `azure.identity.aio`.
- `azure.identity.aio.AuthorizationCodeCredential.get_token()` no longer accepts
optional keyword arguments `executor` or `loop`. Prior versions of the method
didn't use these correctly, provoking exceptions, and internal changes in this
Expand Down
4 changes: 4 additions & 0 deletions sdk/identity/azure-identity/azure/identity/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
from ._exceptions import AuthenticationRequiredError, CredentialUnavailableError
from ._constants import KnownAuthorities
from ._credentials import (
AzureCliCredential,
AuthorizationCodeCredential,
CertificateCredential,
ChainedTokenCredential,
Expand All @@ -19,11 +20,13 @@
ManagedIdentityCredential,
SharedTokenCacheCredential,
UsernamePasswordCredential,
VSCodeCredential,
)


__all__ = [
"AuthenticationRecord",
"AzureCliCredential",
"AuthenticationRequiredError",
"AuthorizationCodeCredential",
"CertificateCredential",
Expand All @@ -38,6 +41,7 @@
"ManagedIdentityCredential",
"SharedTokenCacheCredential",
"UsernamePasswordCredential",
"VSCodeCredential",
]

from ._version import VERSION
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,12 @@
from .azure_cli import AzureCliCredential
from .device_code import DeviceCodeCredential
from .user_password import UsernamePasswordCredential
from .vscode_credential import VSCodeCredential


__all__ = [
"AuthorizationCodeCredential",
"AzureCliCredential",
"CertificateCredential",
"ChainedTokenCredential",
"ClientSecretCredential",
Expand All @@ -29,4 +31,5 @@
"SharedTokenCacheCredential",
"AzureCliCredential",
"UsernamePasswordCredential",
"VSCodeCredential",
]
4 changes: 4 additions & 0 deletions sdk/identity/azure-identity/azure/identity/aio/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,23 +6,27 @@

from ._credentials import (
AuthorizationCodeCredential,
AzureCliCredential,
CertificateCredential,
ChainedTokenCredential,
ClientSecretCredential,
DefaultAzureCredential,
EnvironmentCredential,
ManagedIdentityCredential,
SharedTokenCacheCredential,
VSCodeCredential,
)


__all__ = [
"AuthorizationCodeCredential",
"AzureCliCredential",
"CertificateCredential",
"ClientSecretCredential",
"DefaultAzureCredential",
"EnvironmentCredential",
"ManagedIdentityCredential",
"ChainedTokenCredential",
"SharedTokenCacheCredential",
"VSCodeCredential",
]
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@
from .client_secret import ClientSecretCredential
from .shared_cache import SharedTokenCacheCredential
from .azure_cli import AzureCliCredential
from .vscode_credential import VSCodeCredential


__all__ = [
Expand All @@ -23,4 +24,5 @@
"EnvironmentCredential",
"ManagedIdentityCredential",
"SharedTokenCacheCredential",
"VSCodeCredential",
]
4 changes: 2 additions & 2 deletions sdk/identity/azure-identity/tests/test_cli_credential.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
from datetime import datetime
import json

from azure.identity import CredentialUnavailableError
from azure.identity._credentials.azure_cli import AzureCliCredential, CLI_NOT_FOUND
from azure.identity import AzureCliCredential, CredentialUnavailableError
from azure.identity._credentials.azure_cli import CLI_NOT_FOUND
from azure.core.exceptions import ClientAuthenticationError

import subprocess
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
from unittest import mock

from azure.identity import CredentialUnavailableError
from azure.identity.aio._credentials.azure_cli import AzureCliCredential
from azure.identity.aio import AzureCliCredential
from azure.identity._credentials.azure_cli import CLI_NOT_FOUND
from azure.core.exceptions import ClientAuthenticationError
import pytest
Expand Down
8 changes: 5 additions & 3 deletions sdk/identity/azure-identity/tests/test_vscode_credential.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,20 @@
# Licensed under the MIT License.
# ------------------------------------
import sys
import pytest

from azure.core.credentials import AccessToken
from azure.identity import CredentialUnavailableError
from azure.identity import CredentialUnavailableError, VSCodeCredential
from azure.core.pipeline.policies import SansIOHTTPPolicy
from azure.identity._internal.user_agent import USER_AGENT
from azure.identity._credentials.vscode_credential import get_credentials
import pytest

from helpers import build_aad_response, mock_response, Request, validating_transport

try:
from unittest import mock
except ImportError: # python < 3.3
import mock
from azure.identity._credentials.vscode_credential import VSCodeCredential, get_credentials


def test_no_scopes():
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,17 @@
# Copyright (c) Microsoft Corporation.
# Licensed under the MIT License.
# ------------------------------------
import pytest
from unittest import mock

from azure.core.credentials import AccessToken
from azure.identity._internal.user_agent import USER_AGENT
from azure.identity import CredentialUnavailableError
from azure.identity.aio import VSCodeCredential
from azure.identity._internal.user_agent import USER_AGENT
from azure.core.pipeline.policies import SansIOHTTPPolicy
import pytest

from helpers import build_aad_response, mock_response, Request
from helpers_async import async_validating_transport, AsyncMockTransport, wrap_in_future
from unittest import mock
from azure.identity.aio._credentials.vscode_credential import VSCodeCredential


@pytest.mark.asyncio
Expand Down

0 comments on commit 0e07b20

Please sign in to comment.