简介

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. Java并发系列[9]----ConcurrentHashMap源码分析

    我们知道哈希表是一种非常高效的数据结构,设计优良的哈希函数可以使其上的增删改查操作达到O(1)级别.Java为我们提供了一个现成的哈希结构,那就是HashMap类,在前面的文章中我曾经介绍过HashM ...

  2. Python爬取百度贴吧

    from urllib import request,parseimport os#找到借口及关键字base_url = 'http://tieba.baidu.com/f?'a = input(&q ...

  3. 设计模式 --> (3)策略模式

    策略模式 策略模式是指定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换.本模式使得算法可独立于使用它的客户而变化.也就是说这些算法所完成的功能一样,对外的接口一样,只是各自实现上存在差异. ...

  4. Algorithm --> 二进制中1的个数

    行文脉络 解法一——除法 解法二——移位 解法三——高效移位 解法四——查表 扩展问题——异或后转化为该问题 对于一个字节(8bit)的变量,求其二进制“1”的个数.例如6(二进制0000 0110) ...

  5. Mysql加密解密随机函数

    MD5(str) md5加密 SELECT MD5('hello') 5d41402abc4b2a76b9719d911017c592 sha(str) sha加密 SELECT SHA('hello ...

  6. java中的异常类型以及区别????

    一.引言 根据JDK的文档我们能够找到异常所在的包:java.lang.Throwable中,Throwable是所有异常类的根类,error是错误,在java.lang.error中,而Except ...

  7. java————面向对象概念

    面向对象 OO:面向对象 OOP:面向对象编程 OOA:面向对象分析 OOD:面向对象设计 面向对象的特征 继承,封装,多态 什么是对象? 对象是存在的具体实体,具有明确定义的特征和行为. 万物皆对象 ...

  8. c++第0次作业

    1.你认为大学的学习生活.同学关系.师生应该是怎样? 随着大学生活的慢慢到来,我开始领悟到大学并不是自由的天堂,相反,我们更加的走进社会这个牢笼.在这个牢笼中有着从前的我们并不需要在意和考虑的规则与问 ...

  9. 冲刺No.3

    Alpha冲刺第三天 站立式会议 项目进展 今日团队对CSS与JS的基础知识进行了应用,并对网站的UI设计进行了讨论,对数据库设计进行了进一步的探讨,基本确立了各个表单的结构和内容.分割出项目基本模块 ...

  10. 十款不容错过的Swift iOS开源项目及介绍

    1.十款不容错过的Swift iOS开源项目. http://www.csdn.net/article/2014-10-16/2822083-swift-ios-open-source-project ...