测试 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 ClientMe,然后单击下一步
  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_HOSTIDCS_PORTIDCS_CLIENT_TENANT 参数的值。对于 IDCS_CLIENT_IDIDCS_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. 验证与概要关联的信息是否显示在页面的中心。