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

.NET Core后端调用Azure Notification Hub报401未授权错误求助

Azure Notification Hub 401 Unauthorized 问题排查与解决

针对你使用DefaultFullSharedAccessSignature连接Azure通知中心时出现的401未授权错误,可按以下步骤逐一排查:

1. 验证连接字符串完整性

确认你使用的连接字符串是Azure门户中DefaultFullSharedAccessSignature对应的完整字符串,格式应为:

Endpoint=sb://<你的命名空间>.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=<你的密钥>

需检查:

  • 无多余空格、拼写错误
  • Endpoint格式正确,包含完整的服务总线域名
  • 未遗漏分号分隔的任何字段

2. 核对通知中心名称与命名空间

确保NotificationHubOptions.Name是你在命名空间下创建的具体通知中心名称,而非命名空间本身的名称,两者不可混淆。

3. 检查权限配置

在Azure门户的通知中心→访问策略中,确认DefaultFullSharedAccessSignature已勾选Manage权限。因为CreateOrUpdateInstallationAsync、CreateRegistrationIdAsync这类操作需要Manage权限,仅Listen权限无法完成写入操作。

4. 确认配置加载正确性

在构造函数中添加日志输出(注意隐藏密钥部分),验证NotificationHubOptions.ConnectionString的值与Azure门户中的配置完全一致,排除配置文件读取错误或字符串截断问题:

public PushNotificationsHelper(TelemetryClient telemetryClient)
{
    _telemetryClient = telemetryClient;
    // 输出连接字符串前缀用于验证
    Console.WriteLine($"Loaded Connection String Prefix: {NotificationHubOptions.ConnectionString.Split(';')[0]}");
    _hub = NotificationHubClient.CreateClientFromConnectionString(NotificationHubOptions.ConnectionString, NotificationHubOptions.Name);
    
    // 其余代码...
}

5. 排查网络环境限制

若后端部署在企业内网,需确认防火墙或代理未阻止对Azure Service Bus端点(sb://<命名空间>.servicebus.windows.net/)的访问。可尝试在无代理的本地环境运行代码,验证是否为网络问题导致。

6. 检查SDK版本

确保使用的Microsoft.Azure.NotificationHubs NuGet包为最新稳定版本,旧版本可能存在签名算法或API兼容性问题,引发授权失败。

7. 捕获详细错误信息

修改代码中的异常捕获逻辑,获取更具体的错误详情,帮助定位问题:

try
{
    await _hub.CreateOrUpdateInstallationAsync(installation, token);
}
catch (Exception ex)
{
    _telemetryClient.TrackException(ex);
    // 输出完整错误链
    Console.WriteLine($"Error: {ex.Message}");
    if (ex.InnerException != null)
    {
        Console.WriteLine($"Inner Error: {ex.InnerException.Message}");
    }
    return false;
}

内容的提问来源于stack exchange,提问作者user16716435

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 16:22:14