[译]OAuth2 with Spring 第2部分:授权服务器入门

原文地址:https://mainul35.medium.com/oauth2-with-spring-part-2-getting-started-with-authorization-server-13804910cb2a Spring 团队最近发布了他们的授权服务器。OAuth2 一直是一个热门话题,而构建或理解授权服务器一直是一个谜。在本系列的第 1 部分中,我描述了几乎所有您需要了解的有关 OAuth2 的概念性内容。在本系列的这篇文章中,我将尝试演示如何构建具有client_credential授权类型的授权服务器。我将从使用配置属性进行自动配置开始解释它们,并通过编写 Java 代码自定义配置。让我们开始吧。 ...

2024-06-05 · 2 min · 985 words · chensoul

2024-01-23|今天做了什么

今天做了什么: 重构 foodie-cloud 项目,修改模块名称、表名及字段名。 修改 spring-security-oauth2-legacy-examples ,测试资源服务器通过 jwt、jwk、远程三种方式获取用户信息;测试 sso 单点登录(进行中)。

2024-01-23 · 1 min · 74 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-19|Spring Security OAuth2配置JWT、Github Actions配置代码扫描

Today I Learned. 今天分享内容:Spring Security OAuth2 配置JWT、Github Actions配置代码扫描,另外,修改了 spring-security-oauth2-legacy 仓库,支持授权认证中心的多种配置方式(jdbc、内存、redis、jwt)、资源中心的多种配置方式(jwt、jdbc、redis、remote、jwk-set-uri)。 ...

2023-12-19 · 3 min · 1071 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 Security 面试问题

本面试准备指南将讨论一些常见的 Spring Security 面试问题。无论您是准备面试还是只是想增强对 Spring Security 的了解,这些问题都将帮助您理解关键概念并指导您设计常见安全问题的解决方案。 1. Spring Security 的核心特性是什么? Spring Security 提供的两个最突出的功能是身份验证和授权。这些功能在确保应用程序的安全性方面发挥着至关重要的作用。然而,Spring Security 超越了身份验证和授权,还提供了额外的功能来防止漏洞利用并与其他框架集成。 ...

2023-10-12 · 20 min · 9590 words · chensoul

[译]Spring Security 与 JWT for REST API

免责声明:Spring Security 5+ 已发布 OAuth JWT 支持。建议使用最新版本的 OAuth 来支持 JWT,而不是使用自定义安全性或过滤器。 Spring 被认为是 Java 生态系统中值得信赖的框架,并且被广泛使用。将 Spring 称为框架不再有效,因为它更多的是涵盖各种框架的总括术语。其中一个框架是 Spring Security,它是一个功能强大且可定制的身份验证和授权框架。它被认为是保护基于 Spring 的应用程序的事实标准,因此,如果您希望实现 Spring JWT 令牌解决方案,那么将其基于 Spring Security 是有意义的。 ...

2023-09-19 · 14 min · 6566 words · chensoul