跳转到主要内容

【Web应用开发】ADFS + Angular + ASP.NET Core API

大家好!

在本文中,我将讨论 ADFS + Angular + ASP.NET Core API。

我需要一起做这三件事,我很难找到关于这样做的内容。当它有关于 Angular 的信息时,它没有关于 ASP.NET Core API 的信息,或者它是关于 ASP.NET MVC 项目的信息。哦,很难过!

但是现在,我将这三件事结合在一起,我想解释一些我学到的东西,并提供一个可以帮助其他人的项目。

那么,让我们开始吧!

第 1 部分:ADFS


我不会专注于在 ADFS 中配置您的应用程序,我认为您可以在 Internet 上找到足够多的相关内容。

但是,你需要知道一些事情:

由于前端将与您的后端解耦,因此您需要使用 JWT + OAUTH/OIDC 的方法,您将在其中获得访问令牌。因此,基本上“身份验证发生”在前端后端检查请求是否有效,或者换句话说,请求的标头中是否有有效的访问令牌

【Go语言Web开发】使用 JWT 保护您的 Go REST API

注意 - 本教程的完整源代码可以在这里找到:TutorialEdge/go-jwt-tutorial

JWT,或者更正式地称为 JSON Web 令牌,是一种紧凑的、URL 安全的方式,用于表示要在两方之间传输的声明。这本质上是一种令人困惑的说法,即 JWT 允许您以无状态但安全的方式将信息从客户端传输到服务器。

先决条件


在您阅读本文之前,您将需要以下内容:

  • 您需要在开发机器上安装 Go 版本 1.11+。

介绍


JWT 标准使用 HMAC 算法的密钥或使用 RSA 或 ECDSA 的公钥/私钥对。

注意 - 如果您对 JWT 的正式定义感兴趣,那么我建议您查看 RFC:RFC-7519

这些在单页应用程序 (SPA) 中被大量用作安全通信的手段,因为它们允许我们做两件关键的事情: