Подключение к Azure Active Directory из веб-приложения PHP

В поисках руководства по этому вопросу, поскольку я действительно застрял в этом, у меня есть внутренний URL-адрес для приложения, созданного на PHP, и я хочу подключиться к Azure Active Directory.

До сих пор я просмотрел пример от Microsoft с использованием SimpleSAML, но он действительно устарел, и у меня проблемы с адаптацией его для нового кода SimpleSAMl.

Есть ли лучший способ интегрировать веб-приложение с Azure AD? Я где-то читал, что могу использовать Начало работы с Мобильные службы, но я хотел бы услышать из предыдущего опыта о том, каков наилучший / текущий метод использования Azure AD для входа в систему на PHP ?.

-- РЕДАКТИРОВАТЬ --

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


person Vladimir Hidalgo    schedule 03.11.2015    source источник
comment
Вы когда-нибудь придумывали решение этой проблемы?   -  person meder omuraliev    schedule 03.11.2017
comment
Привет, да, тебе все еще интересно, как?   -  person Vladimir Hidalgo    schedule 28.01.2018
comment
Да, было бы здорово, если бы вы могли обобщить свое решение, чтобы поделиться им.   -  person meder omuraliev    schedule 15.05.2018


Ответы (2)


Существует несколько сценариев, поддерживаемых Azure AD, в зависимости от того, для чего вы используете Azure AD. В основном, чтобы получить доступ к ресурсам через Azure AD из веб-приложения PHP, вы можете обратиться к Web Application to Web API, чтобы понять этот сценарий и начать работу.

Чтобы интегрировать Azure AD в веб-приложения PHP, нам необходимо выполнить шаги потока предоставления кода авторизации, чтобы создать несколько настраиваемых HTTP-запросов. НАПРИМЕР. Чтобы получить токен доступа по протоколу OAuth 2.0, мы должны обратиться к инструкциям по Авторизация Поток предоставления кода, как правило, мы создаем 2 HTTP-запроса для получения токена доступа:

1. Запросите код авторизации  введите описание изображения здесь

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

2. Используйте код авторизации для запроса токена доступа:  введите описание изображения здесь

Затем мы можем использовать токен доступа для добавления строки JWT с обозначением «Bearer» в заголовок авторизации запроса к веб-API ресурса.

Вот тестовый проект PHP, предоставленный Azure для справки.

person Gary Liu    schedule 04.11.2015
comment
Спасибо, возможно, мне следует уточнить свой вопрос, мы переносим нашу AD в Azure AD, и мы хотели бы иметь поддержку единого входа для внутренних веб-приложений, чтобы при входе в систему на своих ПК они использовали прокси-сервер приложения azure, и они ' автоматически подписывается в веб-приложениях PHP. Это возможно? - person Vladimir Hidalgo; 05.11.2015
comment
@Gary Liu Хотя прошло много лет, часть секрета клиента показана в ссылке. - person cytsunny; 10.12.2019

мы переносим наш AD в Azure AD, и мы хотели бы иметь поддержку единого входа для внутренних веб-приложений, чтобы при входе в систему на своих ПК они использовали прокси-сервер приложения azure и автоматически подписывались в веб-приложениях PHP. Это возможно?

@Vladimir, По моему опыту, это возможно. Есть несколько сценариев, к которым вы можете обратиться. Возможно, вам потребуется использовать Azure AD Connect для синхронизации локального AD с Azure AD и включить единый вход Azure AD для интеграции с вашим приложением php в вашем сценарии.

Во-первых, если вы хотите интегрировать локальную AD в Azure AD, вам следует использовать инструмент - Azure AD Connect, который используется для синхронизации вашего AD с Azure AD. См. Эти руководства и видео < / а>. Для этого действия вам потребуется разрешение ИТ-администратора.

Во-вторых, вам необходимо использовать Федеративный единый вход и другие методы для вашего приложения на портале Azure. Возможно, вам потребуется настроить PHP-приложение, как в этом видео: https://channel9.msdn.com/Blogs/Open/Using-SimpleSAML-to-authenticate-PHP-applications-with-Azure-AD. А если вы хотите получить информацию о пользователях, вам может понадобиться использовать Azure Graph API в качестве сообщения Гэри.

person Will Shao - MSFT    schedule 09.11.2015