Observação:
- Este tutorial requer acesso ao Oracle Cloud. Para se inscrever e obter uma conta gratuita, consulte Conceitos Básicos do Oracle Cloud Infrastructure Free Tier.
- Ele usa valores de exemplo para credenciais, tenancy e compartimentos do Oracle Cloud Infrastructure. Ao concluir seu laboratório, substitua esses valores por valores específicos do seu ambiente de nuvem.
Integre o Oracle Banking Digital Experience com Ping para Sign-On Único
Introdução
O SAML 2.0 (Security Assertion Markup Language) é um padrão aberto criado para fornecer logon único (SSO) entre domínios. Em outras palavras, permite que um usuário autentique-se em um sistema e obtenha acesso a outro sistema fornecendo prova de sua autenticação. O Oracle Banking Digital Experience suporta SAML2 para integração com IdP (Provedor de Identidades, como o Oracle Identity Cloud Service que suporta essa tecnologia. O Oracle Identity Cloud Service gerencia o acesso e os direitos do usuário em toda a nuvem, bem como em aplicativos e serviços locais, usando uma plataforma IDaaS (identity as a service) nativa da nuvem que atua como porta de entrada no Oracle Cloud para identidades externas.
SAML é um protocolo de autenticação baseado em XML no qual Provedores de Identidades (como Oracle Identity Cloud Service, Ping, Okta) -- entidades que gerenciam e armazenam credenciais do usuário -- trocam documentos XML assinados digitalmente (Asserções SAML) permitindo que um usuário final acesse um Provedor de Serviços (Oracle Banking Digital Experience). Para obter mais informações, consulte SAML e SSO (Single Sign-On).
Com o SAML, o workflow de autenticação pode ser iniciado pelo Provedor de Serviços (SP) ou pelo Provedor de Identidades (IdP). A autenticação iniciada pelo IdP ocorrerá se o usuário estiver conectado ao painel da organização. Nesse caso, o IdP envia uma asserção SAML por meio do web browser para fazer log-in automaticamente.
A autenticação iniciada pelo SP ocorrerá se um funcionário tentar fazer log-in nesse site externo - o SP - e o site redirecioná-los para sua página de log-in de SSO (Single Sign-On) corporativa para inserir suas credenciais e autenticação. Após a autenticação, o funcionário é redirecionado de volta ao site externo com uma asserção SAML comprovando sua identidade.
Objetivos
Este tutorial ajudará os desenvolvedores e parceiros de implementação a executar as etapas para integrar o Oracle Banking Digital Experience ao(s) provedor(es) de Identidade.
Pré-requisitos
a. Instalação do Oracle Banking Digital Experience
b. Provedor de identidades com suporte a SAML2
Tarefa 1: Configurar Realm de Segurança - mapeamento de credenciais
-
Faça log-in na console de administração do WebLogic e vá para o caminho abaixo: Home, Resumo de Servidores, Resumo de Realms de Segurança, myrealm.
-
Clique na opção Fornecedores.
-
Crie um novo provedor de Autenticação.
-
Execute configurações conforme mostrado na captura de tela abaixo.
-
Provedores de Ordem, conforme mostrado na imagem a seguir.
-
Reinicie o Servidor Admin.
Tarefa 2: Configurar o Oracle Banking Digital Experience
-
Vá para o caminho abaixo na seção Servidor Gerenciado: Home, Resumo de Servidores, Servidor Gerenciado, Serviços de Federação, SAML 2.0 Geral.
-
Informe os detalhes da configuração específica do Site conforme abaixo.
URL do Site Publicado: http://<<HOST>>:<<PORT>>/saml2
-
Depois de salvar e ativar as alterações, reinicie o servidor Gerenciado.
-
Publique os metadados e salve no arquivo XML. Este arquivo de metadados deve ser fornecido ao Ping ou a qualquer outro IdP.
-
Vá para o seguinte caminho na seção Servidor Gerenciado: Home, Resumo de Servidores, Servidor Gerenciado, Serviços de Federação, Provedor de Serviços SAML 2.0.
-
Informe os detalhes da configuração específica do Site conforme abaixo.
URL Padrão: http://<<HOST>>:<<PORT>>/digx/protected/dashboard.jsp
Tarefa 3: Configurar Provedor de Identidades (IdP) - WebLogic
-
Compartilhe os detalhes a seguir para a configuração IdP e a geração de metadados IdP.
-
URL de Sign-on Único: http://<<HOST>>:<<PORT>>/saml2/sp/acs/post
-
URL do Destinatário: http://<<HOST>>:<<PORT>>/saml2/sp/acs/post
-
Destino no URL: http://<<HOST>>:<<PORT>>/saml2/sp/acs/post
-
URI do Público (ID da Entidade do Ponto de Serviço): Deve ser igual ao ID da Entidade configurado nas configurações Gerais do SAML 2.0, ou seja, PING_obdx_ID.
-
-
Após a conclusão das configurações acima em IdP (Resposta SAML), gere metadados IdP e salve no arquivo XML.
Tarefa 4: Configurar Realm de Segurança - Provedor IdP
-
Copie o arquivo XML de metadados IdP na Pasta de Domínio do Servidor Gerenciado.
-
Vá para o seguinte caminho: Home, Summary of Security Realms, myrealm, Providers, SAML2_IA.
-
Na seção Gerenciamento, execute as configurações abaixo para criar o Parceiro do Provedor de Identidades.
-
Selecione xml de metadados IdP copiado no caminho de Domínio do servidor gerenciado.
-
Salve os detalhes.
-
Em Parceiro do Provedor de Identidades, conclua a configuração a seguir.
-
Reinicie os Servidores Administrativos e Gerenciados.
Tarefa 5: Configurar o Oracle Banking Digital Experience
Para obdx.app.rest.idm com.ofss.digx.appx.service.rest.war, configure os detalhes a seguir.
-
/protected/dashboard.jsp
: Atualizar alterações de cookie do 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\>
-
/WEB-INF/web.xml
: Em alterações de atribuição de restrição de segurança.\<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\>
-
/WEB-INF/weblogic.xml
: Configurações de Cookie e Atribuição.\<?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\>
-
Configure as definições a seguir em
obdx.conf
.-
No conjunto de Cabeçalhos X-Frame-Options "ALLOW-FROM", adicione a URL de domínio IdP como abaixo.
**Header set X-Frame-Options \"ALLOW-FROM \<IdP URL\>"
-
<Local /saml2>
SetHandler weblogic-handler
WebLogicCluster <<HOST do Servidor Gerenciado>>:<<<PORT do Servidor Gerenciado>>
</Local>
-
Tarefa 6: Depurar SAML2
No caso de qualquer problema com o processamento de solicitação SAML2, ative os logs a seguir no Servidor Gerenciado.
-
Vá para Servidor Gerenciado, DebugWeblogic*, Segurança e ative os logs a seguir.
-
caixa eletrônico
-
atz
-
saml
-
saml2
-
Detalhes de erro/exceção serão registrados nos logs do servidor gerenciado. Você poderá desativar esses logs se não for necessário.
Observação: para configurar vários Parceiros do Provedor de Identidades, repita as etapas mencionadas na seção 5. Crie mais uma cópia de
dashboard.jsp
com outro nome configurado na seção URIs de Redirecionamento.
Links Relacionados
Confirmações
- Autor: Prashant Bansal (Consultor Principal Sênior, DigX Consultoria)
Mais Recursos de Aprendizagem
Explore outros laboratórios no site docs.oracle.com/learn ou acesse mais conteúdo de aprendizado gratuito no canal YouTube do Oracle Learning. Além disso, visite education.oracle.com/learning-explorer para se tornar um Oracle Learning Explorer.
Para obter a documentação do produto, visite o Oracle Help Center.
Integrate Oracle Banking Digital Experience with Ping for Single Sign-On
F81979-01
May 2023
Copyright © 2023, Oracle and/or its affiliates.