То, что я пытаюсь сделать, это тихая аутентификация с Auth0 в качестве провайдера идентификации с использованием протокола SAML 2.0. Я не хочу использовать Auth0 SDK, потому что целью провайдера сервера является возможность переключения между провайдерами идентификации. Я прочитал этот пост и этот другой .
Я обновил свой логин с
https://{your_domain}.auth0.com/samlp/{client_id}
до
https://{your_domain}.auth0.com/samlp/{client_id}={connection your_db_connection_name}
Как упоминалось в первой ссылке, но это позволяет мне избегать перенаправлений, если у пользователя уже есть существующий сеанс. Вторая ссылка ссылается на параметр в URL:
prompt = none
Но это для протокола OpenId Connect, поэтому я не помогаю.
Текущий поток выглядит следующим образом:
- Пользователь отправляет учетные данные моему провайдеру сервера (это бесполезно, потому что
Auth0 требует учетные данные в своем виджете)
- Поставщик сервера запрашивает аутентификацию SAML для Auth0
- Auth0 перенаправляет пользователя на его виджет входа в систему (пользователь вводит
снова учетные данные)
- Пользователь получает доступ
Чего я хочу добиться:
- Пользователь отправляет учетные данные моему провайдеру сервера
- Поставщик сервера интегрирует учетные данные (здесь я делаю
не знаю как) в запросе SAML 2.0
- Auth0 получает и аутентифицирует учетные данные (без какого-либо
Перенаправление)
- Пользователь получает доступ
Что я использую:
- в качестве провайдера сервера, узел JS с Express и saml2-js библиотека
- Как поставщик удостоверений, обычное веб-приложение с надстройкой SAML2 Web App для Auth0
Я новичок в использовании SAML и Auth0 и пока не знаю много. Любое руководство или совет приветствуется. Спасибо.
(Если у меня есть недостатки в моем английском, не стесняйтесь комментировать, спасибо)