You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用.NET Core调用Azure.ResourceManager.Cdn SDK清理CDN内容时遭遇客户端密钥无效的认证错误

使用.NET Core调用Azure.ResourceManager.Cdn SDK清理CDN内容时遭遇客户端密钥无效的认证错误

嘿,我之前也踩过这个认证错误的坑,咱们一步步来排查解决:

首先先确认几个最容易出错的基础点:

  • 先检查你用的客户端密钥(服务主体的密码)是不是真的正确!有时候复制粘贴时会不小心带了多余空格或者漏了字符,建议直接在Azure门户里重新生成一个新密钥,生成后立刻复制到代码里,别手动输入避免出错。
  • 确认你的服务主体有没有被赋予正确权限:要执行CDN内容清理操作,至少需要CDN Endpoint Contributor权限,要是只给了只读权限,肯定会在认证或操作环节出问题。
  • 核对代码里的租户ID、客户端ID、密钥是不是对应同一个Azure AD应用,有时候会搞混测试/生产环境的应用信息,比如把测试环境的密钥用到生产环境上,自然会认证失败。

然后看你的认证代码(虽然你贴的代码没写完,但大概率是用ClientSecretCredential或DefaultAzureCredential做认证),如果是用ClientSecretCredential,一定要确保参数顺序没搞错:租户ID、客户端ID、客户端密钥这三个参数位置不能弄混,正确的初始化示例应该是这样的:

var credential = new ClientSecretCredential(
    tenantId: "你的租户ID",
    clientId: "你的客户端ID",
    clientSecret: "你的客户端密钥"
);
var cdnManager = new CdnManagementClient(credential);

要是你用的是DefaultAzureCredential,要注意它会按顺序尝试多种认证方式(环境变量、Azure CLI、Visual Studio等),这时候要确保你设置的环境变量(AZURE_TENANT_ID、AZURE_CLIENT_ID、AZURE_CLIENT_SECRET)没有拼写错误,值也完全对应正确的应用信息。

还有一种常见情况:如果你的客户端密钥已经过期,Azure AD会直接返回「无效密钥」的错误,去Azure门户里看看服务主体密钥的过期时间,过期了就重新生成一个新的密钥替换掉。

最后可以写个极简测试代码,只做认证不调用CDN接口,看看是不是认证环节本身就有问题,这样能快速排除是不是CDN SDK的问题,缩小排查范围。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 13:15:28