Пользовательский API-интерфейс, динамически аутентифицируемый для разных клиентов SharePoint - PullRequest
0 голосов
/ 01 мая 2018

У меня есть собственный .NET API и я настроил мультитенантную аутентификацию для Azure AD, которая работает хорошо. Все клиенты из разных подписок Office 365 будут вызывать один и тот же API, и API получит доступ к Office 365 от имени вызывающего пользователя. Пока все хорошо.

Мы позвонили в Microsoft Graph от имени пользователя без каких-либо проблем. Теперь нам также нужно вызвать SharePoint от имени пользователя и наткнуться на проблему, заключающуюся в том, что местоположение должно быть предварительно настроено в нашей службе приложений, как показано ниже:

location of configuration of additionalLoginParams

Мы можем решить эту проблему, настроив всех клиентов SharePoint в этой конфигурации, но, поскольку они могут часто меняться и без предупреждения, мы хотим найти решение, в котором это можно установить динамически.

(я знаю, что могу обновить конфигурацию Azure с помощью API Azure, но я ищу решение, которое будет эффективно аутентифицироваться для «любого» арендатора)

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

1 Ответ

0 голосов
/ 02 мая 2018

Согласно вашему описанию вы используете встроенную аутентификацию / авторизацию службы приложений (Easy Auth). AFAIK, вы также можете явно указать дополнительные параметры входа в систему следующим образом:

https://<your-webapp-name>.azurewebsites.net/.auth/login/aad?resource=https://graph.microsoft.com&response_type=code id_token

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

Более того, если вы хотите одновременно вызывать ресурсы Microsoft Graph и SharePoint от имени зарегистрированного пользователя, вам может понадобиться использовать от имени потока в вашем коде для получения токенов для доступа другой API. Поскольку вы используете встроенную аутентификацию, вы можете сосредоточиться на процессе получения токена из другого ресурса (например, Microsoft Graph или SharePoint) в вашем проекте .NET Web API. Подробное руководство по коду, вы можете выполнить Вызов нижестоящего веб-API из веб-API с помощью Azure AD .

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