Próbuję skonfigurować integrację SSO (Single Sign-On) z OpenProject za pomocą wtyczki OpenProject OmniAuth SAML Single-Sign On. Skonfigurowałem go z odpowiednimi szczegółami. Wygenerowano metadane i zarejestrowano je za pomocą IDP zasilanego przez Shibboleth. Wtyczka pokazuje dodatkowy przycisk logowania na formularzu logowania do otwartego projektu. Kliknięcie go powoduje odpowiednie przekierowanie na stronę logowania IDP. Po podaniu referencji poprawnie przekierowuje na adres URL AssertionConsumerService, o którym wspomniałem. Ma postać https://example.com/openproject/auth/saml/callback
. Ale strona pokazuje zły błąd żądania. Debugowanie pliku app/controllers/concerns/omniauth_login.rb
wykazało, że wewnątrz funkcji omniauth_login
następujące wiersze kodu powodują błąd 400.OpenProject OmniAuth SAML Single-Sign On Integration
auth_hash = request.env['omniauth.auth']
return render_400 unless auth_hash.valid?
Wartość auth_hash
wygląda na pustą. Czy to może być problem związany z mapowaniem atrybutów lub czymś innym? Pochodzę z PHP bacnkground i nie mam doświadczenia w rubinach na szynach. Dlatego trudno jest rozwiązać problem. Wiele razy próbowałem googlować, ale nie mogłem znaleźć niczego przydatnego.
Każda pomoc jest bardzo doceniana.
Dzięki