简介

IdentityServer4是一个基于ASP.NET CORE2使用OAuth2.0协议和OpenID Connect的框架

特性如下:
  • Authentiaction作为一个Service

集中的登录逻辑和工作流程应用于你所有类型的应用,IdentityServer是一个官方认证的OIDC解决方案。

  • 单点登录(SSO)
  • 获取API的控制权
  • 联合网关

支持扩展的身份提供者,比如Azure 谷歌 facebook等。可以保护你的应用连接至这些外部扩展的细节。

  • 专注于客户化
  • 开源成熟
  • 免费和商业支持
 
大纲

最常见的交互方式如图:

  • 浏览器访问Web应用
  • Web访问Web APIS(有时是自我行为,有时是用户行为)
  • 浏览器访问API
  • app访问API
  • 服务端访问API
  • API和API通信

每一层都有资源保护并且声明了认证和授权,针对的是同一组用户存储。

将这些基础的安全功能外包给一个安全密钥(token)服务,来防止在应用和端点上复制该功能。

 
认证
当一个应用知道当前用户的身份时,需要进行验证。这个应用指那些管理用户数据行为,并且确保用户能够访问用户所允许的数据。最常见的例子是(经典)Web应用程序——但基于本地和基于js的应用程序也需要进行身份验证。

最常见的认证协议是SAML2p,WS-Federation 和 OpenID Connect,saml2p是最流行和最广泛部署。而OIDC是最新的也最具潜力和未来的。

 
API ACCESS

应用程序访问API最基本的两种方式,一种是用应用的身份一种是用用户的身份,有时候也可以两者结合起来。

 
OpenID Connect and OAuth 2.0 – better together
oauth2是一种允许应用程序要求访问令牌从一个安全令牌服务和沟通要用他们的API的协议。这个委托降低了客户机应用程序和API的复杂性,因为身份验证和授权可以是集中式的。
 
oidc和oauth2结合起来更好

两者是非常相似的,事实上OIDC是基于OAuth2.0的一个扩展。他将身份验证和API访问这两个基本安全问题合并到一个单一协议中——通常只对安全令牌服务进行一次往返。

IdentityServer4是一种为了解决当今移动互联网常见的安全问题而将两种协议高度优化的协议。

 
IDS4如何运作

它其实是一种加了兼容OIDC连接和OAuth2.0 endpoints规范的ASP.NET CORE的中间件。

比如你创建了一个包含登录登出页面(按需可能有Consent(同意(授权))页面。IDS4会加一些必要的协议头,以至于客户端能够通过标准的协议来访问它。

虽然我们构建宿主应用程序时可以尽可能如你想的一样复杂,但通常建议仅通过与验证相关的UI来尽量减少攻击面。

IdentityServer4-介绍大纲(译文)的更多相关文章

  1. ASP.NET Core身份认证服务框架IdentityServer4 介绍

    IdentityServer4是ASP.NET Core 2的OpenID Connect和OAuth 2.0框架.它可以在您的应用程序中提供以下功能: 它使你的应用程序具有如下特点: 认证即服务 适 ...

  2. 数据库版本管理工具Flyway(4.0.3)---介绍(译文)

    Flyway Evolve your Database Schema easily and reliably across all your instances 简单的.可靠的升级(发展)你的数据库模 ...

  3. mysq数据库相信介绍大纲!!!!!!

    什么是数据库? 数据库(Database)是按照数据结构来安排.存储和办理数据的仓库. 每个数据库都有一个或多个不同的 API 用于创立,访问,办理,搜索和仿制所保存的数据. 我们也能够将数据存储在文 ...

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

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

  5. asp.net core系列 53 IdentityServer4 (IS4)介绍

    一.概述 在物理层之间相互通信必须保护资源,需要实现身份验证和授权,通常针对同一个用户存储.对于资源安全设计包括二个部分,一个是认证,一个是API访问. 1 认证 认证是指:应用程序需要知道当前用户的 ...

  6. 03 Yarn 原理介绍

    Yarn 原理介绍 大纲: Hadoop 架构介绍 YARN 产生的背景 YARN 基础架构及原理   Hadoop的1.X架构的介绍   在1.x中的NameNodes只可能有一个,虽然可以通过Se ...

  7. 04 MapReduce原理介绍

    大数据实战(上) # MapReduce原理介绍 大纲: * Mapreduce介绍 * MapReduce2运行原理 * shuffle及排序    定义 * Mapreduce 最早是由googl ...

  8. Web常用函数介绍(LoadRunner相关)

    介绍大纲:1. web_url2. web_image3. web_link4. web_submmit_form 详细介绍: 一. web_url web_url 语法: Int Web_url(c ...

  9. C#介绍RabbitMQ使用篇一HelloWorld

    RabbitMQ官网官方介绍: 译文: RabbitMQ是目前部署最广泛的开源消息代理(何为代理?可以理解为一个提供功能服务的中间件). 在全球范围内的大小企业中的生产环境中,RabbitMQ的部署两 ...

  10. 天马行空云计算(二)-Hardware&Hypervisor介绍

    天马行空云计算系列一介绍了总体抽象视图,本篇展开Hardware&Hypervisor 介绍.如下是介绍大纲: 本篇将基于上述架构从如下方面介绍说明 Linux设备驱动 因为上述提到的一些硬件 ...

随机推荐

  1. 笔记:Spring Cloud Eureka 服务发现与消费

    服务发现与消费,其服务发现的任务是由Eureka的客户端完成,而服务的消费任务由Ribbon.JerseyClient等完成,Ribbon是一个基于HTTP和TCP的客户端负载均衡器:使用Jersey ...

  2. django初探-创建简单的博客系统

    django第一步 1. django安装 pip install django print(django.get_version()) 查看django版本 2. 创建项目 打开cmd,进入指定目录 ...

  3. AngularJS复习-----内置过滤器和内置服务

    AngularJS中的内置服务(共30多个): $http 发送http请求,主要用于进行异步数据请求的功能实现,这个服务主要封装了XMLHttpRequest对象和JSONP数据访问模式来完成远程请 ...

  4. Angular开发实践(五):深入解析变化监测

    什么是变化监测 在使用 Angular 进行开发中,我们常用到 Angular 中的绑定--模型到视图的输入绑定.视图到模型的输出绑定以及视图与模型的双向绑定.而这些绑定的值之所以能在视图与模型之间保 ...

  5. C#内存泄漏--event内存泄漏

    内存泄漏是指:当一块内存被分配后,被丢弃,没有任何实例指针指向这块内存, 并且这块内存不会被GC视为垃圾进行回收.这块内存会一直存在,直到程序退出.C#是托管型代码,其内存的分配和释放都是由CLR负责 ...

  6. 安装Keras

    在cmd窗口运行代码: pip install keras -U --pre 安装Keras: 进入Python环境,运行import keras,检验是否成功安装.

  7. jmeter常见问题汇总

    Aggregate Report 是 JMeter 常用的一个 Listener,中文被翻译为"聚合报告".今天再次有同行问到这个报告中的各项数据表示什么意思,顺便在这里公布一下, ...

  8. Ubuntu16.0.4下搭建pycharm 2018.3.22

    一.首先安装Java jdk Java JDK有两个版本,一个开源版本Openjdk,还有一个Oracle官方版本jdk.下面记录在Ubuntu 16.04上安装Java JDK的步骤. 安装open ...

  9. c语言博客作业-指针

    一.PTA实验作业 题目1: 1. 本题PTA提交列表 2. 设计思路(用代码表示扣分) 定义整型变量i,count记录平均分,实型变量sum保存总分 for i=0 to n sum = sum+* ...

  10. 按指定id顺序查询

    SELECT a.p,* FROM tb1 t,( as p union as p union as p union as p union as p ) a where t.id=a.id order ...