Токен авторизации для доступа к документу Cosmos DB

Я пытаюсь войти с именем пользователя и паролем, используя Azure AD B2C с MSAL. После входа в систему мы аутентифицируем токен доступа с помощью веб-API, который возвращает токен ресурса, и после его получения мы подключаемся к DocumentClient, используя токен ресурса, как указано ниже, но когда мы пытаемся выполнить действие, подобное сохраненному документу в Cosmos DB, возникает следующая ошибка

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

Сообщение:

{Ошибки: [Токен авторизации не предоставляет достаточных разрешений для обслуживания запроса.]}

ID активности: 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/1310579p6:310579p6:310579s


person SONOFGOD    schedule 05.08.2017    source источник


Ответы (1)


когда мы пытаемся выполнить такое действие, как сохранить документ в CosmosDB, возникает следующая ошибка. Токен авторизации не предоставляет достаточных разрешений для обслуживания запроса.

Насколько я знаю, мы можем связать только одно разрешение с конкретным ресурсом для пользователя. И есть только два режима разрешений: Все (разрешения на чтение, запись, удаление) или Чтение. Я бы порекомендовал вам проверить permissionMode, ResourceLink, ResourceTokenExpirySeconds, если вы указали, что ваш пользователь правильно настроил.

Вы можете список разрешений для пользователя и использовать < href="https://msdn.microsoft.com/en-us/library/microsoft.azure.documents.client.documentclient.readpermissionfeedasync.aspx" rel="nofollow noreferrer">DocumentClient.ReadPermissionFeedAsync для получения разрешения для пользователя. Кроме того, вы можете обратиться к соответствующим руководствам Разрешения в Azure DocumentDB и Cosmos DB > Разрешения.

Если вы по-прежнему не можете найти эту проблему, обновите свой вопрос, указав соответствующий код для предоставления разрешения вашему пользователю и использования fiddler. для сбора трассировки сети при использовании токена resourceToken для доступа к ресурсам.

person Bruce Chen    schedule 07.08.2017