简介

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. 玩转log4j

    我的目标是授人以渔,而不是授人以鱼,我相信你仔细看完这篇文章,玩转log4j不成问题 先来一个log4j最简单的例子 public class MyApp { static Logger logger ...

  2. 【Linux】 linux的进程系统一点补充

    linux进程系统 ■ 程序 vs. 进程 程序静态地存放在磁盘中.用户可以触发执行程序,被触发后的程序就存进内存中成为一个个体,即为进程. 有些进程(比如crond需要每分钟都扫描.守护进程等等)是 ...

  3. 【Python】 零碎知识积累 II

    [Python] 零碎知识积累 II ■ 函数的参数默认值在函数定义时确定并保存在内存中,调用函数时不会在内存中新开辟一块空间然后用参数默认值重新赋值,而是单纯地引用这个参数原来的地址.这就带来了一个 ...

  4. #Python3.6.2(32位) pip安装 和 pygame 环境配置

    #首先确认电脑已经安装python ,可通过在命令行下 执行 python --version确认. 1. 到 https://pypi.python.org/pypi/setuptools/ 下载 ...

  5. Axure RP初学2

  6. 如何防止cookie被串改

    在这里我不想多说怎么去操作cookie了,网上博文一大堆,大家可以去自行搜索,在这里也是记录一下自己的知识,以便以后方便查阅.当我们在浏览器地址栏输入地址成功打开网页以后,服务器会把一些信息写入coo ...

  7. g第十四周,十五周作业

    1.数组中偶数的和 #include <stdio.h> int main(){ ; ]; ;i<=;i++) { scanf("%d ",&a[i]); ...

  8. java-JProfiler(一)-安装以及简介

    一.下载 下载http://www.ej-technologies.com/download/jprofiler/files 目前网上有9.2版本的使用方式,10.暂时还无法完美使用 可以下载zip包 ...

  9. 从0开始的LeetCode生活—001-Two Sum

    题目: Given an array of integers, return indices of the two numbers such that they add up to a specifi ...

  10. 201621123060《JAVA程序设计》第一周学习总结

    1.本周学习总结 1.讲述了JAVA的发展史,关于JDK.JRE.JVM的联系和区别 2.JDK是用JAVA开发工具.做项目的关键.JRE是JAVA的运行环境(JAVA也是JAVA语言开发的).JVM ...