Аутентификация из ASP.NET WebApi с использованием приложения + пользовательский контекст для Sharepoint

Сценарий:
1. Spfx Webpart (на коллекции сайтов Sharepoint) вызывает WEBApi, защищенный Azure AD.
а. Получить токен доступа (неявный) из корпоративного приложения (регистрация приложения в Azure AD), представляющего веб-интерфейс
б. Прикрепите маркер доступа в качестве заголовка в запросе на выборку к методу UpdateList Web Api (обновляет список в семействе сайтов Sharepoint)
2. WEBApi выполняет вызовы CSOM REST, используя только контекст приложения, сгенерированный с использованием идентификатора клиента и секретного кода надстройки Sharepoint (созданного с помощью AppRegNew.aspx на уровне SiteCollection).
а. Надстройка Sharepoint имеет разрешения уровня SiteCollection, предоставленные администратором.
б. WebApi добавляет элемент в список в той же SiteCollection, что и надстройка, с помощью CSOM.
с. Свойства списка "Создано" и "Изменено" отражают приложение, которое выполнило обновление, поскольку оно использует только приложение ClientContext

Спросите: способ реализации приложения + Авторизация пользователя. Конечный результат должен состоять в том, что поля "Создано" и "Изменено" должны содержать имена пользователей, а не имена приложений

1 ответ

Вы используете App-Only, что означает, что Created By и Modified By всегда будут именем надстройки. Вы должны будете использовать разрешения App+User, чтобы установить для созданного и измененного реального пользователя вместо имени надстройки.

Снимите флажок Только для приложений в манифесте приложения.

Другие вопросы по тегам