Jakiś czas wcześniej zaczęliśmy szukać sposobu na integrację PingFederate w naszej infrastrukturze.Opcje integracji i wdrażania PingFederate i NGinx
Nasz początkowy przypadek użycia jest następujący: zapewniamy dostęp do naszej aplikacji wykwalifikowanemu najemcy, a różne firmy mogą korzystać z różnych (ich) dostawców tożsamości w celu uzyskania dostępu do naszej aplikacji.
Teraz jest ograniczony do tego obiegu przepływu: Mutiple Idp(s) to one SP
Jednak w przyszłych przepływów może zostać przedłużony do Many-to-many relations
Obecnie używamy Nginx jako reverse proxy i na podstawie dokumentacji PingFed to zupełnie trudno poznaj opcje wdrażania, które mamy teraz.
podstawie schematu, który został zabrany z tego guide
jest to bardziej lub mniej jasne, jak ta integracja pracuje apache httpd. Głównie jest to Apache PingFed Agent, który działa z przepływami SSO na apache i głównie sprawdza poprawność "sesji" lub inicjuje przepływ SSO.
Processing Steps
1. A user attempts to access a resource on the Apache server protected by the PingFederate
Apache Agent.
2. The user is redirected to the PingFederate server for authentication.
(If an OpenToken session already exists, the user is granted immediate access.)
3. The PingFederate server redirects the user’s browser to an IdP for authentication using either the
SAML or WS-Federation protocols. The IdP partner authenticates the user and returns a SAML
assertion.
4. PingFederate validates the assertion and creates an OpenToken for the user including any
configured attributes. PingFederate then redirects the browser, including the OpenToken, back to
the Apache Agent.
5. The Agent verifies the OpenToken and grants access to the protected resource. The User ID and
any attributes from the OpenToken are exposed to the resource as HTTP Request Headers or Apache Environment Variables.
I głównie na Krok 5 środkiem apache przekazuje użytkownikowi informacje na temat rzeczywistej aplikacji przy użyciu nagłówków żądania lub zmiennych Apache środowiskowe.
Na podstawie wszystkich informacji, o którym mowa powyżej jest tu 2 pytania:
- Jak zrobić podobną instalację dla PingFed i nginx (dla opcji, które opisano w tej kwestii z apache httpd)?
- Czy wymagane jest używanie serwera WWW (Reverse Proxy) razem z PingFederate. Lub Ping Federate może działać również jako WebServer? Jeśli tak, prawdopodobnie docenione zostaną niektóre linki i dodatkowe wyjaśnienia.
cóż, jest: https://github.com/pingidentity/lua-resty-openidc/ –
Więc ogólnie zalecamy stosowanie tego schematu (bez NGINX): https://documentation.pingidentity.com/display/AIK12/Implementing+SP+Funkcjonalność? Czy możesz podać link, w jaki sposób PingFed jest dobry w typowych zadaniach odwrotnego proxy: pobieranie statycznych treści, kończenie protokołu SSL ..... Czy powinienem spojrzeć na możliwości Jetty? – user1459144
lua-resty-openidc - czy mógłbyś dodać trochę wyjaśnienia, w jaki sposób może to być przydatne w tym zadaniu? Nie jestem pewien, czy w pełni zrozumiałem pomysł. – user1459144