Передача учетных данных приложения логики в настраиваемое приложение клиента SharePoint с функцией C # SharePoint

Я создал приложения логики в Azure, которые используют мои учетные данные для подключения к нашим сайтам SharePoint Online, а затем работают без меня. Я хочу выполнять более сложные операции на сайтах SharePoint и предпочел бы создать приложение-функцию C #. Однако я не вижу способа передать свои учетные данные Microsoft.SharePoint.Client без моего присутствия для аутентификации. Я исследовал использование сертификата, но для этого требуется одобрение администратора, которое я не могу получить. Могу ли я использовать существующее подключение к приложению логики SharePoint, которое содержит мои учетные данные, и передать их в пользовательское приложение-функцию? Вот краткое изображение того, как выглядит соединение в приложении Logic. Вместо использования встроенного действия Azure я хочу заменить его своим настраиваемым приложением-функцией, передающим это соединение приложению-функции. Пример подключения к SharePoint

Затем мне нужно было бы использовать это, чтобы каким-то образом создать ClientContext:

                var ctx = new ClientContext(siteUrl);
                ctx.ExecutingWebRequest += (s, e) =>
                {
                    e.WebRequestExecutor.RequestHeaders["Authorization"] = "Bearer " + authenticationResult.AccessToken;
                };
                return ctx;

Что затем можно было бы использовать против сайта SharePoint:

                using (ClientContext ctx = await csomHelper.GetClientContext(siteUrl))
                {
                    Web web = ctx.Web;
                    ctx.Load(web);
                    ctx.ExecuteQuery();
                    log.LogInformation($"found site : {web.Title}");
                }



Ответы (1)


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

Во-первых, вам потребуется регистрация приложения Azure AD с помощью соответствующие разрешения для sharepoint.

Затем при создании настраиваемого соединителя конфигурация безопасности должна быть Generic OAuth 2.0 с соответствующими сведениями о созданной вами ранее Azure AD.

И затем вы можете использовать настраиваемый соединитель в своем приложении логики, который будет запускать поток OAuth, аналогичный другим соединителям.

Есть официальный документ для создания настраиваемого соединителя для функции Azure, защищенной Azure AD, которая очень похожа и на которую вы можете ссылаться.

person PramodValavala-MSFT    schedule 02.04.2020
comment
Чем больше я исследовал и думал об этом, тем больше я думаю, что вы правы, и это невозможно. - person pretzelb; 11.04.2020