2014-12-30 9 views
7

Próbuję wykonać pracę aplikacji spring-boot-security-saml-sample z Okta. Aby dodać OKTA jako dostawcy, zrobiłem następujące zmiany WebSecurityConfig.java:Jak skonfigurować Spring Security SAML do pracy z Okta?

https://gist.github.com/mraible/c8b52972f76e6f5e30d5

znalazłem następujące pytanie, które zawiera pewne wskazówki, ale nie mogę dość dostać rzeczy do roboty.

configuring saml-sample (SP) to work with Okta (IdP)

Oto co używam do wartości, na OKTA:

Application label: Spring Boot SAML App 
Force Authentication: false 
Post Back URL: http://localhost:8080/ 
Name ID Format: EmailAddressRecipient 
Recipient: http://localhost:8080/saml/SSO/alias/defaultAlias 
Audience Restriction: com:vdenotaris:spring:sp 
authnContextClassRef: PasswordProtectedTransport 
Response: Signed 
Assertion: Signed 
Request: Compressed 
Destination: http://localhost:8080/saml/SSO/alias/defaultAlias 
Default Relay State: (none) 
Attribute Statements: email|${user.email},firstName|${user.firstName} 

Wygląda na to, że działa z dzienników:

[2014-12-30 12:18:33.004] boot - 18748 DEBUG [http-nio-8080-exec-8] --- BaseMessageEncoder: Successfully encoded message. 
[2014-12-30 12:18:33.004] boot - 18748 DEBUG [http-nio-8080-exec-8] --- HttpSessionStorage: Storing message a12gf64fh3f35fgh2a8dd1fd0i0dc02 to session C5D010344EF5D022718B12B6D25F1D1E 
[2014-12-30 12:18:33.004] boot - 18748 INFO [http-nio-8080-exec-8] --- SAMLDefaultLogger: AuthNRequest;SUCCESS;0:0:0:0:0:0:0:1;com:vdenotaris:spring:sp;http://www.okta.com/k2gpb06TOMYOKAWUSXJM;;; 

jednak przekierowuje mnie do OKTA-tych Witryna zamiast z powrotem do mojej witryny.

+0

Nie mam z tym żadnego osobistego doświadczenia, ale wiem, że zrobił to zespół tożsamości Cloud Foundry. Zobacz kod źródłowy tutaj: https://github.com/cloudfoundry/login-server/tree/master/src/main/resources. –

Odpowiedz

4

Mam go do pracy! Klucz wydaje się ustawiać Żądanie "Nieskompresowane". Stamtąd usunąłem "alias/defaultAlias", ponieważ wydaje się, że działa to tylko po ustawieniu aliasu na ExtendedMetadata. Moje ustawienia działające po stronie Okta:

Application label: Spring Boot SAML App 
Force Authentication: false 
Post Back URL: http://localhost:8080/saml/SSO 
Name ID Format: EmailAddressRecipient 
Recipient: http://localhost:8080/saml/SSO 
Audience Restriction: com:vdenotaris:spring:sp 
authnContextClassRef: PasswordProtectedTransport 
Response: Signed 
Assertion: Signed 
Request: Uncompressed 
Destination: http://localhost:8080/saml/SSO 
Default Relay State: (none) 
Attribute Statements: email|${user.email},firstName|${user.firstName} 
+2

Dla każdego, kto integruje Okta ze Spring SAML, instrukcja zawiera teraz krok po kroku krokowy przewodnik integracji dla Okta, patrz http://docs.spring.io/autorepo/docs/spring-security-saml/1.0.x-SNAPSHOT/reference/html/chapter-idp-guide.html # d4e1782 –

+0

@ VladimírSchäfer Czy możesz zaktualizować konfigurację Java w powyższym linku. – Max

+0

Oto przewodnik, który zaktualizowałem w zeszłym miesiącu (październik 2017 r.): Https://developer.okta.com/blog/2017/03/16/spring-boot-saml –

0

Matt

Spróbuj ustawić "post Powrót URL" na "localhost: 8080/saml/SSO/alias/defaultAlias".

Z wyglądu twojej konfiguracji "localhost: 8080/saml/SSO/alias/defaultAlias" jest punktem końcowym SAML na "localhost", gdzie publikujemy odpowiedź SAML na.

Teraz jako "localhost: 8080 /" - witryna demo prawdopodobnie po prostu przekierowuje z powrotem do Okta, zamiast analizować odpowiedź SAML.

Nie wspominałeś o tym, co zrobiłeś po stronie Okta, żeby to przetestować. Oto instrukcje, jak to zrobić - https://support.okta.com/entries/27560008-Using-the-App-Integration-Wizard - korzystając z naszego Kreatora aplikacji, który tworzy właściwe punkty końcowe SAML IDP po stronie okta. Adres URL logowania SAML po stronie Okta jest wymagany przez twoją witrynę demonstracyjną, dzięki czemu wie, gdzie przekierować żądania SAML.

Aby uzyskać więcej informacji na temat SAML - można sprawdzić nasze wskazówki SAML na naszej stronie dewelopera - http://developer.okta.com/docs/getting_started/saml_guidance.html

Daj mi znać jak poszło. Pozdrowienia

Stephen

+0

Próbowałem, nadal nie działa. Użyłem szablonu Application SAML 2.0 do stworzenia aplikacji po stronie Okta. Udało mi się łatwo uzyskać aplikacje Node i Sinatra. O wiele mniej kodu też. –

+0

Próbowałem zmienić Żądanie na "Nieskompresowane" po stronie Okta i poszedłem trochę dalej. Teraz przekierowuje z powrotem do mojej aplikacji, ale widzę następujący błąd w moich dziennikach: https://gist.github.com/mraible/02ad43d4deb7823ce449 –

Powiązane problemy