Azure REST API — Можно ли использовать существующих пользователей-арендаторов Azure в php CMS и использовать и проверять их учетные данные удаленно?

#php #azure #azure-active-directory

#php #azure #azure-active-directory

Вопрос:

Предыстория ситуации:

У нас есть компания Azure с десятками существующих пользователей с существующими учетными данными для доступа к Azure.

Кроме того, у нас есть CMS (на PHP) на отдельном веб-хостинге (нет связи с Azure, не размещен в Azure).

Что нам нужно:

Все существующие пользователи Azure смогут получить доступ к нашей веб-CMS, и у нас есть дилемма, если CMS (php script) сможет проверять учетные данные удаленно, запрашивая Azure API.

Или даже лучше, если пользователь уже зарегистрирован в учетной записи Azure и имеет активный файл cookie (например, в Facebook), CMS будет запрашивать только некоторые данные пользователей, проверять пользователей-арендаторов и домен и автоматически разрешать доступ без какой-либо формы входа.

Лучше всего было бы объединить оба упомянутых.

Цель:

PHP-скрипт проверяет «Azure login cookie» (например, Facebook?) и обеспечивает связь с Azure API, предоставляя параметры, такие как email и пароль, и получая true / false, если какой-либо пользователь Azure существует для заданных учетных данных.


Ценю любую помощь и советы, с уважением, Jan.

Ответ №1:

Не существует такого API Azure AD, который предоставлял бы услугу для проверки учетных данных. И описанный выше поток, требующий от пользователей ввода своих учетных данных Azure AD в ваших приложениях, что больше похоже на фишинг, который легко утечка учетных данных пользователей.

Если вы хотите аутентифицировать свои приложения через Azure AD, вы можете использовать протокол OpenID connect stand. Вот поток аутентификации с использованием OpenID connect для справки: введите описание изображения здесь

Более подробную информацию об авторизации доступа к веб-приложениям с помощью OpenID Connect и Azure Active Directory вы можете найти здесь.

Комментарии:

1. Спасибо за совет, правильно ли я понимаю, если описанный вами процесс будет следующим: 1) зарегистрировать приложение в Azure и добавить разрешения для Win. Azure AD API 2) в CMS подготовьте запрос на вход с идентификатором приложения и другими параметрами, и uri перенаправления будет URL CMS 3) обработайте ответ в CMS и разрешите или запретите пользователю доступ к —- Я прав?

2. Да, вы были правы. И поскольку вы разрабатывали PHP, я также предлагаю вам изучить компонент, поддерживающий протокол OpenID connect, чтобы помочь интегрировать приложение с Azure AD.