Thingsboard源码中的OAuth2登录实现
Thingsboard 启用 OAuth2 功能
使用 [email protected] / sysadmin 账号登录 Thingsboard 系统之后,在安全 -> OAuth2.0 页面,点击OAuth2.0客户端,先创建一个客户端,这里我创建的是 Github 客户端。
使用 [email protected] / sysadmin 账号登录 Thingsboard 系统之后,在安全 -> OAuth2.0 页面,点击OAuth2.0客户端,先创建一个客户端,这里我创建的是 Github 客户端。
ThingsBoard 源码地址:https://github.com/thingsboard/thingsboard,启动成功之后,使用系统管理员: [email protected] / sysadmin 进行登陆。
登陆系统之后,点击左边的设置和安全菜单,进行相应的配置。
OAuth 是一种开放协议,允许通过网络、移动和桌面应用程序以简单、标准的方式进行安全授权。
以下是一些 OAuth 2.0 指南,涵盖了理解和实现客户端和服务器所需的许多主题。
认证 (Authentication):
授权 (Authorization):
原文地址:https://mainul35.medium.com/oauth2-with-spring-part-1-knowing-the-basic-concepts-5c4aa17884a
在本系列关于 Spring 的 OAuth2的文章中,我将尝试介绍和解释与 OAuth2 相关的每一个问题以及如何在 Spring 框架中实现这些问题。请记住,OAuth2 完全是一个概念性的东西,在不同的框架中,它有自己的实现。此外,许多应用程序开发人员开发自己的 OAuth2 实现,而不使用 Spring 框架提供的 OAuth2 框架支持。因此,我将就这个主题撰写一系列文章。
Spring 团队最近发布了他们的授权服务器。OAuth2 一直是一个热门话题,而构建或理解授权服务器一直是一个谜。在本系列的第 1 部分中,我描述了几乎所有您需要了解的有关 OAuth2 的概念性内容。在本系列的这篇文章中,我将尝试演示如何构建具有client_credential授权类型的授权服务器。我将从使用配置属性进行自动配置开始解释它们,并通过编写 Java 代码自定义配置。让我们开始吧。
在上一篇文章中,我们讨论了使用 client_credential 的 OAuth2 授权服务器配置。在本文中,我们将讨论使用 authorization_code 授予类型的授权服务器配置。此授权流程将有一个 OIDC 客户端,它将通过使用授权码进行请求来获取 JWT 令牌。
在之前的文章中,我们学习了如何使用 OIDC 连接到我们自己的授权服务器。我们在自托管授权服务器中定义了我们自己的客户端应用程序。在今天的文章中,我们将使用 Google 和 GitHub 作为我们的授权服务器,并将我们的授权客户端应用程序连接到这些授权服务器并从它们接收令牌。应用程序登录屏幕将如下所示。
免责声明:本文技术性很强,需要清楚了解本系列前几篇文章,特别是第 1 部分和第 3 部分。
我第一次接触 OAuth 是在 2010 年,当时我正在构建一个 API,我知道我希望第三方开发人员能够在其基础上构建应用程序。当时,OAuth 看起来令人生畏。OAuth 1 的实现只有少数几个,而 OAuth 2.0 仍是一个草稿。一天晚上,我决定坐下来,拿着精酿啤酒和最新草案的纸质副本,从头到尾阅读它,直到我理解它。