Nota:

Integra Oracle Banking Digital Experience con Ping per Single Sign-On

Introduzione

SAML 2.0 (Security Assertion Markup Language) è uno standard aperto creato per fornire Single Sign-On (SSO) tra domini. In altre parole, permette all'utente di autenticarsi in un sistema e di accedere a un altro sistema fornendo la prova della sua autenticazione. Oracle Banking Digital Experience supporta SAML2 per l'integrazione con IdP (Provider di identità, ad esempio Oracle Identity Cloud Service che supporta questa tecnologia. Oracle Identity Cloud Service gestisce l'accesso e i diritti degli utenti in un'ampia gamma di applicazioni e servizi cloud e on premise utilizzando una piattaformaIDaaS (Identity as a Service) cloudnativa che funge da porta di ingresso in Oracle Cloud per le identità esterne.

SAML è un protocollo di autenticazione basato su XML in cui i provider di identità (ad esempio Oracle Identity Cloud Service, Ping, Okta) -- entità che gestiscono e memorizzano le credenziali utente -- scambiano documenti XML con firma digitale (asserzioni SAML) consentendo a un utente finale di accedere a un provider di servizi (Oracle Banking Digital Experience). Per ulteriori informazioni, vedere SAML e Single Sign-On (SSO).

Con SAML, il workflow di autenticazione può essere avviato dal provider di servizi (SP) o dal provider di identità (IdP). L'autenticazione avviata da IdP viene eseguita se l'utente ha eseguito il login al dashboard dell'organizzazione. In questo caso, IdP invia un'asserzione SAML tramite il browser Web per eseguirne automaticamente il login.

L'autenticazione avviata tramite SP si verifica se un dipendente tenta di eseguire il login al sito esterno (SP) e il sito li reindirizza alla pagina di login SSO (Single Sign-On) aziendale per immettere le proprie credenziali e autenticarsi. Dopo l'autenticazione, il dipendente viene reindirizzato di nuovo al sito esterno con un'asserzione SAML che prova la propria identità.

Obiettivi

Questa esercitazione aiuterà gli sviluppatori e i partner di implementazione a eseguire i passi per integrare Oracle Banking Digital Experience con i provider di identità.

Prerequisiti

a. Installazione di Oracle Banking Digital Experience

b. Provider di identità che supporta SAML2

Task 1: Configura realm di sicurezza - Mapping delle credenziali

  1. Eseguire il login alla console di amministrazione WebLogic e andare al percorso seguente: Home, Summary of Servers, Summary of Security Realms, myrealm.

  2. Fare clic sull'opzione Provider.

  3. Crea un nuovo provider di autenticazione.

  4. Eseguire le configurazioni come mostrato nello screenshot riportato di seguito.

    Crea un nuovo provider di autenticazione

  5. Provider di ordini come mostrato nella seguente immagine.

    Provider di autenticazione degli ordini

  6. Riavviare il server di amministrazione.

Task 2: Configurazione di Oracle Banking Digital Experience

  1. Andare al percorso riportato di seguito nella sezione Server gestito: Home, Summary of Servers, Managed Server, Federation Services, SAML 2.0 General.

  2. Immettere i dettagli di configurazione specifici del sito come indicato di seguito.

    Configurazione sito

    URL sito pubblicato: http://<<HOST>>:<<PORT>>/saml2

  3. Dopo aver salvato e attivato le modifiche, riavviare il server gestito.

  4. Pubblica metadati e salva nel file XML. Questo file di metadati deve essere fornito a Ping o a qualsiasi altro file IdP.

    Pubblica metadati SAML 2.0

  5. Andare al percorso seguente nella sezione Server gestito: Home, Riepilogo dei server, Server gestito, Servizi di federazione, Provider di servizi SAML 2.0.

  6. Immettere i dettagli di configurazione specifici del sito come indicato di seguito.

    Dettagli configurazione

    Dettagli configurazione

URL predefinito: http://<<HOST>>:<<PORT>/digx/protected/dashboard.jsp

Task 3: configurazione del provider di identità (IdP) - WebLogic

  1. Condividere i dettagli seguenti per la configurazione IdP e generare metadati IdP.

    • URL Single Sign-On: http://<<HOST>>:<<PORT>>/saml2/sp/acs/post

    • URL destinatario: http://<<HOST>>:<<PORT>>/saml2/sp/acs/post

    • Destinazione all'URL: http://<<HOST>>:<<PORT>>/saml2/sp/acs/post

    • URI audience (ID entità SP): deve essere uguale all'ID entità configurato nelle configurazioni generali SAML 2.0, ovvero PING_obdx_ID.

  2. Al termine delle configurazioni precedenti in IdP (responsabile SAML), generare metadati IdP e salvare nel file XML.

Task 4: Configura realm di sicurezza - Provider IdP

  1. Copiare il file XML dei metadati IdP nella cartella Dominio del server gestito.

  2. Andare al percorso seguente: Home, Summary of Security Realms, myrealm, Provider, SAML2_IA.

  3. Nella sezione Gestione eseguire le configurazioni riportate di seguito per creare il partner del provider di identità.

    Sezione gestione

  4. Selezionare IdP metadati xml copiati nel percorso del dominio del server gestito.

    Metadati IdP

  5. Salvare i dettagli.

  6. In Partner provider di identità, completare la configurazione riportata di seguito.

    Configurazione IdP

  7. Riavviare i server di amministrazione e gestiti.

Task 5: Configurazione di Oracle Banking Digital Experience

Per obdx.app.rest.idm com.ofss.digx.appx.service.rest.war, configurare i dettagli riportati di seguito.

  1. /protected/dashboard.jsp: aggiorna le modifiche ai cookie del browser JSESSIONID.

    \<!DOCTYPE HTML\>
    
     \<html lang=\"en-US\"\>
    
     \<head\>
    
     \<meta charset=\"UTF-8\"\>
    
     \<meta http-equiv=\"refresh\" content=\"1;url=../../home.html\"\>
    
     \<script\>
    
     var JSESSIONID = getCookie(\"JSESSIONID\");
    
     if (typeof(JSESSIONID) != \"undefined\" && JSESSIONID != null &&
     JSESSIONID != \"\") {
    
     mydomain.console.log(\"Found JSESSIONID from SSO relocating to: \" +
     JSESSIONID);
    
     setCookie(\"JSESSIONID\", JSESSIONID, -1, \"/\",
     \"webserverhostname:port\");
    
     document.location.href = JSESSIONID;
    
     }
    
     window.location.href = \"../../home.html\"
    
     \</script\>
    
     \<title\>Page Redirection\</title\>
    
     \</head\>
    
     \<body\>
    
  2. /WEB-INF/web.xml: nelle modifiche del ruolo di vincolo di sicurezza.

    \<security-constraint\>
    
     \<display-name\>Constraint-0\</display-name\>
    
     \<web-resource-collection\>
    
     \<web-resource-name\>Constraint-0\</web-resource-name\>
    
     \<url-pattern\>/protected/\*\</url-pattern\>
    
     \</web-resource-collection\>
    
     \<auth-constraint\>
    
     \<role-name\>valid-users\</role-name\>
    
     \</auth-constraint\>
    
     \<user-data-constraint\>
    
     \<transport-guarantee\>NONE\</transport-guarantee\>
    
     \</user-data-constraint\>
    
    \</security-constraint\>
    
  3. /WEB-INF/weblogic.xml: configurazioni di cookie e ruoli.

    \<?xml version=\"1.0\" encoding=\"UTF-8\"?\>
    
    \<wls:weblogic-web-app
    
    xmlns:wls=\"http://xmlns.oracle.com/weblogic/weblogic-web-app\"
    
    xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"
    
    xsi:schemaLocation=\"http://java.sun.com/xml/ns/javaee
    http://java.sun.com/xml/ns/javaee/web-app_2\_5.xsd
    http://xmlns.oracle.com/weblogic/weblogic-web-app
    http://xmlns.oracle.com/weblogic/weblogic-web-app/1.3/weblogic-web-app.xsd\"\>
    
    \<wls:context-root\>digx\</wls:context-root\>
    
    \<wls:library-ref\>
    
    \<wls:library-name\>jax-rs\</wls:library-name\>
    
    \<wls:specification-version\>2.0\</wls:specification-version\>
    
    \<wls:exact-match\>true\</wls:exact-match\>
    
    \</wls:library-ref\>
    
    \<security-role-assignment\>
    
    \<role-name\>valid-users\</role-name\>
    
    \<principal-name\>users\</principal-name\>
    
    \</security-role-assignment\>
    
    \<session-descriptor\>
    
    \<max-save-post-size\>10240\</max-save-post-size\>
    
    \<persistent-store-type\>memory\</persistent-store-type\>
    
    \<sharing-enabled\>true\</sharing-enabled\>
    
    \<cookies-enabled\>true\</cookies-enabled\>
    
    \<cookie-name\>JSESSIONID\</cookie-name\>
    
    \<cookie-domain\>\</cookie-domain\>
    
    \<cookie-path\>/\</cookie-path\>
    
    \<cookie-secure\>false\</cookie-secure\>
    
    \<url-rewriting-enabled\>true\</url-rewriting-enabled\>
    
    \</session-descriptor\>
    
    \<wls:session-descriptor\>
    
    \<wls:persistent-store-type\>replicated_if_clustered\</wls:persistent-store-type\>
    
    \</wls:session-descriptor\>
    
    \</wls:weblogic-web-app\>
    
  4. Configurare le seguenti impostazioni in obdx.conf.

    1. Nel set di intestazioni X-Frame-Options "ALLOW-FROM", aggiungere l'URL del dominio IdP come riportato di seguito.

      **Header set X-Frame-Options \"ALLOW-FROM \<IdP URL\>"

    2. <Posizione /saml2>

      SetHandler gestore logico

      WebLogicCluster <<Server gestito HOST>>:<<Server gestito PORT>>

      </Ubicazione>

Task 6: Debug SAML2

In caso di problemi con l'elaborazione delle richieste SAML2, abilitare i log riportati di seguito nel server gestito.

  1. Andare a Server gestito, DebugWeblogic*, Sicurezza e abilitare i log riportati di seguito.

    • atn

    • atz

    • saml

    • saml2

I dettagli di errore/eccezione verranno registrati nei log del server gestito. Se non necessario, è possibile disabilitare questi log.

Nota: per configurare più partner di provider di identità, ripetere le operazioni descritte nella sezione 5. Creare un'altra copia di dashboard.jsp con un nome diverso configurato nella sezione URI di reindirizzamento.

Conferme

Altre risorse di apprendimento

Esplora altri laboratori su docs.oracle.com/learn o accedi a contenuti di formazione gratuiti sul canale YouTube di Oracle Learning. Inoltre, visitare education.oracle.com/learning-explorer per diventare Explorer di Oracle Learning.

Per la documentazione sul prodotto, visitare il sito Oracle Help Center.