Skip to content

Add AzureCliCredential and VSCodeCredential to public API #11790

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 3, 2020
Merged
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
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