跳转到主要内容

【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开发】 Go Oauth2 教程

欢迎各位码农!在本教程中,我们将了解如何使用 go-oauth2/oauth2 包实现自己的 OAuth2 服务器和客户端。

毫无疑问,这是评论者对我的 YouTube 视频提出的最多要求的话题之一,而且我自己也觉得非常有趣。

毫无疑问,对于任何面向公共甚至私有的服务或 API 而言,安全性都是一个非常重要的特性,并且您需要非常注意它才能使其正确。

注意 - 可以在此处找到本教程的完整 github 存储库:TutorialEdge/go-oauth-tutorial

理论


因此,在我们深入研究如何编写代码之前,了解它在后台是如何工作的很重要。通常,我们有一个客户端,它首先向资源所有者发出授权请求。然后,资源所有者要么同意要么拒绝这个请求。

使用此授权授予,客户端然后将其传递给授权服务器,授权服务器将授予访问令牌。正是有了这个授予的访问令牌,我们的客户端才能访问受保护的资源,例如 API 或服务。

话虽如此,现在让我们看看如何使用这个 go-oauth2/oauth2 包来实现我们自己的授权服务器。

注意 - 如果您有兴趣查看 Oauth2 实现遵循的 RFC,可以在此处找到:RFC-6749