[译]什么是 OAuth?

原文链接:https://www.pubnub.com/guides/oauth/ 什么是 OAuth? OAuth(开放授权)是一种开放标准授权框架,允许第三方应用程序访问用户数据,而无需用户共享其登录凭据。它为用户提供了一种安全且标准化的方式,将其在一个网站上的资源的访问权限授予另一个网站或应用程序,而无需暴露其密码。 简单来说,OAuth 充当最终用户和他们想要授予访问权限的应用程序之间的中间人。用户不会直接向 Web 应用程序提供用户名和密码,而是会被重定向到授权服务器(例如 Google、Facebook 或 Twitter),在那里他们可以安全地验证自己的身份。经过身份验证后,用户可以授予或拒绝对其想要使用的应用程序上的数据的访问权限。 ...

2024-05-07 · 22 min · 10704 words · chensoul

2024-01-09|单点登录

今天做了什么: 使用 renovate 监控第三方依赖更新 ,renovate 貌似需要付费,放弃。 spring-security-oauth2-samples 示例工程重命名模块和包名,代码见 spring-security-oauth2-boot 实现单点登录并测试 实现单点登录并测试 实现单点登录(Single Sign-On,SSO)可以采用多种思路和技术。下面是几种常见的实现思路: ...

2024-01-09 · 3 min · 1042 words · chensoul

2023-12-28|今天做了什么

今天做了什么: 重构微服务项目中使用 spring-security-oauth2 搭建 OAuth2 认证服务和资源服务的代码,减少其他模块对此的耦合度。计划将 spring-security-oauth2 迁移到 spring-security-oauth2-authorization-server 上,即使用 OAuth2.1 授权和认证。Spring Authorization Server 相关文档,可以参考 https://blog.51cto.com/u_15268610/category2。 看 xuxiaowei-cloud master 分支源代码,整理 /login 登陆逻辑,参数:username、password、tenantId、clientId ...

2023-12-28 · 2 min · 718 words · chensoul

2023-12-27|今天做了什么

今天做了什么: 微服务项目中认证服务器配置授权码模式,并测试通过 扩展 RedisAuthorizationCodeServices ,支持设置过期时间。 注意:OAuth2Authentication 无法从 json 反序列化,故无法使用 JSON 反序列化类,只能使用 JDK 反序列化类。 扩展 BearerTokenExtractor,支持从 request 请求的 header 中读取 access_token ...

2023-12-27 · 2 min · 555 words · chensoul

2023-12-21|Spring Security对OAuth2的支持及实现方式

Today I Learned. 今天分享内容:Spring Security 对 OAuth2 的支持 Spring Security 提供了对 OAuth 的支持,并且有几个相关的项目可以用于实现 OAuth 功能。以下是一些常见的 Spring Security OAuth 项目及其相关信息: Spring Security OAuth(https://github.com/spring-attic/spring-security-oauth):官方提供的 Spring Security OAuth 项目,为 Spring 应用程序提供了 OAuth 1.0 和 OAuth 2.0 的支持。该项目在 Spring Security 5.x 版本后已不再维护,建议使用后续提到的 Spring Authorization Server。 Spring Security 5(https://github.com/spring-attic/spring-security):Spring Security 5.x 版本开始将 OAuth 2.0 客户端支持集成到核心库中,使得在 Spring Security 中实现 OAuth 2.0 认证变得更加简单。你可以使用 Spring Security 5.x 以及后续版本来实现 OAuth 2.0 客户端功能。 Spring Security OAuth2 Boot(https://github.com/spring-attic/spring-security-oauth2-boot),该项目是 spring-attic 组织维护的,提供了 Spring Boot 2 和旧版 Spring Security OAuth 的自动配置。该项目已经停止了活跃的开发和更新,最新的提交日期是 2022 年 5 月 20 日。 Spring Authorization Server(https://github.com/spring-projects/spring-authorization-server):官方提供的用于构建 OAuth 2.0 授权服务器的实验性项目。它是 Spring Security 5.3 之后推出的替代方案,旨在提供更简化和灵活的 OAuth 2.0 授权服务器功能。 Authorization Server ...

2023-12-21 · 4 min · 1548 words · chensoul

2023-12-18|使用Spring Security实现OAuth2授权和认证

Today I Learned. 今天分享内容:使用Spring Security实现OAuth2授权和认证。 最近在开发 Spring Cloud 微服务时,需要对 OAuth2 的异常处理进行定制,从网上搜到一个 github 仓库:oauth2。这篇仓库的代码实现了 OAuth2 的四种授权模式、I18N 国际化、异常处理、JWT Token,我 fork 了一份代码,做了一些改动,去掉了 webflux、eureka 相关代码。 ...

2023-12-18 · 3 min · 1429 words · chensoul

[译]如何在Spring Boot3中使用UserDetailsService实现安全性?

作为有关 Spring Security 的系列文章的继续,在本文中我们将学习“如何在 Spring Boot 3 中使用 UserDetailsService 实现 Spring Boot 中的安全性?”。经过前面的文章,我希望我们都非常熟悉安全性的基础知识,甚至 Spring Boot 应用程序中的安全性基础知识。 Spring Boot 3 发布后,我们将在这里实现“使用 Spring Boot 3 的 Spring Security UserDetailsService”。 ...

2023-08-18 · 13 min · 6048 words · chensoul

[译]Spring Security - OAuth2

OAuth 2.0 基础知识 OAuth 2.0 由 IETF OAuth 工作组开发并于 2012 年 10 月发布。它作为一种开放授权协议,使第三方应用程序能够代表资源所有者对 HTTP 服务进行有限访问。它可以在不泄露用户身份或长期凭证的情况下做到这一点。第三方应用程序本身也可以代表其使用它。 ...

2023-08-16 · 9 min · 4466 words · chensoul

Spring Security和OAuth2发展过程

Spring Security 的发展过程 Spring Security 是一个功能强大且广泛使用的安全框架,为企业级应用程序提供了全面的安全性。Spring Security 最初是 Acegi Security 项目的一部分,于 2004 年发布,现在已经成为 Spring 生态系统的核心组件。 Spring Security 的发展过程可以分为三个阶段: ...

2023-08-15 · 12 min · 5855 words · chensoul

[译]Spring Boot授权服务器 - 使用 Java 的资源服务器和客户端凭证示例

概述 在本文中,我们将创建一个授权服务器,为任何客户端生成 access_token。这称为 OAuth2 的 client_credentials 流程。它主要用于服务间通信。 我们将使用 spring boot oauth2 授权服务器依赖项来创建身份验证服务器。我们还将创建一个资源服务器和客户端来对其进行端到端测试。 ...

2023-07-26 · 4 min · 1688 words · chensoul