配置和部署 E-Business Suite 断言程序

在 OCI IAM 中注册 E-Business Suite 断言程序后,必须配置和部署 E-Business Suite 断言程序,该断言程序将充当 IAM 发布的身份令牌与 Oracle E-Business Suite 中创建的用户会话之间的接口。

为 E-Business Suite 断言程序创建 Wallet

为了安全起见,E-Business Suite Asserter 组件使用 wallet 将客户端 ID、客户端密钥和 OCI IAM URL 注册为参数。

  1. 登录到 E-Business Suite Asserter 应用程序服务器计算机,然后导航到 /opt/ebssdk 文件夹。
    确保用户具有足够的权限来执行以下操作。
  2. 导航到 /opt/ebssdk 文件夹并验证 idcs-wallet-<version>.jar 是否存在
  3. 运行命令 java -jar idcs-wallet-<version>.jar,然后在出现提示时提供以下值:
    • Enter Client ID: 输入在 Oracle Identity Cloud Service 中注册和激活 E-Business Suite 断言程序时生成的客户端 ID。
    • Enter Client Secret: 输入客户端 ID 的客户端密钥。
    • Enter IDCS base URL: 输入 OCI IAM 身份域 URL。可以从 OCI 控制台上的“域概述”部分检索该字段。例如:https://MYTENANT.identity.oraclecloud.com
    命令行在提供的路径中创建名为 cwallet.sso 的 wallet 文件。
记下 cwallet.sso 文件的路径。

更新 E-Business Suite Asserter 配置文件

注册 OCI IAM E-Business Suite 断言程序 (EBS Asserter) 后,您可以在验证期间配置断言程序配置文件以与 OCI IAM 连接。

从 OCI IAM E-Business Suite Asserter 版本 19.1.4-1.4.0 开始,断言程序包含一个名为 bridge.properties 的属性文件。此文件位于 ebs.war 文件中。在将 bridge.properties 文件部署到 WebLogic 服务器之前,需要更新该文件中的信息,然后重新生成 ebs.war 文件。

注意:

对于 19.1.4-1.4.0 发行版之前的 E-Business Suite Asserter 版本,war 文件中不能包含 bridge.properties 文件。您需要在 E-Business Suite Asserter 的 WebLogic 服务器的文件夹中创建此文件,按步骤 3 更新其内容,保存该文件,然后设置环境变量,如下例所示:export ebs_property_file="/opt/ebssdk/bridge.properties"
  1. 在下载 E-Business Suite Asserter zip 文件的服务器中,导航到解压缩 ebs.war 文件的位置。
  2. 使用 zip 实用程序,解压缩 ebs.war 文件,找到 bridge.properties 文件,然后打开文件进行编辑。
  3. 通过从每行的开头删除 # 来取消注释以下属性,并按如下方式更新其值:
    
    ###########################################################
    ## SSO Bridge for E-Business Suite
    ###########################################################
    # Properties File
    app.url=https://ebsasserter.example.com:7002/ebs
    app.serverid=APPL_SERVER_ID_value
    ebs.url.homepage=https://ebs.example.com:8001/OA_HTML/OA.jsp?OAFunc=OANEWHOMEPAGE
    ebs.ds.name=visionDS
    ebs.user.identifier=username
    idcs.iss.url=https://identity.oraclecloud.com
    idcs.aud.url=https://idcs-example.identity.oraclecloud.com
    #post.logout.url=https://ebs.example.com:8001/OA_HTML/OA.jsp?OAFunc=OANEWHOMEPAGE
    wallet.path=[FULL_PATH_OF_THE_WALLET_FILE]
    whitelist.urls=https://ebs.example.com:8001/OA_HTML/RF.jsp,https://ebs.example.com:8001/OA_HTML/OA.jsp,https://ebs.example.com:8001/OA_HTML/BneApplicationService,https://ebs.example.com:8001/OA_HTML/jsp/fnd/close.jsp
    ebs.renew.session=true
    proxy.mode=true
    proxy.home.url=https://ebs.example.com:8001/OA_HTML/RF.jsp?function_id=1031198&resp_id=-1&resp_appl_id=0&security_group_id=0&lang_code=US
    #istore.pages=ibeCZzdMinisites.jsp,ibeCAcpSSOLoginR.jsp
    #idcs.user.identifier=email/username
    ###########################################################
    

    下表提供了每个 EBS 断言程序版本支持的每个 bridge.properties 参数和可选参数的说明。

    参数 说明 EBS 断言程序版本
    app.url E-Business Suite Asserter 应用程序的 URL 和端口号。 19.1.4 及更高版本
    app.serverid 对应于注册 E-Business Suite Asserter 时生成的 .dbc 文件中的 APPL_SERVER_ID 值。 19.1.4 及更高版本
    ebs.url.homepage Oracle E-Business Suite 主页的 URL 地址。 19.1.4 及更高版本
    ebs.ds.name 要在部署了 E-Business Suite 断言程序的 Oracle WebLogic Server 中创建的数据源名称。 19.1.4 及更高版本
    ebs.user.identifier 用于匹配 OCI IAM 用户名的 Oracle E-Business Suite 字段。允许的值为用户名(表示 FND_USERS.USER_NAME 列)或电子邮件(表示 FND_USERS.EMAIL_ADDRESS 列)。确保此处选择的属性在 FND_USERS 中具有唯一值,否则登录将失败。 19.1.4 及更高版本
    idcs.iss.url OCI IAM 颁发者 URL。可以在 OCI IAM 搜索文档端点中找到此值。默认值为 https://identity.oraclecloud.com。此值必须与 OCI IAM OAuth 设置中设置的发布者值匹配。 19.1.4 及更高版本
    post.logout.url 这是可选参数。取消注释此参数,以便 E-Business Asserter 在用户从单点登录注销后重定向到此 URL。此值必须与 OCI IAM 中注销后重定向 URL 参数的值匹配。 19.1.4 及更高版本
    wallet.path wallet 文件的完整路径,包括文件名。 19.1.4 及更高版本
    whitelist.urls 列出 E-Business Suite Asserter 可以接受为 requestUrl 参数值的 URL。如果 requestUrl 值与 whitelist.urls 值之一不匹配,则 SSO Using the E-Business Suite Asserter Direct URL with a Redirect Parameter 的测试方案将失败。 19.1.4 及更高版本
    ebs.renew.session 这是可选参数。使用此参数可以控制 E-Business Suite Asserter 在 Oracle E-Business Suite cookie 过期时如何管理 Oracle E-Business Suite 会话。如果将此参数添加到 bridge.properties 文件并将值设置为 true,则断言程序在达到配置的限制(ICX:会话超时)后刷新 Oracle E-Business Suite Forms 会话。如果该参数设置为 false,则在达到配置的限制后,表单会话将失效,无法关闭所有活动的表单,但浏览器中的 Oracle E-Business Suite 会话将处于活动状态,允许用户重新打开新的表单会话。 19.2.1 及更高版本
    proxy.mode 这是可选参数。将此参数添加到 bridge.properties 文件,并将值设置为 true 以启用 Oracle E-Business Suite 代理用户功能。尝试以代理用户身份登录的用户将重定向到您在 proxy.home.url 参数中提供的 URL。 19.3.3-1.7.0 之后
    proxy.home.url 如果为 proxy.mode=true,则此属性是必需的。用户登录到 OCI IAM 后,EBS 断言程序会将代理用户重定向到此 URL。通常,此 URL 是 Oracle E-Business Suite 的切换用户页。例如:https://ebs.example.com:8001/OA_HTML/RF.jsp?function_id=1031198&resp_id=-1&resp_appl_id=0&security_group_id=0&lang_code=US 19.3.3-1.7.0 之后
    istore.pages 列出 E-Business Suite Asserter 将接受的 iStore 页的逗号分隔值。如果 requestUrl 与其中一个 istore.pages 值匹配,则用户在登录后将重定向到请求的 iStore 页。将 iStore 页添加到 istore.pages 的现有列表中。 19.3.3-1912170009 以后
    idcs.user.identifier

    这是可选参数。用于与 ebs.user.identifier 匹配的 OCI IAM 用户属性。允许的值包括用户名(在 OCI IAM 中表示用户名属性)、电子邮件(在 OCI IAM 中表示电子邮件属性)、自定义属性名称(在 OCI IAM e.g 中表示用户的自定义属性:employee_no)。如果 bridge.properties 中未提供该值,则该值将默认为 ebs.user.identifier 的值。确保 OCI IAM 中的 idcs.user.identifier 属性与 FND_USERS 中的 ebs.user.attribute 属性之间存在一对一映射,否则登录将失败。

    注意:

    确保将 idcs.user.identifier 中使用的定制属性添加到 OCI IAM 中的用户方案。EBS Asserter 版本 20.1.3 之后提供了自定义属性功能。
    19.3.3-1912170009 以后

    base.lang

    OCI IAM EBS 断言程序支持 EBS 中提供的用户语言配置。如果为 EBS 中的用户启用了 FND_OVERRIDE_SSO_LANG 配置文件选项,则 Asserter 将根据此用户的 ICX_LANGUAGE 配置文件选项的值创建 EBS 会话。如果 EBS 中的用户没有语言配置,并且需要在应用程序的所有用户中覆盖浏览器语言,则可以在 bridge.properties 文件中设置 base.lang 属性。例如,如果 base.lang 设置为 US,并且用户在 EBS 中不具有任何特定于语言的配置,则不管用户尝试使用 Asserter 登录到 EBS 的浏览器(使用本地语言),都会使用美国英语创建 EBS 会话。注:如果为 EBS 启用了多种语言,base.lang 配置是相关的。如果 EBS 中只启用一种语言,则断言程序将使用安装的基本语言创建 EBS 会话,即使没有 base.lang 配置也是如此。

    OCI IAM 发行版版本

  4. 重新生成 ebs.war 文件并确保它包含 bridge.properties 文件的更新版本。ebs.war 文件的结构如下所示:
    META-INF/
       MANIFEST.MF
    WEB-INF/
       classes/
       lib/
       bridge.properties
       web.xml
       weblogic.xml

定义数据源

在部署了 E-Business Suite Asserter 的 Oracle WebLogic Server 中,必须通过将数据源添加到 WebLogic 域中来配置数据库连接。WebLogic Java 数据库连接 (JDBC) 数据源提供数据库访问和数据库连接管理。

  1. 在 Web 浏览器中输入以下 URL,将 host:port 替换为 WebLogic 管理控制台的主机名和端口:
    http://wls_host:wls_port/console

    例如,https://ebsasserter.example.com:7002/console

  2. 以管理员身份登录到 WebLogic 控制台。
  3. 域结构下的管理控制台中,展开服务,然后单击数据源
  4. 数据源表标题下,单击新建下拉列表,然后选择一般数据源
  5. JDBC 数据源属性部分中,指定以下值,然后单击下一步
    • 名称visionDS
    • JNDI 名称visionDS
    • 数据库类型oracle
    Name 参数的值必须与 E-Business Suite Asserter 配置文件中的 ebs.ds.name 参数匹配。
  6. 选择一个数据库驱动程序,然后单击 Next(下一步)
    • 如果要使用 XA 数据源,请选择 *Oracle's Driver (Thin XA) for Instance connections; Versions:any
    • 如果使用的是非 XA 数据源,请选择 *Oracle's Driver (Thin) for Instance connections; Versions:Any
  7. 事务处理选项部分中,执行以下操作之一,然后单击下一步
    • 对于非 XA 数据源,取消选中支持全局事务处理复选框。
    • 对于 XA 数据源,请保持选中此复选框。
  8. 连接属性部分中,指定以下适当的值,然后单击下一步
    • 数据库名称EBSDB
    • 主机名ebs.example.com
    • 端口1521
    • 数据库用户名:输入先前创建的用户名。
    • 口令:输入该用户名的口令。
  9. 驱动程序类名字段中,输入以下项之一:
    • oracle.apps.fnd.ext.jdbc.datasource.AppsDataSource(如果使用非 XA 数据源)。
    • oracle.apps.fnd.ext.jdbc.datasource.AppsXADataSource(如果使用的是 XA 数据源)。
    (可选)您可以改用 oracle.jdbc.OracleDriver 驱动程序,但在此值期间需要提供管理数据库凭证。如果不希望向 WebLogic 管理员公开管理数据库身份证明,请在此任务中使用为驱动程序类名提供的两个值之一。
  10. 属性文本框中,保留 user 的当前值,添加新行,并按以下示例输入 dbc 文件的路径:
    user=IDENTITYADMIN
    dbcFile=/opt/ebssdk/EBSDB_ebsasserter.example.com.dbc

    注意:

    此字段区分大小写。请确保使用正确的大写和小写字母正确写入文件名。IDENTITYADMIN 是您为 EBS 和 OCI IAM 创建的应用程序用户。在本文档中,用户名是 ebsuser
  11. 查看数据源属性值,确认数据库正在运行,然后单击测试配置

    注意:

    确保您的网络不会阻止 E-Business Suite Asserter 的 WebLogic 服务器计算机与 Oracle E-Business Suite 数据库之间通过您在数据源中提供的端口号进行通信。
  12. 当看到连接测试成功消息时,单击下一步
  13. 选择目标部分中,选择目标服务器(例如 EBSAsserter_server ),然后单击完成
  14. 更改中心,单击激活更改按钮。

在 WebLogic 控制台中配置主机名验证

可以在 Oracle WebLogic Server 管理控制台中配置主机名验证。

  1. 通过在 Web 浏览器中输入以下 URL 启动 Oracle WebLogic Server 管理控制台:http://wls_host:wls_port/console。例如,https://ebsasserter.example.com:7002/console
  2. 以管理员身份登录到 WebLogic 控制台。在左侧面板中,单击锁定并编辑,展开环境,然后选择服务器
  3. 单击要在其中部署 EBS 断言程序的目标服务器的名称。在此示例中,AdminServer。
  4. 单击 SSL 选项卡。向下滚动并展开高级部分。
  5. 使用值 None 更新 Hostname Verification 参数,然后单击 Save
  6. 单击激活更改
  7. 重新启动 Weblogic Server。

在 Oracle WebLogic Server 上部署 E-Business Suite Asserter

必须将 E-Business Suite Asserter 部署到 Oracle WebLogic Server 的管理服务器实例,才能执行集成的端到端测试。

  1. 将 E-Business Suite Asserter war 文件 (ebs.war) 复制到 Oracle WebLogic Server /opt/ebssdk 中的工作文件夹。
  2. 在 Web 浏览器中输入以下 URL,将 host:port 替换为 Oracle WebLogic Server 管理控制台的主机名和端口:
    http://wls_host:wls_port/console

    例如,https://ebsasserter.example.com:7002/console

  3. 以管理员身份登录到 WebLogic 控制台。
  4. 更改中心中单击锁定并编辑按钮。
  5. 在“域结构”下,单击部署
  6. 在右侧的部署下,单击安装按钮。
  7. 输入 E-Business Suite Asserter war 文件的路径为 /opt/ebssdk
  8. 选择 ebs.war 文件,然后单击下一步
  9. 选择将此部署安装为应用程序,然后单击下一步
  10. 选择目标服务器(例如 EBSAsserter_server ),然后单击下一步
  11. 接受默认值,然后单击完成
  12. 单击激活更改