注:

将 Oracle Banking Digital Experience 与 Ping 集成以实现一次登入

简介

SAML 2.0(安全断言标记语言)是一种开放标准,旨在提供跨域单点登录 (SSO)。换言之,它允许用户在系统中进行验证,并通过提供验证证明来访问另一个系统。Oracle Banking Digital Experience 支持 SAML2,以便与支持此技术的 IdP(身份提供者,例如 Oracle Identity Cloud Service )集成。Oracle Identity Cloud Service 使用云原生的身份即服务 (IDaaS) 平台,充当 Oracle Cloud 的前门以获得外部身份,从而管理各种云和内部部署应用程序与服务的用户访问及权利。

SAML 是基于 XML 的身份提供者(例如 Oracle Identity Cloud Service,Ping,Okta)-- 管理和存储用户身份证明的实体 -- 交换数字签名的 XML 文档(SAML 断言),允许最终用户访问服务提供商 (Oracle Banking Digital Experience)。有关更多信息,请参见 SAML and Single Sign-On (SSO)

使用 SAML 时,验证工作流可由服务提供者 (Service Provider,SP) 或身份提供者 (Identity Provider,IdP) 启动。如果用户登录到其组织仪表盘,则会发生 IdP 启动的验证。在这种情况下,IdP 会通过 Web 浏览器发送 SAML 断言以自动登录。

如果员工尝试登录该外部站点 (SP),并且该站点将他们重定向到其公司一次登入 (SSO) 登录页面以输入凭据并进行身份验证,则会发生 SP 启动的身份验证。验证后,该员工将被重定向回外部站点,其中包含证明其身份的 SAML 断言。

目标

此教程将帮助开发人员和实施合作伙伴执行这些步骤,以便将 Oracle Banking Digital Experience 与身份提供者集成。

先决条件

a.Oracle Banking Digital Experience 安装

b.支持 SAML2 的身份提供者

任务 1:配置安全领域 - 身份证明映射

  1. 登录到 WebLogic 管理控制台并转至以下路径:主页服务器概要安全领域概要myrealm

  2. 单击“Providers(提供程序)”选项。

  3. 创建新验证提供程序。

  4. 按以下屏幕截图中所示执行配置。

    创建新验证提供程序

  5. 订单提供商,如下图中所示。

    订单验证提供程序

  6. 重新启动管理服务器。

任务 2:配置 Oracle Banking Digital Experience

  1. 转到“托管服务器”部分中的以下路径:主页服务器概要托管服务器联盟服务SAML 2.0 一般信息

  2. 按如下所示输入特定于站点的配置详细信息。

    站点配置

    已发布的站点 URL :http://<<HOST>>:<<PORT>>/saml2

  3. 保存并激活更改后,重新启动托管服务器。

  4. 发布元数据并保存在 XML 文件中。此元数据文件将提供给 Ping 或任何其他 IdP。

    发布 SAML 2.0 元数据

  5. 转至“托管服务器”部分中的以下路径:主页服务器概要托管服务器联盟服务SAML 2.0 服务提供商

  6. 按如下所示输入特定于站点的配置详细信息。

    配置详细信息

    配置详细信息

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

任务 3:配置身份提供者 (IdP) - WebLogic

  1. 为 IdP 配置和生成 IdP 元数据共享以下详细信息。

    • 单点登录 URL :http://<<HOST>>:<<PORT>>/saml2/sp/acs/post

    • 接收者 URL :http://<<HOST>>:<<PORT>>/saml2/sp/acs/post

    • URL 上的目标:http://<<HOST>>:<<PORT>>/saml2/sp/acs/post

    • 目标读者 URI(SP 实体 ID):它应该与在 SAML 2.0 一般配置(即 PING_obdx_ID )中配置的实体 ID 相同。

  2. 在 IdP(SAML 响应器)中完成以上配置后,生成 IdP 元数据并保存在 XML 文件中。

任务 4:配置安全领域 - IdP 提供者

  1. 在托管服务器的域文件夹中复制 IdP 元数据 XML 文件。

  2. 转到以下路径: HomeSummary of Security RealmsmyrealmProvidersSAML2_IA

  3. 在“管理”部分下,执行以下配置以创建身份提供者合作伙伴。

    管理部分

  4. 选择在托管服务器域路径中复制的 IdP 元数据 xml。

    IdP 元数据

  5. 保存详细信息。

  6. 在身份提供者合作伙伴下,完成以下配置。

    IdP 配置

  7. 重新启动管理和受管服务器。

任务 5:配置 Oracle Banking Digital Experience

对于 obdx.app.rest.idm com.ofss.digx.appx.service.rest.war ,配置以下详细信息。

  1. /protected/dashboard.jsp:更新 JSESSIONID 浏览器 cookie 更改。

    \<!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:在安全约束角色更改中。

    \<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:Cookie 和角色配置。

    \<?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. obdx.conf 中配置以下设置。

    1. 在标头集 X-Frame-Options "ALLOW-FROM" 中,添加 IdP 域 URL,如下所示。

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

    2. < 地点 /saml2>

      SetHandler weblogic-handler

      WebLogicCluster << 托管服务器主机 >>:<< 托管服务器端口 >>

      </位置 >

任务 6:调试 SAML2

如果 SAML2 请求处理出现任何问题,请在托管服务器中启用以下日志。

  1. 转到 Managed ServerDebugWeblogic *、 Security 并启用以下日志。

    • atn

    • 滋扰

    • 骆驼

    • saml2

错误/异常错误详细信息将获取登录的托管服务器日志。如果不需要,可以禁用这些日志。

:要配置多个身份提供者合作伙伴,请重复第 5 部分中提到的步骤。使用在重定向 URI 部分中配置的不同名称创建 dashboard.jsp 的另一个副本。

确认

更多学习资源

探索 docs.oracle.com/learn 上的其他实验室,或者访问 Oracle Learning YouTube 频道上的更多免费学习内容。此外,请访问 education.oracle.com/learning-explorer 成为 Oracle Learning Explorer。

有关产品文档,请访问 Oracle 帮助中心