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 知多少

IdentityServer4[1]:开篇的更多相关文章

  1. .NET Core IdentityServer4实战-开篇介绍与规划

    一.开篇寄语 由于假期的无聊,我决定了一个非常有挑战性的活动,也就是在年假给大家带来一个基于OAuth 2.0的身份授权框架,它就是 IdentityServer4 ,如果没有意外的话,一定可以顺利的 ...

  2. 从壹开始 [ Id4 ] 之一║ 授权服务器 IdentityServer4 开篇讲&计划书

    前言 哈喽大家周四好!时间过的很快,现在已经是三月份了,我的 IdentityServer4 教程也拖了一定的时间了,正好最近有精力学新东西了,主要中间被小伙伴要求写一个管理后台,目前1.0已经上线( ...

  3. 【.NET Core项目实战-统一认证平台】第九章 授权篇-使用Dapper持久化IdentityServer4

    [.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章介绍了IdentityServer4的源码分析的内容,让我们知道了IdentityServer4的一些运行原理,这篇将介绍如何使用d ...

  4. 【.NET Core项目实战-统一认证平台】第八章 授权篇-IdentityServer4源码分析

    [.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章我介绍了如何在网关上实现客户端自定义限流功能,基本完成了关于网关的一些自定义扩展需求,后面几篇将介绍基于IdentityServer ...

  5. IdentityServer4 使用OpenID Connect添加用户身份验证

    使用IdentityServer4 实现OpenID Connect服务端,添加用户身份验证.客户端调用,实现授权. IdentityServer4 目前已更新至1.0 版,在之前的文章中有所介绍.I ...

  6. 一年之计在于春,2015开篇:PDF.NET SOD Ver 5.1完全开源

    前言: 自从我2014年下半年到现在的某电商公司工作后,工作太忙,一直没有写过一篇博客,甚至连14年股票市场的牛市都错过了,现在马上要过年了,而今天又是立春节气,如果再不动手,那么明年这个无春的年,也 ...

  7. ASP.NET Web API 开篇示例介绍

    ASP.NET Web API 开篇示例介绍 ASP.NET Web API 对于我这个初学者来说ASP.NET Web API这个框架很陌生又熟悉着. 陌生的是ASP.NET Web API是一个全 ...

  8. Entity Framework入门系列(1)-扯淡开篇

    这是我在Cnblogs上的第一个系列,但愿能坚持下去: 惯例索引 Entity Framework入门系列(1)-开篇兼索引: Entity Framework入门系列(2)-初试Code First ...

  9. IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API

    IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...

随机推荐

  1. WPF LiveChart 图表详解

    //参考网址:https://www.cnblogs.com/zh7791/p/12617961.html 本文主要介绍LiveChart.WPF 中的图表的使用方法 类: 数据绑定, 数据显示样式等 ...

  2. springboot 和spring cloud 博客分享

    spring boot 知识点总结 天狼星 https://www.cnblogs.com/wjqhuaxia/p/9820902.html spring cloud 知识点总结 姿势帝 https: ...

  3. C#基础知识---?为何物

    一. 可空类型修饰符(?)引用类型可以使用空引用表示一个不存在的值,而值类型通常不能表示为空.例如:string str=null; 是正确的,int i=null; 编译器就会报错.可空类型的出现, ...

  4. 深入理解Java类加载器(二):线程上下文类加载器

    摘要: 博文<深入理解Java类加载器(一):Java类加载原理解析>提到的类加载器的双亲委派模型并不是一个强制性的约束模型,而是Java设计者推荐给开发者的类加载器的实现方式.在Java ...

  5. EL表达式学习(二)

    1.从特定域中获取值: 2.从请求页面的input标签中,获取值:(同servlet中的getParameter和getParameterValues): 3.获取请求头(同servlet中的getH ...

  6. linux0.01内核源码结构

    目录 boot 系统引导. fs 文件系统. include 头文件.一些C标准库,系统核心库. init 入口.main.c. kernel 内核. lib 库.C源程序,一些基本核心的程序. mm ...

  7. VS2017 创建并测试 C++ dll

    生成DLL 创建工程: Create new project -> 选择Visual C++ -> Windows Desktop -> Dynamic-Link Library ( ...

  8. python使用pip安装模块出错 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None))

    python使用pip安装模块出错 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) 问题: ...

  9. Windows系统定时备份MySQL数据库

    当一个网站投入使用时,定期备份数据库是必要的事.那么,在Windows系统上,我们该如何做呢? 如下语句可以实现备份及还原MySQL数据库: 备份MySQL数据库 mysqldump -uroot - ...

  10. 使用kubeadm安装kubernetes 1.21

    文章原文 配置要求 至少2台 2核4G 的服务器 本文档中,CPU必须为 x86架构 CentOS 7.8 或 CentOS Stream 8 安装后的软件版本为 Kubernetes v1.21.x ...