【问题标题】:Authorization Token accessing Cosmos DB document访问 Cosmos DB 文档的授权令牌
【发布时间】:2018-01-13 11:19:57
【问题描述】:

我正在尝试使用带有 MSAL 的 Azure AD B2C 使用用户名和密码登录。登录后,我们使用返回资源令牌的 Web API 对访问令牌进行身份验证,获取它后,我们使用资源令牌连接 DocumentClient,如下所述,但是当我们尝试在 Cosmos DB 中执行 savedocument 之类的操作时,遇到以下错误

var Client = new DocumentClient(new System.Uri(App.accURL), resourceToken);

消息:

{“错误”:[“授权令牌没有提供足够的权限来处理请求。”]}

ActivityId:3360415e-b937-4061-b74d-485d44550df2,

请求 URI:/apps/7dc938ac-8c47-4af3-9760-5e80284624b0/services/4344f786-4b9a-4293-ab0a-d27a5ccae76a/partitions/26b66fff-1ad2-47dc-90c8-cc9ee7b0d23b/replicas/9356798 210598 错误..

【问题讨论】:

    标签: azure xamarin.forms azure-active-directory azure-cosmosdb azure-ad-b2c


    【解决方案1】:

    当我们尝试执行 savedocument in cosmosDB 之类的操作时,遇到以下错误。授权令牌没有提供足够的权限来处理请求。

    AFAIK,我们只能将一个权限关联到用户的特定资源。而且只有两种权限模式:All(读取、写入、删除权限)或读取。如果您为您的用户指定的配置正确,我建议您检查permissionModeResourceLinkResourceTokenExpirySeconds

    您可以List Permissions for a user 并使用DocumentClient.ReadPermissionFeedAsync 检索用户的权限。另外,您可以参考相关教程Permissions in Azure DocumentDBCosmos DB > Permissions

    如果您仍然无法找到此问题,请使用相关代码更新您的问题以授予您的用户权限,并在使用resourceToken 令牌访问资源时利用fiddler 收集网络跟踪。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      相关资源
      最近更新 更多