JMS 代表 Java 消息服务,它是 Java 中访问消息中间件服务器的标准。消息传递是在各种应用程序或服务之间交换业务数据的过程。这是一个完整的 JMS 2.0 教程, 其中包含大量代码示例。完整的代码示例可在 GitHub 上找到,请下载并运行示例。本教程使用 Glassfish 开源服务器作为 JMS 提供程序的示例。
More »将 Maven 站点发布到 GitHub Pages
本文源代码:https://github.com/chensoul/maven-site-github-example/ 。
创建 Java Maven 项目
让我们使用 Maven 创建一个简单的 Java 项目
More »All things about OAuth
OAuth 是一种开放协议,允许通过网络、移动和桌面应用程序以简单、标准的方式进行安全授权。
OAuth 2 入门
以下是一些 OAuth 2.0 指南,涵盖了理解和实现客户端和服务器所需的许多主题。
More »JWT
什么是 JWT?
JWT(JSON Web Token)是一种开放标准(RFC 7519),用于在网络应用程序之间安全地传输信息。它被设计用于在两方之间传输声明,这些声明可以是身份验证和授权信息,也可以是任何其他类型的信息。
设计目的:不需要服务器端存储状态,安全地传递非敏感信息。
JWT 特点
- 可扩展性:可以在 payload 中携带任意的 JSON 数据
- 自包含性:所有用户相关信息都在 JWT 中,不需要依赖数据库
- 无状态性:服务器不需要保存会话状态,提高了系统的可扩展性
- 跨域支持:可以跨域传递,因为是 JSON 格式
- 安全性:通过签名确保数据不被篡改
JWT 组成
eyJraWQiOiJmYTNkZmZjMS0xZmQ3LTRhM2QtYTEyMC1mNjY4OWE4NDM5YjQiLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiJjbGllbnQiLCJhdWQiOiJjbGllbnQiLCJuYmYiOjE3MTc1NDk5NDMsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MCIsImV4cCI6MTcxNzU1MDI0MywiaWF0IjoxNzE3NTQ5OTQzLCJqdGkiOiJiMjU0ZGVhMi1kMWE2LTQxNzEtYjEyYy1lNmYzYzZjMDJkMGQifQ.eRiS0H2E-h5PiDEfJikjoPGH1DCqWVt4VIzLtPoSOaIK6jBIaw0h5m-reZVUyZPNYZG68Ymhey17aZBMveirqCxN-lNcPMIGfuqMptfsD9E6Hfam6bEMgpEAOQsQ6Ruk3vGtdmjnEC2h9ZStoqT5-C6JgArwFLGgX92LXrRYz7-60n0I6EAB07u9kxc6FQKLow90RiyXi2YLur-ttOUQpecf8zHi48zRc-HLLoWAMaNddT-4hg4v0Qts4DultpxZB_Xu7DRc91G_8M6sYFSvFSVFHlcWFgKNLZqUYwepLHX2LxoXdbTLGqV9x__-J8UO0TO3TkpC2BaZAiseYcpYMw
JWT 主要有以下三个部分通过 base64 加密组成:
More »OAuth2和OIDC区别
认证和授权
认证 (Authentication):
- 认证是验证用户、设备或系统身份的过程。
- 常见的认证方式包括用户名/密码、生物特征(如指纹、人脸)、单点登录(SSO)等。
- 认证确保只有被授权的实体才能访问系统或资源。
授权 (Authorization):
More »[译]OAuth2.0服务器
背景
前言
我第一次接触 OAuth 是在 2010 年,当时我正在构建一个 API,我知道我希望第三方开发人员能够在其基础上构建应用程序。当时,OAuth 看起来令人生畏。OAuth 1 的实现只有少数几个,而 OAuth 2.0 仍是一个草稿。一天晚上,我决定坐下来,拿着精酿啤酒和最新草案的纸质副本,从头到尾阅读它,直到我理解它。
More »[译]OAuth2简化版
这篇文章以简化的格式描述了 OAuth 2.0,以帮助开发人员和服务提供商实现该协议。
OAuth 2 规范读起来可能有点混乱,所以我写了这篇文章来帮助以简化的格式描述术语。核心规范将许多决策留给实现者,通常基于实现的安全权衡。这篇文章没有描述成功实施 OAuth 2 所需的所有可能决策,而是做出适用于大多数实现的决策。
More »RFC6749 | OAuth2.0授权框架中文版
前言
摘要
OAuth2.0 授权框架允许第三方应用获取对 HTTP 服务的有限的访问权限,既可以以资源所有者名义在资源所有者和 HTTP 服务之间进行允许的交互,也可以允许第三方应用以自己的名义进行访问。本规范取代并淘汰 RFC 5849 中描述的 OAuth 1.0 协议。
More »All things about WebSocket
All things about Spring Modulith
VMware 推出了一个实验性的项目Spring Modulith,以便于通过模块和事件更好地组织 Spring Boot 3 应用。该项目引入了新的类和注解,但并不会生成代码。它的模块没有使用 Java Platform Module System(JPMS),而是映射到了普通的 Java 包。模块有 API,但是 Spring Modulith 鼓励使用 Spring 应用事件作为“主要的交互方式”。这些事件可以自动持久化到事件日志中。Spring Modulith 还简化了模块和事件的测试。
More »