[聚合文章] 原创 | Authentication & Authorization | SSO Analyze in ASP.NET Core

.Net 1900-01-01 23 阅读

以下思路参考于 IdentityServer4 源码,流程。阅读文章请 先 熟悉 OAuth 2.0, Open ID ,Open ID Connect 。本文章已申请授权骑士处理,转载请注明出处。
存储于 本机 Markdown文档。 | 待更新。

IdentityServer4是一个针对 ASP.NET Core 2.0 的OpenID Connect 和 OAuth 2.0框架。

在你的应用中,它支持以下特性:

Authentication as a Service

所有应用程序的集中登录逻辑和工作流(web,native,mobile,services),IdentityServer 是一个官方认证的OpenID Connect的实现。

Single Sign-on / Sign-out

在多个应用程序类型的登入和登出

Access Control for APIs

为不同的客户端提供api的访问令牌,e.g. server to server, web 应用,SPAs和 native .mobile apps

Federation Gateway(联合网关)

支持如Azure AD,Google,Facebook等外部的身份验证提供者,这将保护你的应用程序从如何连接到这些外部提供程序的细节。

Focus on Customization(专注于定制)

最重要的一部分--IdentityServer 的很多方面都可以定制,以满足你的需求,由于IdentityServer 是一个框架,而不是一个boxed product或者一个SaaS,所以你可以编写代码来对系统进行调整,以适应您的场景。

Mature Open Source(成熟的开源)

IdentityServer 使用了Apache 2的开源许可,允许在它上面构建商业产品,它也是.NET Foundation的一部分,提供了法律支持和治理。

Free and Commercial Support(免费和商业支持)

如果你需要帮助构建或运行您的身份平台,请让我们知道,我们有几种方法可以帮组你。

let us know

The Big Picture

大多数现代应用程序或多或少都是这样的:

../_images/appArch.png

最常见的互动是:

  • 浏览器与Web 应用程序的通信

  • Web应用程序与Web api进行通信(有时是自己的,也有代表用户的)

  • 基于浏览器的应用程序与web apis通信

  • Native applications 与 web APIs通信

  • 基于服务器的应用程序与Web api通信

  • web api 与web api 进行通信(有时是自己的,有时代表用户)

通常,每个层(前端,中间层和后端)都必须保护资源,并实现身份验证/或授权 --通常是针对同一个用户存储的。

将这些基本安全功能外包给安全令牌服务,可以防止在这些应用程序和端点之间复制该功能,

对应用程序进行重构以支持安全令牌服务,这将导致以下体系和协议:

注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。