[译]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 代码自定义配置。让我们开始吧。

More »

[译]OAuth2 with Spring 第3部分:使用Spring授权服务器授予authorization_code OIDC客户端

原文地址:https://mainul35.medium.com/oauth2-with-spring-part-3-authorizing-oidc-client-with-via-authorization-code-grant-from-spring-67769f9dd68a

上一篇文章中,我们讨论了使用 client_credential 的 OAuth2 授权服务器配置。在本文中,我们将讨论使用 authorization_code 授予类型的授权服务器配置。此授权流程将有一个 OIDC 客户端,它将通过使用授权码进行请求来获取 JWT 令牌。

More »

[译]OAuth2 with Spring 第4部分:Spring授权客户端与Google授权服务器的社交登录演示

原文地址:https://mainul35.medium.com/oauth2-with-spring-part-4-spring-authorization-client-social-login-demo-with-google-be6097ec18a5

之前的文章中,我们学习了如何使用 OIDC 连接到我们自己的授权服务器。我们在自托管授权服务器中定义了我们自己的客户端应用程序。在今天的文章中,我们将使用 Google 和 GitHub 作为我们的授权服务器,并将我们的授权客户端应用程序连接到这些授权服务器并从它们接收令牌。应用程序登录屏幕将如下所示。

More »

[译]OAuth2 with Spring 第5部分:使用PKCE保护您的Spring Boot应用程序以增强安全性

原文地址:https://mainul35.medium.com/oauth2-with-spring-part-5-securing-your-spring-boot-application-with-pkce-for-enhanced-security-d8025cd08769

免责声明:本文技术性很强,需要清楚了解本系列前几篇文章,特别是第 1 部分和第 3 部分。

带有代码交换证明密钥 (PKCE) 的授权代码流用于无法存储客户端机密的应用程序。此类应用程序包括:

More »

[译]OAuth2.0服务器

背景

前言

作者:Aaron Parecki

我第一次接触 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 »

[译]如何组织代码

原文链接:How to Structure Code

软件设计最佳实践,逐层发现包、按功能发现包以及六角形架构/端口和适配器。

在这篇博文中,我将探讨如何构建我们的代码并讨论最佳实践,涵盖三种不同的方法:按层打包、按功能打包以及六边形架构/端口和适配器及其优缺点。

在探索构建代码的不同方法之前,我们需要了解基本的软件设计原则:

  • 内聚力:指模块内各类之间的相互关联程度。
  • 耦合度:指不同模块之间的依赖程度。

img

More »

Redis安装和部署

单机安装

通过 yum 安装

在 CentOS 7 上通过 yum 安装 Redis,可以按照以下步骤进行操作:

More »