Мы приближаемся к завершению серии "А вы видели...?" для XenForo 2.3. Хотя это может показаться горько-сладким моментом, мы намеренно приберегли одно из самых интересных открытий напоследок. В ближайшие недели мы, возможно, рассмотрим еще несколько различных изменений и улучшений, а также подготовим более подробный обзор, ориентированный на разработчиков. Однако главная цель разработчиков - запустить XenForo 2.3 на сайте XenForo.com к концу ноября. После достижения этой цели мы с радостью поделимся с вами еще несколькими сюрпризами, которые будут включать в себя обзор последних улучшений в Resource Manager, Enhanced Search, и Media Gallery 2.3.
Но вернемся к сегодняшнему дню, и это не только захватывающее открытие, но и сигнал к реализации нашего
У Вас недостаточно прав для просмотра ссылок.
Вход или Регистрация
. Ваша установка XenForo сможет выступать в качестве сервера OAuth2, что открывает целый ряд дополнительных возможностей:- Единая авторизация между вашим форумом и другой установкой XenForo
- Единая авторизация между вашим форумом и другим программным обеспечением
- Создание другого фронт-энда для вашего форума, например, одностраничного приложения
- Создание собственного приложения для смартфонов для вашего форума
- Интеграция между вашим форумом и другим приложением
- Доступ к XenForo REST API от имени конкретного пользователя с маркером OAuth
Вы можете добавить столько OAuth2-клиентов, сколько вам необходимо, и это можно сделать из панели управления администратора в разделе Setup > OAuth2 clients (где перечислены все созданные вами клиенты), нажав кнопку "Add OAuth2 client".
А вот так выглядит заполненная страница:
Большинство из них не требует пояснений. Заголовок, описание, URL домашней страницы и URL изображения используются для брендирования любой страницы авторизации OAuth. Рассмотрим подробнее некоторые другие параметры на этой странице.
Тип клиента
Разница между типами клиентов "Публичный" и "Конфиденциальный" может быть не сразу очевидна, но она очень важна. Для подавляющего большинства интеграций OAuth, с которыми вы, возможно, сталкивались в прошлом, скорее всего, более привычен вариант по умолчанию - тип "Конфиденциальный".Для большинства приложений тип "Конфиденциальный" вполне подходит. Это означает, что вы можете сохранить конфиденциальность клиентского секрета - другими словами, клиентский секрет нигде не хранится и не раскрывается клиентом. Это подходит для учетной записи, подключенной к XenForo.
Для ситуаций, когда хранить секрет в клиентском приложении небезопасно (например, в JavaScript, одностраничных приложениях или нативных приложениях), следует выбрать тип клиента 'Public'. При использовании типа 'Public' применяется поток авторизации
У Вас недостаточно прав для просмотра ссылок.
Вход или Регистрация
. Вместо того чтобы передавать секрет, создается случайная строка. Эта случайная строка служит надежным способом подтверждения вашей личности в процессе авторизации и обмена токенами.Следует отметить, что PKCE требуется для публичных клиентов и рекомендуется для конфиденциальных. Более глубокое изучение PKCE выходит за рамки данной статьи, но будьте уверены, что до выхода XenForo 2.3 все будет описано в руководстве и/или документации разработчика.
Авторизация / Токен / Revocation endpoints
Это просто конечные точки, с которыми необходимо взаимодействовать для авторизации, получения маркера и отзыва маркеров в соответствии со спецификацией OAuth 2.0.URI перенаправления
Здесь можно добавить один или несколько URI перенаправления. Это утвержденные URI перенаправления, которые может использовать вторичный экземпляр. Иногда может потребоваться несколько URI перенаправления для поддержки различных доменов или различных конечных точек, которые могут быть вызваны в рамках процесса. В данном примере, поскольку мы будем осуществлять связь со второго форума XenForo, в качестве URI перенаправления достаточно использовать егоconnected_account.php
.После создания клиента вы сможете просмотреть свои учетные данные:
Вооружившись ими, мы можем теперь настроить провайдера подключенной учетной записи на вторичном экземпляре XenForo.
С подключенной учетной записью все понятно, если вы уже настраивали какую-либо из существующих. Главное - убедиться в правильности URL целевого форума.
Но на самом деле вы хотите увидеть процесс авторизации, не так ли?
На странице входа, регистрации или Account > Connected accounts, как только вы нажмете кнопку, соответствующую вашему новому провайдеру подключенного аккаунта XenForo, вы будете перенаправлены на страницу авторизации:
При нажатии кнопки Авторизация будут выполнены обычные действия по аутентификации с использованием OAuth и перенаправлению вас обратно:
Если вы одобрили какие-либо приложения для доступа к вашей учетной записи XenForo, то их список можно увидеть в разделе Учетная запись > Приложения:
Хотя это и интересно само по себе, это всего лишь один из многих вариантов использования, которые откроет наша реализация OAuth. На этом мы заканчиваем эту неделю. На следующей неделе мы посвятим целую статью "Видели ли вы...?" тому, что нового для разработчиков появилось в XenForo 2.3. Это позволит нам более детально рассмотреть некоторые небольшие изменения, ориентированные на разработчиков, в том числе более подробно остановиться на некоторых более продвинутых частях OAuth, таких как PKCE, аутентификация по REST API и маркеры обновления.
Если разработчики хотят, чтобы мы более подробно рассказали о чем-то конкретном, о чем мы могли упомянуть в последние несколько недель, пожалуйста, дайте нам знать.