使用 Oracle Identity Cloud Service 验证 Java 应用程序 测试 Java 应用程序 测试 Java 应用程序 在解决方案的本节中,您将: 注册示例 Java Web 应用程序并将其与 Oracle Identity Cloud Service 集成以进行验证 将应用程序设置为使用 Oracle Identity Cloud Service 的 SDK 进行 Java 编程语言 准备、运行和测试应用程序 注册 Java 应用程序 要与 Oracle Identity Cloud Service 建立通信,示例 Java Web 应用程序需要客户端 ID 和密钥。您还需要配置 API 权限以授予应用程序。 在 Oracle Identity Cloud Service 控制台中,展开导航抽屉,然后单击应用程序。 在应用程序页中,单击添加。 在添加应用程序对话框中,单击机密应用程序。 在“详细信息”窗格的“名称”和“说明”字段中,输入 SDK Web Application,然后单击“下一步”。 在客户端窗格中,选择立即将此应用程序配置为客户端,然后填充此窗格的字段,如下所示: 域 值 允许的授权类型 选择客户端身份证明和授权代码。 允许非 HTTPS URL 选中此复选框。应用程序在非 HTTPS 模式下工作。 重定向 URL http://localhost:8080/callback 注销后重定向 URL http://localhost:8080 在客户端窗格中,向下滚动,选择授予客户端访问 Identity Cloud Service 管理 API 的权限,在下面的字段中输入 Authenticator Client 和 Me,然后单击下一步。 在以下窗格上,单击下一步,直到到达最后一个窗格。然后,单击完成。 在添加的应用程序对话框中,记下“客户端 ID”和“客户端密钥”值(因为您的 Java Web 应用程序需要这些值才能与 Oracle Identity Cloud Service 集成),然后单击关闭。 由于要将此应用程序与 Oracle Identity Cloud Service 集成,请单击激活。 在激活应用程序?对话框中,单击激活应用程序。 在 Oracle Identity Cloud Service 控制台中,单击控制台右上角的用户名,然后单击注销。 设置 Java 应用程序 更新示例 Java 应用程序的代码,使其将 Oracle Identity Cloud Service 的 SDK 用于 Java 编程语言。 打开 c:\temp\java\pom.xml 文件。 找到以下代码行:<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/idcs-assert.jar</systemPath> 将 idcs-assert.jar 文件替换为您在“Download the Java SDK(下载 Java SDK)”部分中记录的文件的名称。 保存对 pom.xml 文件的更改,然后关闭文件。 编辑 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 应用程序。 启动 NetBeans。 单击文件,然后单击打开项目。 选择 C:\temp\java 文件夹,然后单击打开项目。 右键单击项目的名称,然后单击构建。 右键单击项目的名称,然后单击运行。应用程序使用 NetBeans 的默认端口 ( 8080 )。确保您的 NetBeans 应用程序配置为使用相同的端口。 看到使用 http://localhost:8080 URL 打开的新浏览器窗口后,单击登录。 在登录页中,单击红色 Oracle 图标。 在登录页中,使用 Oracle Identity Cloud Service 身份证明登录。登录到 Oracle Identity Cloud Service 后,将显示 Java Web 应用程序的主页。登录用户的名称将显示在页面的右上角。 在左侧菜单中,单击我的概要信息。 验证与概要关联的信息是否显示在页面的中心。