WSO2 Enterprise Store 1.0.0: возможно ли реализовать Google OAuth в качестве системы аутентификации для Enterprise Store?
Я пытаюсь выяснить, возможно ли реализовать Google Authentication как систему аутентификации Enterprise Store. Это означает, что пользователи нашего пользовательского корпоративного магазина (версия 1.0.0) могут получить доступ к приложениям Store и Publisher через свою учетную запись Google.
Насколько я знаю сейчас и после проведения исследований, кажется, что это невозможно.
Я ошибся? Если да, может ли кто-нибудь предоставить подсказку или процедуру для реализации этого решения?
3 ответа
Для аутентификации Google используется OAuth & OpenID, как описано в https://developers.google.com/identity/protocols/OpenIDConnect
В документации Enterprise Store 1.0.0 я обнаружил, что файл "identity.xml" можно настроить с помощью OAuth & OpenID, как описано в https://docs.wso2.com/display/ES100/Configuring+identity.xml
Поэтому я думаю, что можно реализовать Google OAuth в качестве системы аутентификации для Enterprise Store.:)
Теперь меня беспокоит то, что я не могу настроить однозначно Enterprise Store с системой аутентификации Google.
Это не может быть сделано в ES 1.0.0, но может быть достигнуто с ES 2.0.0 с некоторой настройкой
Я не хочу устанавливать Identity Server или другой инструмент, чтобы он работал. Я просто хочу, чтобы Enterprise Store работал сам по себе. Является ли это возможным?
Вам не понадобится внешний Identity Server
Могу ли я найти процедуру, которая явно подходит для Enterprise Store? Пожалуйста, обратитесь к моему ответу ниже
Я разбил ответ на основе двух версий продукта (1.0.0 и 2.0.0):
ES 1.0.0
- ES 1.0.0 использует настраиваемую страницу входа (расположенную в приложении sso), поэтому компоненты IS не будут иметь контроль над отображением страницы. Это означает, что она не сможет отображать кнопку "Войти с помощью Google". Таким образом, вам нужно будет настроить эту страницу входа
- В этой версии продукта используются компоненты идентичности 4.2.0, которые, как я подозреваю, не поддерживают Google Authenticator (мне нужно будет дважды проверить). В результате вам нужно будет использовать подход № 2, представленный ниже. В ES 1.0.0 у нас не было концепции подключения методов аутентификации, поэтому вам нужно будет редактировать основной код.
ES 2.0.0
- Визуализация страницы входа снова обрабатывается на стороне ES, поэтому приложение sso необходимо настроить для отображения входа с помощью кнопки Google. Это похоже на ES 1.0.0, но с основным отличием - наличие четких точек расширения для приложение sso.
- Хотя ES 2.0.0 больше не поддерживает пользовательские интерфейсы компонентов Identity для управления SP и IDP, этого можно достичь с помощью файлов конфигурации. Дополнительное примечание заключается в том, что ES 2.0.0 поддерживает подключаемые методы аутентификации (ссылка упоминает ES 2.1.0, но подход в равной степени применимо к 2.0.0)
Доступные Варианты
- Я настоятельно рекомендую вам перейти на ES 2.0.0 (или, возможно, дождаться версии 2.1.0, которую можно скачать здесь.
- Подход № 1. Регистрация поставщика удостоверений и поставщиков услуг через файлы конфигурации с использованием в качестве контрольной точки
- Подход № 2. Написание пользовательской страницы входа в качестве расширения с поддержкой аутентификации Google, используя шаги, описанные здесь
Примечание: мне понадобится немного времени, чтобы проверить оба вышеуказанных подхода.
Примечание. SO ограничил количество ссылок, которые я могу опубликовать. Вам нужно будет добавить https ко всем ссылкам, указанным ниже.
РЕДАКТИРОВАТЬ Я начал играть с подходом #2, вы можете увидеть прогресс здесь.
РЕДАКТИРОВАТЬ Сегодня я смог исследовать первый подход немного дальше, и, к сожалению, похоже, что это невозможно с ES 2.0.0/2.1.0 без установки дополнительных компонентов IS.
Спасибо, Самера
Это должно быть возможно. Вы можете настроить своего поставщика услуг.
Пожалуйста, следуйте [1]. Вы можете отказаться от конфигурации на стороне магазина API Manager вместо того, чтобы сконфигурировать то же самое из Enterprise Store 1.0.0.