测试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. In the Applications page, click Add.
  3. In the Add Application dialog box, click Confidential Application.
  4. In the Name and Description fields of the Details pane, enter SDK Web Application, and then click Next.
  5. 客户机 窗格中,选择立即将此应用程序配置为客户机,然后填充此窗格的字段,如下所示:
    字段
    允许的授权类型 选择客户机身份证明授权代码
    允许非 Https URLs 选中此复选框。应用程序在非 Https 模式下工作。
    重定向 URL http://localhost:8080/callback
    发布注销重定向 URL http://localhost:8080
  6. 客户端 窗格中向下滚动,选择向下授予对Identity Cloud Service管理员APIs的客户端访问权限。在下面的字段中输入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文件替换为下载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参数值,请使用Oracle Identity Cloud Service在注册Java Web 应用程序时生成的客户端 ID 和客户端密钥。

运行Java应用程序

准备、运行和测试样本Java Web 应用程序。

  1. 启动NetBeans。
  2. 依次单击文件打开项目
  3. 选择C:\temp\java文件夹,然后单击打开项目
  4. 右键单击项目的名称,然后单击构建
  5. 右键单击项目的名称,然后单击运行
    该应用程序使用NetBeans的默认端口(8080)。请确保NetBeans应用程序已配置为使用此相同端口。
  6. 在您看到新的浏览器窗口使用http://localhost:8080 URL 打开后,单击登录
  7. In the Login page, click the red Oracle icon.
  8. In the Sign In page, sign in using your Oracle Identity Cloud Service credentials.
    登录到Oracle Identity Cloud Service后,将显示Java Web 应用程序的 页。登录用户的名称显示在页面右上角。
  9. 在左菜单中,单击我的概要文件
  10. 确保与您的概要文件关联的信息显示在页的中央。