#azure-active-directory #azure-web-app-service #mediawiki #mediawiki-extensions #mediawiki-installation
#azure-active-directory #azure-web-app-service #mediawiki #mediawiki-расширения #mediawiki-установка
Вопрос:
Я пытаюсь настроить Mediawiki на Azure. И необходимо иметь поддержку OAuth с потоком учетных данных клиента, чтобы клиентское приложение могло запрашивать токен доступа из Azure AD, а затем клиент использует запрошенный токен доступа для вызова API Mediawiki для доступа к ресурсам wiki.
Мне интересно, каким шагам я могу следовать, чтобы иметь такую настройку.
В настоящее время я думаю использовать Azure Web App для создания Mediawiki и включить режим экспресс-аутентификации в AAD для этого приложения. Не уверен, нужно ли мне еще что-либо настраивать в Mediawiki для проверки токена доступа или любого необходимого расширения.
Я также видел несколько руководств по созданию виртуальной машины вместо веб-приложения Azure. Но я не могу найти никаких руководств по учетным данным клиента для Mediawiki.
[Раздел обновления ниже]
Я хотел бы немного уточнить свой вопрос на случай, если я этого не сделал. Я хотел бы настроить Azure AD (которая является платформой идентификации) для включения учетных данных клиента. Таким образом, мое клиентское приложение может получить токен доступа из Azure AD, а затем клиентское приложение может использовать этот токен для запроса данных непосредственно в API Medaiwki.
Пример:
Шаг 1. Клиент отправляет post-запрос в конечную точку Azure AD с помощью клиентских crendentials
POST:
https://login.microsoftonline.com/xxxxxx_an_AAD_tenantID_xxxxxxxxxxxx/oauth2/token
Headers:
Content-Type: multipart/form-data;
Body:
{
client_id=<New App Registration Client ID>,
client_secret=<New App Registration Client Secret>,
grant_type=client_credentials
}
Response:
{
"token_type": "Bearer",
"expires_in": "xxx",
"ext_expires_in": "xxx",
"expires_on": "xxx",
"not_before": "xxxx,
"resource": "xxx",
"access_token": <Access_Token>
}
Шаг 2. использование токена доступа из шага 1 для запроса данных API Medaiwiki
GET:
https://myMediawiki.com/api.php?action=queryamp;meta=siteinfoamp;siprop=namespacesamp;format=json
Headers:
Authorization: Bearer <Access_Token>
Мне интересно, как настроить такой Mediawiki. Для того, чтобы получить токен доступа в Mediawiki.
Я понимаю, что есть некоторые расширения OAuth. Но эти расширения, похоже, действуют как единый сервер авторизации. В моем случае я хотел бы, чтобы AAD действовал как сервер авторизации, а AAD создаст авторизованное клиентское приложение с client_id и Client_secret на шаге 1.
Некоторые ссылки:
Комментарии:
1. mediawiki.org/wiki/Extension:OAuth2_Client возможно, это то, что вы ищете.
2. спасибо @ Tgr, но я не вижу никакой документации / примера конфигурации для поддержки потока учетных данных клиента, который должен предоставлять приложению доступ к mediawiki api. Клиентское приложение получает токен доступа из Azure AD, и приложение использует его для доступа к API Medaiwiki.
3. Итак, вы хотите, чтобы MediaWiki был сервером OAuth, а Azure — клиентом OAuth? В этом случае ознакомьтесь mediawiki.org/wiki/Extension:OAuth
4. Привет @Tgr, я бы сказал, что не совсем на ваш вопрос выше. Я хотел бы настроить Azure AD (которая является платформой идентификации) для получения токена доступа для клиентского приложения. Затем используйте токен доступа для прямого вызова Mediawiki API для доступа к данным. (пожалуйста, смотрите раздел «Мои обновления» в моем исходном вопросе) спасибо
5. Итак, как бы вы назначили идентификаторы клиентов пользователям MediaWiki?