Secure .Net Microservices with IdentityServer4 OAuth2,OpenID
使用IdentityServer4 OAuth2和OpenID为.net微服务提供安全保护
Securing .Net Microservices with IdentityServer4 using OAuth2, OpenID Connect and Ocelot API Gateway
使用OAuth2、OpenID Connect和Ocelot API Gateway在.NET微服务中实现安全保护
教程演示🔗
学生数量:6,834 个学生
上次更新时间:2023年11月
教程评分:4.5
教程语言:英语
教程字幕:中文、英语字幕
本课程包括:在移动设备和电视上观看、结业证书、5.5 小时 长的随选视频、1 篇文章、完整的永久访问权、5 个可下载资源字幕
学习内容
1、构建IdentityServer4身份验证微服务
2、使用client_credentials grant_type从身份服务器获取令牌。
3、使用IdentityServer4 OAuth 2.0和JWT令牌保护API
4、使用IdentityServer4的OpenID Connect针对交互式MVC客户端微服务
5、IdentityServer4 对于使用 MVC 交互式客户端应用程序的 OpenID Connect 集成
6、使用HttpClientFactory从客户端应用消费受保护的API
7、添加OpenID Connect登录、登出、同意和错误处理的用户界面(UI)
8、IdentityServer4 中的混合身份流:Secure Interactive Mvc 客户端(OpenID)和 Api 资源(OAuth2)的结合
9、基于声明的身份服务器4安全交互式MVC客户端(OpenID)和API资源(OAuth2)中的声称授权
10、Ocelot API Gateway实现,用于MVC客户端与IdentityServer4交互并携带令牌。
11、确保现有微服务参考应用程序与Ocelot和APIs集成IS4
12、基于声明的身份验证(Claim-Based Authentication)带有客户端标识符限制(client_id Claim Restriction)
13、使用JWTBearer令牌进行API安全保护
14、构建OpenID Connect交互式客户端用于MVC应用程序
15、为使用IHttpClientFactory从IDPClient获取Token开发HttpHandler。
16、使用Bearer Token保护Ocelot API网关
要求
1、前置条件和源代码
01:17
2、JWT(JSON Web Token)示例场景
00:56
3、JWT(JSON Web Tokens)结构
02:36
4、OAuth2 授权类型和流程
02:10
5、OpenID Connect 终点(Endpoints)
6、OpenID Connect认证流程
01:47
7、Identity Server 4 术语
02:21
8、”Identity Server 4在微服务世界中的应用”
02:12
9、C#知识
10、Aspnet Core基础知识
课程介绍
你将学习如何使用独立的Identity Server 4和Ocelot API网关来保护微服务。我们将使用ASP.NET Web MVC和API应用程序,通过IdentityServer4实现OAuth 2和OpenID Connect进行安全保护。这包括使用令牌对Web应用和API进行安全、处理声明、身份验证和授权中间件,以及应用策略等。
本课程将指导你开始在分布式微服务架构中使用IdentityServer4和OAuth 2、OpenID Connect为基于ASP.NET的微服务应用提供安全。同时,你还将学习如何在微服务架构中通过Ocelot API网关保护受保护的API资源。
查看整体架构:
你可以看到,我们将开发四个ASP.NET核心微服务项目,逐一完成并整合它们。
1. Movies.API:首先,我们将开发Movies.API项目,并使用IdentityServer4实现OAuth 2.0来保护API资源。我们将生成JWT令牌,使用客户端凭据从IdentityServer4,并用此令牌保护Movies.API的受保护资源。
2. Movies.MVC:接着,我们将为应用程序开发交互式客户端——Movies.MVC Asp.Net项目。这个交互式Movies.MVC客户端将使用IdentityServer4的OpenID Connect进行安全保护。客户端应用将向Identity Server传递凭据,获取回一个JSON Web Token(JWT)。
3. 身份服务器:此外,我们将开发一个中心化的独立身份服务器和身份提供者,使用IdentityServer4包,微服务名称为身份服务器。IdentityServer4是一个开源框架,为.NET Core实现OpenID Connect和OAuth2协议。
通过身份服务器,我们可以在单点位置或按用户基础为Web应用或Web API提供身份验证和访问控制。
4. Ocelot API网关:最后,我们将开发Ocelot API网关,通过转移JWT Web令牌来保护过Ocelot API网关的受保护API资源。一旦客户端持有Bearer令牌,它将调用由Ocelot代理的API端点。Ocelot作为反向代理工作。
当Ocelot重新路由请求到内部API时,它将在授权流程中向身份服务器展示令牌。如果客户端被授权,请求将被处理,并将电影列表发送回客户端。
此外,在整个架构中,我们还应用了基于声明的身份验证。
课程结束时,你将对如何使用IdentityServer4、OAuth2、OpenID Connect和Ocelot API网关为.NET微服务提供实际的安全理解。
为现有微服务架构添加安全
在最后一节,我们将为一个现有的微服务参考应用分配一个与Identity Server集成的安全操作任务。在本课程之前,我们已经开发了run-aspnetcore-microservices参考应用。我们将在此基础上扩展应用,添加IdentityServer的OAuth 2.0和OpenID Connect功能,并新增一个身份服务器微服务。
适合你的课程?
本课程非常实践导向,超过90%的课程内容涉及你与我一起在这个项目上编码。如果你是那种通过动手实践学习效果最好的人,那么这门课程非常适合你。
课程所需工具
本课程所有示例均使用Visual Studio 2019作为代码编辑器演示。当然,你可以使用任何你喜欢的代码编辑器和操作系统(只要它是Windows或Mac)。
在WordPress中创建SEO友好的Yoast SEO内容时,可以这样撰写元描述:
“探索如何为你的ASP.NET微服务架构增添安全性:通过Identity Server 4实施OAuth 2和OpenID Connect,保护Movies.API与Movies.MVC客户端。学习使用JWT令牌、API网关(Ocelot)及集中身份管理。在这个实战课程中,你将亲自动手构建安全的微服务环境,并为run-aspnetcore-microservices应用升级身份验证。适合寻求实践操作的开发者,使用Visual Studio 2019进行开发。”