Pass Logi c учетные данные приложения для пользовательского клиента SharePoint C# Функция приложения SharePoint - PullRequest
0 голосов
/ 24 марта 2020

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

Тогда мне понадобится использовать его для создания 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 Ответ

1 голос
/ 02 апреля 2020

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...