IdentityServer流程图与相关术语

概念图

 

 
apparch


最多见的交互是:
浏览器与web应用程序通讯
web应用程序与web APIs进行通讯
基于浏览器的应用程序与web APIs通讯
原生应用与web APIs通讯
基于服务的应用程序与web APIs通讯
web APIs与web APIs进行通讯html

 

一般,每一个层(前端、中间层和后端)都必须保护资源,并实现身份认证和受权.因此它们一般是针对同一个用户进行存储.
将这些基本安全功能外包给安全令牌服务,能够防止在这些应用程序和端点之间复制该功能.
对应用程序进行重构以支持安全令牌服务,这将造成如下体系结构和协议:前端

 
protocols


这样的设计将安全问题分为两部分:web

 

认证

当应用程序须要知道当前用户的身份时,须要进行身份验证。 一般,这些应用程序表明该用户管理数据,而且须要确保该用户只能访问他被容许的数据。 最多见的例子是(经典)Web应用程序 - 可是基于原生和基于JS的应用程序也须要进行身份验证。
最多见的身份验证协议是SAML2p,WS-Federation和OpenID Connect - SAML2p是最流行和最普遍部署的。
OpenID Connect是三款中最新的,但被认为是将来的趋势,由于它具备现代应用的最大潜力。 它是从一开始就构建用于移动应用场景的,而且被设计为API友好。后端

API 访问

应用程序有两种基本的方式与API通讯:使用应用程序标识或委派用户的身份。 有时候两种方法须要组合使用。
OAuth2是容许应用程序从安全令牌服务请求访问令牌,并使用它们与API进行通讯的协议。这种方式减小了客户端应用程序和API的复杂性,由于认证和受权能够集中在了一块儿。浏览器

OpenID Connect和OAuth 2.0:一块儿食用更佳

OpenID Connect和OAuth 2.0很是类似,实际上OpenID Connect是在OAuth 2.0之上的扩展。两个基本的安全考虑,身份验证和API访问,被组合成了一个单一的协议,一般与安全令牌服务一块儿单一往返。
咱们认为OpenID Connect和OAuth 2.0的组合是在可预见的将来保护现代应用程序的最佳方法。IdentityServer4是这两个协议的实现,而且通过高度优化,能够解决当今移动,原生和Web应用程序的典型安全问题。安全

术语

 
terminology

IdentityServer

IdentityServer是一个OpenID Connect提供程序,它实现了OpenID Connect和OAuth 2.0协议。
不一样的文献对于相同的角色使用不一样的术语 - 您可能还会发现安全令牌服务,身份提供者,受权服务器,IP-STS等。
但简而言之,它们都是同样的:一种向客户端发出安全令牌的软件。服务器

IdentityServer有许多工做和功能 - 包括:
1.保护您的资源
2.使用本地账户商店或经过外部身份提供商对用户进行身份验证
3.提供会话管理和单点登陆
4.管理和验证客户端
5.提供身份和访问令牌给客户
6.验证令牌app

用户(User)

用户是使用注册的客户端访问资源的人。ide

客户端(Client)

客户端是从IdentityServer请求令牌的软件,用于验证用户(请求身份令牌)或访问资源(请求访问令牌)。 必须首先向IdentityServer注册客户端才能请求令牌。
客户端的示例是Web应用程序,移动或桌面应用程序,SPA,服务器进程等。优化

资源(Resources)

资源是要用IdentityServer保护的资源,包括用户的身份信息或API。
每一个资源都有一个惟一的名称,客户端使用这个名称来指定他们想要访问的资源。
用户的身份信息,包括名称或电子邮件等。
API资源则是客户端想要调用的功能,它们一般是Web API,但不必定。

身份令牌(Identity Token)

身份令牌表示身份验证过程的结果。它至少包含1.用户的标识,2.用户如何以及什么时候进行身份验证的信息。它也能够包含其余身份信息。

访问令牌(Access Token)

访问令牌容许用户访问API资源,客户端请求访问令牌并将其转发到API。访问令牌包含有关客户端和用户的信息,API使用该信息来受权用户访问它的数据。
翻译自:https://identityserver4.readthedocs.io/en/release/intro/terminology.html

相关文章
相关标签/搜索