共用方式為


針對開發環境驗證進行疑難解答

本文提供指引,說明透過各種 TokenCredential 實作,在開發人員計算機上本機執行之適用於 Java 應用程式的 Azure SDK 驗證時遇到的問題。 如需詳細資訊,請參閱 Java 開發環境中的 Azure 驗證。

針對 AzureCliCredential 進行疑難解答

當您使用 AzureCliCredential時,可以選擇性地嘗試/攔截 CredentialUnavailableException。 下表顯示此例外狀況所指出的錯誤,以及風險降低的方法:

錯誤訊息 描述 風險降低
Azure CLI not installed Azure CLI 未安裝或找不到。 - 請確定您已正確安裝 Azure CLI
- 驗證安裝位置是否已新增至 PATH 環境變數。
Please run 'az login' to set up account 目前沒有帳戶登入 Azure CLI,或登入已過期。 - 使用 az login 命令登入 Azure CLI。 如需詳細資訊,請參閱使用 Azure CLI 登入
- 驗證 Azure CLI 是否可以取得令牌。 如需詳細資訊,請參閱 下一節

確認 Azure CLI 可以取得令牌

您可以手動確認您已正確驗證 Azure CLI,並可取得令牌。 首先,使用下列命令來確認帳戶目前已登入 Azure CLI:

az account show

驗證 Azure CLI 使用正確的帳戶之後,請使用下列命令來驗證它是否能夠取得此帳戶的令牌:

az account get-access-token \
    --output json \
    --resource https://management.core.windows.net

警告

此命令的輸出包含有效的存取令牌。 為了避免危害帳戶安全性,請勿共用此存取令牌。

針對 AzureDeveloperCliCredential 進行疑難解答

當您使用 AzureDeveloperCliCredential時,可以選擇性地嘗試/攔截 CredentialUnavailableException。 下表顯示此例外狀況所指出的錯誤,以及風險降低的方法:

錯誤訊息 描述 風險降低
Azure Developer CLI not installed 未安裝或找不到 Azure 開發人員 CLI。 - 請確定您已正確安裝 Azure 開發人員 CLI
- 驗證安裝位置是否已新增至 PATH 環境變數。
Please run 'azd auth login' to set up account 目前沒有帳戶登入 Azure 開發人員 CLI,或登入已過期。 - 使用 azd auth login 命令登入 Azure 開發人員 CLI。
- 驗證 Azure 開發人員 CLI 是否可以取得令牌。 如需詳細資訊,請參閱 下一節

確認 Azure 開發人員 CLI 可以取得令牌

您可以手動確認您已正確驗證 Azure 開發人員 CLI,並可取得令牌。 首先,使用下列命令來確認帳戶目前已登入 Azure 開發人員 CLI:

azd config list

驗證 Azure 開發人員 CLI 使用正確的帳戶之後,您可以使用下列命令來驗證它是否能夠取得此帳戶的令牌:

azd auth token --output json --scope https://management.core.windows.net/.default

警告

此命令的輸出包含有效的存取令牌。 為了避免危害帳戶安全性,請勿共用此存取令牌。

針對 AzurePowerShellCredential 進行疑難解答

當您使用 AzurePowerShellCredential時,可以選擇性地嘗試/攔截 CredentialUnavailableException。 下表顯示此例外狀況所指出的錯誤,以及風險降低的方法:

錯誤訊息 描述 風險降低
PowerShell isn't installed. 找不到 PowerShell 的本機安裝。 請確定您已在機器上正確安裝 PowerShell
Az.Account module >= 2.2.0 isn't installed. Az.Account未安裝 Azure PowerShell 中驗證所需的模組。 安裝最新的 Az.Account 模組。 如需詳細資訊,請參閱安裝 Azure PowerShell (部分機器翻譯)。
Please run 'Connect-AzAccount' to set up account. 目前沒有帳戶登入 Azure PowerShell。 - 使用 Connect-AzAccount 命令登入 Azure PowerShell。 如需詳細資訊,請參閱使用 Azure PowerShell 登入
- 驗證 Azure PowerShell 是否可以取得令牌。 如需詳細資訊,請參閱 下一節

確認 Azure PowerShell 可以取得令牌

您可以手動確認您已正確驗證 Azure PowerShell,並可取得令牌。 首先,使用下列命令來確認帳戶目前已登入 Azure CLI:

Get-AzContext

此命令所產生的輸出與下列範例類似:

Name                                     Account             SubscriptionName    Environment         TenantId
----                                     -------             ----------------    -----------         --------
Subscription1 (xxxxxxxx-xxxx-xxxx-xxx... test@outlook.com    Subscription1       AzureCloud          xxxxxxxx-x...

驗證 Azure PowerShell 使用正確的帳戶之後,您可以使用下列命令來驗證它是否能夠取得此帳戶的令牌。

Get-AzAccessToken -ResourceUrl "https://management.core.windows.net"

警告

此命令的輸出包含有效的存取令牌。 為了避免危害帳戶安全性,請勿共用此存取令牌。

針對 VisualStudioCodeCredential 進行疑難解答

注意

這是一個已知問題VisualStudioCodeCredential不適用於0.9.11更新的 Azure 帳戶擴充功能版本。 此問題的長期修正正在進行中。 同時,請考慮 透過 Azure CLI 進行驗證。

當您使用 VisualStudioCodeCredential時,可以選擇性地嘗試/攔截 CredentialUnavailableException。 下表顯示此例外狀況所指出的錯誤,以及風險降低的方法:

錯誤訊息 描述 風險降低
Failed To Read VS Code Credentials</p></p>OR</p>Authenticate via Azure Tools plugin in VS Code VS Code 設定中找不到任何 Azure 帳戶資訊。 - 請確定您已正確安裝 Azure 帳戶外掛程式
- 使用 [檢視 > 命令選擇區 ] 來執行 Azure:登入 命令。 此命令會開啟瀏覽器視窗,並顯示可讓您登入 Azure 的頁面。
- 如果您已安裝 Azure 帳戶擴充功能並已登入您的帳戶,請嘗試註銷並再次登入。 此動作會重新填入快取,並可能減輕您收到的錯誤。
MSAL Interaction Required Exception VisualStudioCodeCredential 能夠從快取讀取快取認證,但快取的令牌可能已過期。 透過 檢視 > 命令選擇區 登入 Azure 帳戶擴充功能,以在 VS Code IDE 中執行 Azure:登入 命令。
ADFS tenant not supported Visual Studio Azure 服務驗證目前不支援 ADFS 租使用者。 使用 Visual Studio 進行驗證時,使用支援的雲端認證。 如需支援雲端的詳細資訊,請參閱 國家雲端

下一步

如果本文中的疑難解答指引無法協助您在使用適用於 Java 的 Azure SDK 用戶端連結庫時解決問題,建議您適用於 Java 的 Azure SDK GitHub 存放庫中提出問題。