授权令牌访问宇宙数据库文档
我想用MSIL使用Azure AD B2C登录用户名和密码。登录后,我们使用返回资源令牌的Web API对访问令牌进行身份验证,如下所述,我们使用资源令牌连接DocumentClient,但是当我们尝试在Cosmos DB中执行类似savedocument的操作时,面临以下错误授权令牌访问宇宙数据库文档
var Client = new DocumentClient(new System.Uri(App.accURL), resourceToken);
消息:
{"Errors": ["Authorization Token doesn't present sufficient permissions to serve the request."]}
ActivityId: 3360415e-b937-4061-b74d-485d44550df2,
Request URI: /apps/7dc938ac-8c47-4af3-9760-5e80284624b0/services/4344f786-4b9a-4293-ab0a-d27a5ccae76a/partitions/26b66fff-1ad2-47dc-90c8-cc9ee7b0d23b/replicas/131448621059935679p: Error: ...
when we try to perform the action like savedocument in cosmosDB, facing following error. Authorization Token doesn't present sufficient permissions to serve the request.
据我所知,我们只能一个权限给用户的特定资源相关联。并且只有两种权限模式:全部(读取,写入,删除权限)或阅读。如果您为用户指定了正确配置,我会建议您检查permissionMode
,ResourceLink
,ResourceTokenExpirySeconds
。
您可以List Permissions for a user并使用DocumentClient.ReadPermissionFeedAsync来检索用户的权限。另外,您可以参考相关教程Permissions in Azure DocumentDB和Cosmos DB > Permissions。
如果您仍然无法找到此问题,请使用相关代码更新您的问题,以授予您的用户权限,并利用fiddler收集使用resourceToken
令牌访问资源时的网络跟踪。