测试 Java 应用程序

在解决方案的本节中,您将:

  • 注册示例 Java Web 应用程序并将其与 Oracle Identity Cloud Service 集成以进行验证

  • 将应用程序设置为使用 Oracle Identity Cloud Service 的 SDK 进行 Java 编程语言

  • 准备、运行和测试应用程序

注册 Java 应用程序

要与 Oracle Identity Cloud Service 建立通信,示例 Java Web 应用程序需要客户端 ID 和密钥。您还需要配置 API 权限以授予应用程序。

  1. 在 Oracle Identity Cloud Service 控制台中,展开导航抽屉,然后单击应用程序。
  2. 在应用程序页中,单击添加。
  3. 在添加应用程序对话框中,单击机密应用程序。
  4. 在“详细信息”窗格的“名称”和“说明”字段中,输入 SDK Web Application,然后单击“下一步”。
  5. 在客户端窗格中,选择立即将此应用程序配置为客户端,然后填充此窗格的字段,如下所示:
    域 值
    允许的授权类型 选择客户端身份证明和授权代码。
    允许非 HTTPS URL 选中此复选框。应用程序在非 HTTPS 模式下工作。
    重定向 URL http://localhost:8080/callback
    注销后重定向 URL http://localhost:8080
  6. 在客户端窗格中,向下滚动,选择授予客户端访问 Identity Cloud Service 管理 API 的权限,在下面的字段中输入 Authenticator Client 和 Me,然后单击下一步。
  7. 在以下窗格上,单击下一步,直到到达最后一个窗格。然后,单击完成。
  8. 在添加的应用程序对话框中,记下“客户端 ID”和“客户端密钥”值(因为您的 Java Web 应用程序需要这些值才能与 Oracle Identity Cloud Service 集成),然后单击关闭。
  9. 由于要将此应用程序与 Oracle Identity Cloud Service 集成,请单击激活。
  10. 在激活应用程序?对话框中,单击激活应用程序。
  11. 在 Oracle Identity Cloud Service 控制台中,单击控制台右上角的用户名,然后单击注销。

设置 Java 应用程序

更新示例 Java 应用程序的代码,使其将 Oracle Identity Cloud Service 的 SDK 用于 Java 编程语言。

  1. 打开 c:\temp\java\pom.xml 文件。
  2. 找到以下代码行:
    <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/idcs-assert.jar</systemPath>
  3. 将 idcs-assert.jar 文件替换为您在“Download the Java SDK(下载 Java SDK)”部分中记录的文件的名称。
  4. 保存对 pom.xml 文件的更改,然后关闭文件。
  5. 编辑 c:\temp\java\src\main\java\sampleapp\util\ConnectionOptions.java 文件,使用以下内容更新 getOptions 方法,然后保存该文件。
     public Map<String,Object> getOptions(){
            //Adding Oracle Identity Cloud Service connection parameters to the HashMap instance.
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_HOST, "identity.oraclecloud.com");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_PORT, "443");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_CLIENT_ID, "123456789abcdefghij");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_CLIENT_SECRET, "abcde-12345-zyxvu-98765-qwerty");
            this.options.put(IDCSTokenAssertionConfiguration.IDCS_CLIENT_TENANT, "idcs-abcd1234");
            this.options.put(Constants.AUDIENCE_SERVICE_URL, "https://idcs-abcd1234.identity.oraclecloud.com:443");
            this.options.put(Constants.TOKEN_ISSUER, "https://identity.oraclecloud.com/");
            this.options.put(Constants.TOKEN_CLAIM_SCOPE, "urn:opc:idm:t.user.me openid");
            this.options.put("SSLEnabled", "true");
            this.options.put("redirectURL", "http://localhost:8080/callback");
            this.options.put("logoutSufix", "/oauth2/v1/userlogout");
            this.options.put(Constants.LOG_LEVEL, "DEBUG");
            this.options.put(Constants.CONSOLE_LOG, "True");
    	return this.options;
    }
    您可以从此解决方案的“了解方法和函数”主题中获取 IDCS_HOST、IDCS_PORT 和 IDCS_CLIENT_TENANT 参数的值。对于 IDCS_CLIENT_ID 和 IDCS_CLIENT_SECRET 参数值,请使用注册 Java Web 应用程序时 Oracle Identity Cloud Service 生成的客户端 ID 和客户端密钥。

运行 Java 应用程序

准备、运行和测试示例 Java Web 应用程序。

  1. 启动 NetBeans。
  2. 单击文件,然后单击打开项目。
  3. 选择 C:\temp\java 文件夹,然后单击打开项目。
  4. 右键单击项目的名称,然后单击构建。
  5. 右键单击项目的名称,然后单击运行。
    应用程序使用 NetBeans 的默认端口 ( 8080 )。确保您的 NetBeans 应用程序配置为使用相同的端口。
  6. 看到使用 http://localhost:8080 URL 打开的新浏览器窗口后,单击登录。
  7. 在登录页中,单击红色 Oracle 图标。
  8. 在登录页中,使用 Oracle Identity Cloud Service 身份证明登录。
    登录到 Oracle Identity Cloud Service 后,将显示 Java Web 应用程序的主页。登录用户的名称将显示在页面的右上角。
  9. 在左侧菜单中,单击我的概要信息。
  10. 验证与概要关联的信息是否显示在页面的中心。