【Azure Developer】使用Azure Developer CLI (azd)部署项目时候遇见无法登录中国区Azure的报错

简介: 使用Azure Developer CLI(azd)部署Aspire应用至Azure中国时,因1.20.0版本存在认证端点解析问题,导致登录失败。错误提示为OIDC发现URL不匹配。通过回滚至1.19.0版本并重新登录,可成功解决该问题。

问题描述

使用 Azure Developer CLI (azd) 部署Aspire应用到Azure China中,  在2025年10月10号运行却报错无法登录,报错##[error]Bash exited with code '1'. 而在之前均能正常登录的。

详细错误信息:

 

2025-10-09T22:07:47.5065424Z ##[section]Starting: login to azd auth

2025-10-09T22:07:47.5071300Z ==============================================================================

2025-10-09T22:07:47.5071433Z Task : Command line

2025-10-09T22:07:47.5071518Z Description : Run a command line script using Bash on Linux and macOS and cmd.exe on Windows

2025-10-09T22:07:47.5071637Z Version : 2.250.1

2025-10-09T22:07:47.5071704Z Author : Microsoft Corporation

2025-10-09T22:07:47.5071802Z Help : https://docs.microsoft.com/azure/devops/pipelines/tasks/utility/command-line

2025-10-09T22:07:47.5071913Z ==============================================================================

2025-10-09T22:07:47.6636821Z Generating script.

2025-10-09T22:07:47.6637165Z ========================== Starting Command Output ===========================

2025-10-09T22:07:47.6638152Z [command]/usr/bin/bash --noprofile --norc /home/vsts/work/_temp/xxx-x-x-xxxx.sh

2025-10-09T22:07:49.0741040Z

2025-10-09T22:07:49.0742412Z ERROR: ClientSecretCredential: unable to resolve an endpoint: ResolveEndpoints(): TenantDiscoveryResponse: issuer from OIDC discovery

'https://login.partner.microsoftonline.cn/<tenant id>/v2.0' does not match authority 'https://login.chinacloudapi.cn/<tenant id>/' or a known pattern

2025-10-09T22:07:49.0766912Z

2025-10-09T22:07:49.0831041Z ##[error]Bash exited with code '1'.

2025-10-09T22:07:49.0874244Z ##[section]Finishing: login to azd auth

 

如何来解决这个问题呢?

 

问题解答

在对比之前执行成功的脚本内容,脚本并没有变化,排除脚本的错误。而后查看azd 的release notes,发现刚好最新发布的新版本为1.20.0


执行脚本:


- task: Bash@3
    displayName: Install azd
    inputs:
      targetType: 'inline'
      script: |
        curl -fsSL https://aka.ms/install-azd.sh | bash  

  - script: |
       azd version
       azd config set cloud.name AzureChinaCloud
       azd auth login --client-id $(AZURE_CLIENT_ID) --client-secret $(AZURE_CLIENT_SECRET) --tenant-id $(AZURE_TENANT_ID)
    displayName: 'login to azd auth'
    


azd 的 Release Notes:

Reference Link : https://github.com/Azure/azure-dev/releases/tag/azure-dev-cli_1.20.0

鉴于怀疑是 azd 版本升级导致,所以解决的思路就是 回滚到1.20.0 的前一个版本 1.19.0  。

 

在Linux系统中,安装azd的特定版本可以通过如下脚本:

curl -fsSL https://aka.ms/install-azd.sh | bash -s -- --version 1.19.0

 

然后,执行azd auth login命令,成功。问题得到解决!

 

所以,当遇见最新版本的azd无法登录时候,最快的办法就是通过回滚来解决!

 

参考资料

Install or update the Azure Developer CLI : https://learn.microsoft.com/en-us/azure/developer/azure-developer-cli/install-azd?tabs=winget-windows%2Cbrew-mac%2Cscript-linux&pivots=os-linux

 

 


 

当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!

相关文章
|
7月前
|
开发框架 Java .NET
【App Service】Java应用上传文件功能部署在App Service Windows上报错 413 Payload Too Large
Java应用在Azure App Service(Windows)部署时,因IIS默认限制上传文件不超过30MB,导致大文件上传出现413错误。虽无web.config文件,可通过Kudu工具手动创建并配置maxAllowedContentLength和maxRequestLength,突破限制,实现大文件上传。
391 3
|
8月前
|
缓存 NoSQL 关系型数据库
MySQL 与 Redis 如何保证双写一致性?
我是小假 期待与你的下一次相遇 ~
885 7
|
8月前
|
存储 消息中间件 Kafka
Confluent 首席架构师万字剖析 Apache Fluss(一):核心概念
Apache Fluss是由阿里巴巴与Ververica合作开发的Flink表存储引擎,旨在提供低延迟、高效率的实时数据存储与变更日志支持。其采用TabletServer与CoordinatorServer架构,结合RocksDB和列式存储,实现主键表与日志表的统一管理,并通过客户端抽象整合湖仓历史数据,弥补Paimon在实时场景下的性能短板。
1097 23
Confluent 首席架构师万字剖析 Apache Fluss(一):核心概念
|
2月前
|
网络协议 虚拟化 Docker
【Azure Developer】.NET Aspire 启动报错:listen tcp bind: An attempt was made to access a socket in a way forbidden by its access permissions
.NET Aspire在Windows启动时因Hyper-V端口保留机制,导致DCP代理无法绑定53209等端口(报错“访问被拒绝”)。虽端口未被占用,但已被系统保留。推荐方案:修改launchSettings.json,将服务端口改为7xxx等安全范围;或临时重启winnat服务、永久排除指定端口。
463 21
|
8月前
|
存储 SQL 消息中间件
从 ClickHouse 到 StarRocks 存算分离: 携程 UBT 架构升级实践
查询性能实现从秒级到毫秒级的跨越式提升
|
9月前
|
Java API 开发工具
【Azure Developer】Java代码实现获取Azure 资源的指标数据却报错 "invalid time interval input"
在使用 Java 调用虚拟机 API 获取指标数据时,因本地时区设置非 UTC,导致时间格式解析错误。解决方法是在代码中手动指定时区为 UTC,使用 `ZoneOffset.ofHours(0)` 并结合 `withOffsetSameInstant` 方法进行时区转换,从而避免因时区差异引发的时间格式问题。
414 4
|
10月前
|
API C++
【Azure 环境】VS Code登录China Azure(Function)报错 An error occurred while signing in: invalid_request - AADSTS65002
An error occurred while signing in: invalid_request - AADSTS65002: Consent between first party application 'c27c220f-ce2f-4904-927d-333864217eeb' and first party resource '797f4846-ba00-4fd7-ba43-dac1f8f63013' must be configured via preauthorization - applications owned and operated by Microsoft mus
495 13
|
8月前
|
JavaScript Java 关系型数据库
基于springboot的高校运动会系统
本系统基于Spring Boot、Vue与MySQL,实现高校运动会报名、赛程安排及成绩管理的全流程信息化,提升组织效率,杜绝信息错漏与冒名顶替,推动体育赛事智能化发展。