简介

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. protobuf(quickStart)

    1.简介 Protocol Buffers是Google开发一种数据描述语言,能够将数据进行序列化,可用于数据存储.通信协议等方面. 可以理解成更快.更简单.更小的JSON或者XML,区别在于Prot ...

  2. dubbo + dubbo-admin 入门级demo

    整个示例中,除了dubbo的服务提供者和消费者是在windows里跑着,其他的所有程序都是在centos中. 1.准备环境 windows中jdk和java ide下载. 在centos中,创建软件安 ...

  3. STL --> set用法

    set用法 一.set和multiset基础 set和multiset会根据特定的排序准则,自动将元素进行排序.不同的是后者允许元素重复而前者不允许. 需要包含头文件: #include <se ...

  4. MySQL使用和操作总结

    简介 MySQL是一种DBMS,即它是一种数据库软件.DBMS可分为两类:一类是基于共享文件系统的DBMS,另一类是基于客户机——服务器的DBMS.前者用于桌面用途,通常不用于高端或更关键应用. My ...

  5. 谁说 JavaScript 简单的?

    这里有一些 Javascript初学者应该知道的技巧和陷阱.如果你已经是专家了,顺便温习一下. Javascript也只不过是一种编程语言.怎么可能出错嘛? 1. 你有没有尝试给一组数字排序? Jav ...

  6. S2第一本书内测

    <深入.NET平台和C#编程>内部测试题-笔试试卷 一 选择题 1) 以下关于序列化和反序列化的描述错误的是( C). a) 序列化是将对象的状态存储到特定存储介质中的过程 b) 二进制格 ...

  7. 使用Java理解逻辑程序

    1.Java常见的注释有哪些,语法是怎样的? 1)单行注释用//表示,编译器看到//会忽略该行//后的所文本 2)多行注释/* */表示,编译器看到/*时会搜索接下来的*/,忽略掉/* */之间的文本 ...

  8. Flash Builder4.7安装破解

    引用自CSDN博客,日后我会上传FlashBuilder到百度网盘谢谢 http://bbs.csdn.net/topics/391036327

  9. Linux下ping,telnet,ssh命令的比较

    ping工作在OSI模型的第三层,网络层. 主要用于测试到达目的主机的网络是否连接,不能检测某个端口是否开放. ping使用ICMP协议,不使用某个特定端口. 也可以 ping 域名 ,这样可以直接看 ...

  10. Java基础学习笔记十一 Eclipse开发工具

    Eclipse是功能强大Java集成开发工具.它可以极大地提升我们的开发效率.可以自动编译,检查错误.在公司中,使用的就是Eclipse进行开发. Eclipse的下载.安装.卸载 下载 http:/ ...