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

Azure开发者门户委托登录接口未授权:已有委托令牌如何调整授权

解决APIM开发者门户委托登录接口未授权问题

针对你调用users/{userId}/token接口返回未授权的问题,结合你已获取委托令牌的情况,可从以下几方面调整授权配置:

1. 切换为委托令牌(Bearer)授权

你当前使用的是Shared Access Signature(SAS)令牌,既然已有委托令牌,直接替换授权方式:

  • 修改请求头的Authorization字段,将原有SAS替换为Bearer格式的委托令牌:
    // 替换原有的client.DefaultRequestHeaders.Add("Authorization", ApimRestAuthHeader());
    client.DefaultRequestHeaders.Add("Authorization", "Bearer " + 你的委托令牌变量);
    
  • 确保委托令牌的受众(Audience)为https://management.azure.com/,且包含Microsoft.ApiManagement/service/users/write的权限范围。

2. 验证SAS令牌的有效性(若继续使用SAS)

如果仍要使用SAS,需检查以下几点:

  • 生成SAS的APIM管理用户(ApimRestId对应的用户)必须拥有User Write权限,确保能操作用户令牌。
  • 确认ApimRestExpiry是当前时间之后的UTC时间,避免令牌过期;签名生成逻辑中dataToSign的格式必须是{uid}\n{expiry},且时间格式为O标准格式。

3. 核对用户标识符准确性

User.Identity.GetName()返回的值必须是APIM中已存在用户的邮箱地址或系统生成的用户ID,否则接口会因找不到用户返回未授权。若用户未在APIM中创建,需先调用POST /users接口创建用户。

4. 确认请求参数合规性

  • 请求体的keyType只能是primary或secondary,expiry必须为ISO 8601格式的UTC时间(如2024-12-31T23:59:59Z)。
  • 确保API版本2023-03-01-preview与APIM实例支持的版本匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:58:35