密钥提供了一种现代、安全的方式来验证用户身份,而无需依赖传统密码。在本指南中,我们将引导您使用 Thymeleaf 作为模板引擎将密钥集成到 Java Spring Boot 应用程序中。
我们将利用 Corbado 的密钥优先 UI 组件连接到后端,从而简化实现过程。本教程假设您对 HTML 和 Java Spring Boot 有基本的了解,并且您已经安装了 Corbado Java SDK。
查看完整原创教程
在开始之前,请确保您的项目设置包含 Corbado Java SDK。在本教程中,我们将使用版本 0.0.1 作为示例。将以下依赖项添加到您的 pom.xml 文件中:
或者,如果您使用 Gradle,请添加:
首先,通过开发者面板注册 Corbado 帐户。在设置过程中,您将通过选择“Corbado Complete”并为您的环境选择“Web 应用程序”来配置您的项目。请务必提供应用程序 URL 和依赖方 ID,通常分别设置为 http://localhost:8080 和 localhost。这些设置对于将密钥绑定到正确的域至关重要。
接下来,从 Corbado 开发人员面板生成 API 密钥。这对于后端通信是必要的,包括用户数据检索。
克隆 Spring Boot 入门存储库:
在此项目中,将 HelloController.java 重命名为 FrontendController.java。该控制器将根据用户请求提供 HTML 文件。在您的 application.properties 文件中,将 projectID 和 apiSecret 存储为环境变量(两者都可以从 Corbado 开发人员面板获取)。
在 /complete/src/main/resources/templates 目录中创建一个 index.html 文件。该文件将用作登录页面,嵌入 Corbado 密码优先 UI 组件。这是基本结构:
在 FrontendController.java 中,定义端点来处理登录和个人资料页面的请求。 index() 方法应呈现登录页面,而 profile() 方法将验证用户会话并显示用户个人资料。
身份验证成功后,Corbado UI 组件将重定向用户。此页面显示有关用户的信息并提供注销按钮。在 templates 文件夹中,添加文件 profile.html,其中包含以下内容:
接下来,在 FrontendController.java 中创建一个带有注释的 profile() 方法:
在我们可以使用会话中嵌入的信息之前,我们需要验证会话是否有效。因此,我们获取 cbo_short_session cookie(会话)并使用 Corbado Java SDK 中的会话服务验证其签名。这可以通过以下方式完成:
它采用 cbo_short_session cookie,对其进行验证并返回用户 ID 和用户全名。
配置文件映射的最终代码如下所示:
要启动 Spring Boot 应用程序,请导航到 /complete 目录并运行:
在浏览器中访问 http://localhost:8080 以查看正在运行的登录页面。
本指南演示了如何使用 Corbado 将密钥集成到 Java Spring Boot 应用程序中。通过以下步骤,您可以高效、安全地实现无密码身份验证。有关会话管理以及将 Corbado 集成到现有应用程序中的更多详细文档,请参阅官方 Corbado 文档。
以上是如何将密钥集成到 Java Spring Boot 中的详细内容。更多信息请关注PHP中文网其他相关文章!