1、开篇

首先明确一点,文章只是学习过程的笔记,参考目前网络上的博客,主要便于自己加深理解,同时也督促自己持续学习,没有其他目的。感谢网上资源的提供者。

IdentityServer是为ASP.NET Core2.x系列打造的一款基于OpenID Connect和OAnth2.0认证框架。其特点或者说是用途有以下几点:

认证服务

可以为网站、本地应用、移动端、服务等做集中的登录逻辑和工作流控制(未接触)

单点登录

在各种类型的应用中实现单点登录登出(SSO)

API访问控制

为客户端颁发access token,比如服务之间的通讯,网站应用、本地应用或者移动应用等

2、 专业术语

身份认证服务器(IdentityServer)是基于OpenId Connect协议标准的身份认证和授权程序,在软件应用中为客户端颁发令牌并用于安全访问。

可以实现的功能:
  • 保护你的资源

  • 使用本地账户或通过外部身份提供程序对用户进行身份验证

  • 会话管理和单点登录

  • 管理和验证客户机

  • 向客户发出标识和访问令牌

  • 验证令牌

需要了解几个专业术语:

用户(User)

用户是使用已注册的客户端(在IdentityServer中已经注册)访问资源的人

客户端(Client)

客户端就是从IdentityServer请求令牌的软件(可以简单理解为一个app),既可以通过身份认证领来来验证识别用户身份,又可以通过授权令牌来访问服务器的资源。但是客户端首先必须在申请令牌前已经在IdentityServer服务中注册过。

客户端可以是,web应用程序、app或者桌面应用程序,SPA,服务器进程等

资源(Resources)

资源就是你想用IdentityServer保护的东西,可以是用户的身份数据或者api资源

每个资源都有一个唯一的名称,客户端使用这个唯一的名称来确定想访问哪一个资源(在访问之前,实际IdentityServer服务端已经配置好了那个客户端可以访问哪个资源,所以你不必理解为客户端只要指定名称他们就可以随便访问任何一个资源)。

用户的身份信息实际由一组claim组成,例如姓名或者邮件等都会包含在身份信息中(将来通过Identityserver校验后都会返回给被调用的客户端)。

API资源及时客户端需要调用的功能(通常以Json或者xml的形式返回给客户端,例如webapi,webservice,wcf),这里我们习惯使用json形式,通过webapi来建立模型。

身份令牌(Identity Token)

身份令牌指的就是对认证过程的描述。它标识某个用户的主要身份信息(claim)和该用户的认证时间和认证方式。当然也可以包含额外身份信息,根据开发具体情况而定。

访问令牌(Access Token)

访问令牌指的是客户端访问api资源。客户端请求访问令牌,然后使用令牌来访问api资源。 访问令牌包含有关客户端和用户的信息(如果存在)。 API使用该信息来授权访问其数据。

IdentityServer4 中文文档与实战

IdentityServer4 知多少

最新文章

  1. 使用JavaScript闭包,以工厂模式实现定时器对象
  2. DevOps到底是什么?
  3. [置顶] 将项目从tomcat 迁移到JBoss
  4. IE8 CSS hack 测试
  5. 那些年困扰我们的委托(C#)
  6. 让jquery easyui datagrid列支持绑定嵌套对象
  7. CF 599D Spongebob and Squares(数学)
  8. FineUI开发一个b/s结构
  9. 曲演杂坛--SQLCMD下执行命令失败但没有任何错误提示的坑
  10. Python项目实战:福布斯系列之数据采集
  11. linux及windows文件共享
  12. openpyxl使用sheet.rows或sheet.columns报TypeError: 'generator' object is not subscriptable解决方式
  13. 自学python之路(day5)
  14. 【ASP.NET MVC系列】浅谈ASP.NET MVC 视图
  15. 自动化测试-10.selenium的iframe与Frame
  16. SQL SERVER 小语法
  17. exec dbms_stats.gather_schema_stats 手动优化统计
  18. [转] Haproxy、Keepalived双主高可用负载均衡
  19. 用winrar和ftp命令实现自动备份文件并自动上传到指定的ftp服务器
  20. svn 被锁住 冲突 Can't revert without reverting children

热门文章

  1. explorer.exe
  2. C# 高级进阶(一)
  3. WebAPI中controller添加[AllowAnonymous]无效的解决方法
  4. 一 MongoDB入门
  5. 服务器程序动态加载自定义jar包的过程
  6. mysql复制内容到一张新表
  7. Servlet体系及方法
  8. redis集群访问,重启,关闭,带密码访问集群
  9. springboot系列总结(一)---初识springboot
  10. Tomcat 端口配置及原理详解