2014-12-30 19 views
7

Sto provando a fare funzionare l'applicazione spring-boot-security-saml-sample con Okta. Per aggiungere Okta come fornitore, ho fatto le seguenti modifiche al WebSecurityConfig.java:Come configurare il SAML di Spring Security affinché funzioni con Okta?

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

ho trovato la seguente domanda che fornisce alcune indicazioni, ma non riesco a far funzionare le cose.

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

Ecco quello che sto usando per i valori su 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} 

Sembra che funziona dai registri:

[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;;; 

Tuttavia, mi reindirizza a Okta di sito piuttosto che tornare al mio sito.

+0

Non ho alcuna esperienza personale con questo, ma so che il team di identità Cloud Foundry lo ha fatto. Vedi il codice sorgente qui: https://github.com/cloudfoundry/login-server/tree/master/src/main/resources. –

risposta

4

ho preso a lavorare! Sembra che la chiave imposti Richiesta a "Non compresso". Da lì, ho rimosso "alias/defaultAlias" poiché questo sembra funzionare solo quando si imposta un alias su ExtendedMetadata. Le mie impostazioni funzionano sul lato 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

Per chi integra Okta con Spring SAML, il manuale ora contiene una procedura passo-passo di base guida di integrazione passo per Okta, vedi http://docs.spring.io/autorepo/docs/spring-security-saml/1.0.x-SNAPSHOT/reference/html/chapter-idp-guide.html # d4e1782 –

+0

@ VladimírSchäfer Potresti aggiornare la configurazione di java nel link qui sopra che hai fornito. – Max

+0

Ecco una guida che ho aggiornato il mese scorso (ottobre 2017): https://developer.okta.com/blog/2017/03/16/spring-boot-saml –

0

Matt,

Provare ad impostare la "URL Tornare" a "localhost: 8080/SAML/SSO/alias/defaultAlias".

Dall'aspetto della configurazione "localhost: 8080/saml/SSO/alias/defaultAlias" è l'endpoint SAML su "localhost", ovvero il luogo in cui pubblichiamo la risposta SAML.

In questo momento con il suo "localhost: 8080 /" - il tuo sito demo probabilmente ti sta semplicemente reindirizzando verso Okta piuttosto che analizzare la risposta SAML.

Non hai menzionato ciò che hai fatto sul lato Okta per testarlo. Ecco le istruzioni su come farlo - https://support.okta.com/entries/27560008-Using-the-App-Integration-Wizard - usando la nostra App Wizard che crea gli endpoint IDP SAML corretti sul lato okta. L'URL di accesso SAML sul lato Okta è necessario per il tuo sito demo in modo che sappia dove reindirizzare le richieste SAML a.

Per maggiori informazioni su SAML - è possibile controllare la nostra guida SAML sul nostro sito per gli sviluppatori - http://developer.okta.com/docs/getting_started/saml_guidance.html

Vorrei sapere come va. Acclamazioni

Stephen

+0

Ho provato che, ancora non funziona. Ho usato l'applicazione Template SAML 2.0 per creare un'applicazione sul lato Okta. Sono stato in grado di far funzionare facilmente un'applicazione Node e Sinatra. Molto meno codice anche. –

+0

Ho provato a cambiare la richiesta in "Non compresso" sul lato Okta delle cose e ho ottenuto un po 'di più. Ora reindirizza nuovamente alla mia app, ma vedo il seguente errore nei miei registri: https://gist.github.com/mraible/02ad43d4deb7823ce449 –