授权令牌访问Cosmos DB文档

时间:2017-08-05 18:19:14

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

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

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

消息:

  

{&#34;错误&#34;:[&#34;授权令牌没有提供足够的权限来提供请求。&#34;]}

     

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 / 131448621059935679p:错误:。 ..

1 个答案:

答案 0 :(得分:0)

  

当我们尝试执行诸如cosmosDB中的 savedocument 之类的操作时,面临以下错误。授权令牌不会提供足够的权限来提供请求。

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

您可以This thread并使用List Permissions for a user来检索用户的权限。此外,您可以参考相关教程DocumentClient.ReadPermissionFeedAsyncPermissions in Azure DocumentDB

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