Хобрук: Ваш путь к мастерству в программировании

Доступ к веб-службам Sharepoint 2019 OnProm с помощью приложения NodeJS

В моей компании I / T только что установил новый Sharepoint 2019 OnPromise, который является гибридным, с использованием Azure AD для аутентификации.

Я являюсь администратором семейства сайтов на моем сайте Sharepoint. Допустим, URL-адрес Sharepoint - https://aymeric.sp.my-company.com.

Когда я получаю доступ к этому URL-адресу, я автоматически перенаправляюсь на https://login.microsoftonline.com/TENANT-ID/wsfed?wa=wsignin1.0&wtrealm=urn%3aSharepoint%3afederation&wctx=https%3a%2f%2faymeric.sp.my-company.com%2f_layouts%2f15%2fAuthenticate.aspx%3fSource%3d%252F&wreply=HTTPS%3a%2f%2faymeric.sp.my-company.com%2f_trust%2fdefault.aspx&sso_nonce=AQABAAAAAABeAFzDwllzTYGDLh_qYbH87qVvvwM4pLiqYXloFo6Il7_-ry9WsQiAA&клиент-request-id=8dacdcfb-c68f-4ec2-a3e7-7760cecf3699&mscrid=8dacdcfb-c86f-4ec2-a3e7-7760cecf3699 - Я автомат были идентифицированы и перенаправлены обратно в Sharepoint с правильным профилем.

Один из моих контактных лиц I / T предоставил мне следующую информацию:

Теперь я пытаюсь получить доступ к веб-службам Sharepoint (например, https://aymeric.sp.my-company.com/_vti_bin/UserProfileService.asmx) с использованием JavaScript и приложения Node (node index.js). Я использую эту технику с Sharepoint 2013 OnProm, и у меня нет проблем: я просто передаю свои учетные данные, используя https://github.com/s-KaiNet/node-sp-auth, и он просто работает.

Если я попытаюсь получить доступ к веб-службам SP 2019 в браузере, это тоже будет работать.

Но, используя приложение Node с этим гибридом Sharepoint на основе Azure AD, я не могу найти, как передать учетные данные… Что отправлять? Как пройти аутентификацию? Нужно ли мне использовать приложение Azure AD для подключения к моей Sharepoint OnProm? Если да, то как настроить? Должен ли я просто отправить заголовок «Authentication» с «Bearer» и токеном доступа: если да, как получить этот токен доступа?

Что бы я ни пробовал (а я пробовал дюжину и дюжину вещей), я всегда заканчиваю (в лучшем случае) ошибкой 403 "Доступ запрещен. У вас нет разрешения на выполнение этого действия или доступ к этому ресурсу. ".

Я пробовал различные аутентификации, я также пробовал adal-node с приложением Azure AD, созданным из https://portal.azure.com/, но это сбивает с толку. После двух дней поисков и попыток я чувствую, что мне нужна помощь.

Спасибо


Ответы:


1

Наконец, поскольку я не являюсь администратором фермы / сервера, моим последним вариантом было получить файл cookie FedAuth, который можно использовать во всех запросах для распознавания Sharepoint.

Я «просто» имитировал поведение браузера, создав скрипт NodeJs, который воспроизводит все необходимые шаги.

Чтобы наконец получить драгоценный cookie FedAuth, требуется 10 вызовов, включая перенаправление, отправку формы и аутентификацию Kerberos.

10.04.2020
Новые материалы

Создание кнопочного меню с использованием HTML, CSS и JavaScript
Вы будете создавать кнопочное меню, которое имеет состояние наведения, а также позволяет вам выбирать кнопку при нажатии на нее. Финальный проект можно увидеть в этом Codepen . Шаг 1..

Внедрите OAuth в свои веб-приложения для повышения безопасности
OAuth — это широко распространенный стандарт авторизации, который позволяет приложениям получать доступ к ресурсам от имени пользователя, не раскрывая его пароль. Это позволяет пользователям..

Классы в JavaScript
class является образцом java Script Object. Конструкция «class» позволяет определять классы на основе прототипов с чистым, красивым синтаксисом. // define class Human class Human {..

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

Как построить любой стол
Я разработчик программного обеспечения. Я люблю делать вещи и всегда любил. Для меня программирование всегда было способом создавать вещи, используя только компьютер и мое воображение...

Обзор: Машинное обучение: классификация
Только что закончил третий курс курса 4 часть специализации по машинному обучению . Как и второй курс, он был посвящен низкоуровневой работе алгоритмов машинного обучения. Что касается..

Разработка расширений Qlik Sense с qExt
Использование современных инструментов веб-разработки для разработки крутых расширений Вы когда-нибудь хотели кнопку для установки переменной в приложении Qlik Sense? Когда-нибудь просили..