一.开篇寄语

  由于假期的无聊,我决定了一个非常有挑战性的活动,也就是在年假给大家带来一个基于OAuth 2.0的身份授权框架,它就是 IdentityServer4 ,如果没有意外的话,一定可以顺利的写完的,如果两天写一篇的话!如果觉得期待的话,可以点个收藏,当然如果由于太忙还是怎样耽误了写作效率,请多担待(我觉得我精力是足够的!)那么废话少说,下面我来介绍一下IdentityServer4是个啥?

二.IdentityServer4介绍

  IdentityServer4是ASP.NET Core 2的OpenID Connect和OAuth 2.0框架,可以做的功能有SSO(单点登陆)、Api 控制、身份认证服务等。它是一个开源的项目,最重要的是IdentityServer可以由你自己定制来适应你的解决方案!这非常的友好。为什么要有它,在现在杂七杂八的的框架和语言来说,是配一套完美的应用是非常困难,每个模块由很难统一,所以IdentityServer4就给我们带来了糖果。

三.大体内容

基于IdentityServer4进行统一认证单点登陆、Api 身份验证、授权服务、EntityFramework的配置的支持、登录注销等。

四.文章

.NET Core IdentityServer4实战 第一章-入门与API添加客户端凭据

.NET Core IdentityServer4实战 第二章-使用OpenID Connect添加用户认证

.NET Core IdentityServer4实战 第三章-使用EntityFramework Core进行持久化配置

五.为什么要用它

  大多数的应用都如上所示,基本上都是通过客户端对API进行请求(浏览器、Web程序、本机应用程序)等。当你的项目到了一定得范围和大小之后,就有可能去使用Nginx,这个时候,也必须考虑站点的安全性,因为不能让你的核心业务信任外界任何的调用.当然还有的时候,我们的拥有自己的一套API,为自己服务进行使用,我们不想让别人来调用我们的,这个时候也可以进行使用。

  如果使用了IdentityServer4来保护我们的API,项目的层级就变成了这样。

  

  例如博客园的一个功能,如果你没有登录那就只能访问博客园公共部分,如果你登录了,你就可以肆意翱翔,当然这个栗子不是很恰当。。

六.概念

  

   OpenID :它何我们的身份证一样,你干什么事情都需要身份,那么XXX想要知道你有没有问题,就要去查询下你这个ID有没有毛病,有毛病就go away,没毛病就喊老铁。

   OAuth 2.0 :OAUTH协议为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAUTH是安全的。

    OpenId Connect :emmm,例如呢你的网站接入了QQ的第三方登录,它是被大多程序员叫做身份层,这个大体的协议叫做OIDC。OpenID是Authentication,即认证,对用户的身份进行认证,判断其身份是否有效,也就是让网站知道 “你是你所声称的那个用户”;


七.结语

关于IdentityServer4的项目地址:https://github.com/IdentityServer,官方网站:http://docs.identityserver.io/en/latest/index.html。我是用的IDE是VS2019,当然你用17也可以,如果你用其他版本的,我劝你另寻他处:)

  尽情期待。

.NET Core IdentityServer4实战-开篇介绍与规划的更多相关文章

  1. .NET Core IdentityServer4实战 第三章-使用EntityFramework Core进行持久化配置

    内容:本文带大家使用IdentityServer4进行使用使用EntityFramework Core进行配置和操作数据 作者:zara(张子浩) 欢迎分享,但需在文章鲜明处留下原文地址. 前两章内容 ...

  2. .NET Core IdentityServer4实战 第一章-入门与API添加客户端凭据

    内容:本文带大家使用IdentityServer4进行对API授权保护的基本策略 作者:zara(张子浩) 欢迎分享,但需在文章鲜明处留下原文地址. 本文将要讲述如何使用IdentityServer4 ...

  3. .NET Core IdentityServer4实战 第Ⅳ章-集成密码登陆模式

    回顾下ClientCredentials模式,在ReSourceApi中定义了我们公开服务,第三方网站想要去访问ReSourceApi则需要在身份验证服务中获取toekn,根据token的内容,硬编码 ...

  4. .NET Core IdentityServer4实战 第Ⅴ章-单点登录

    OiDc可以说是OAuth的改造版,在最初的OAuth中,我们需要先请求一下认证服务器获取下Access_token,然后根据Access_token去Get资源服务器, 况且OAuth1 和 2 完 ...

  5. [ASP.NET Core开发实战]开篇词

    前言 本系列课程文章主要是学习官方文档,再输出自己学习心得,希望对你有所帮助. 课程大纲 本系列课程主要分为三个部分:基础篇.实战篇和部署篇. 希望通过本系列课程,能让大家初步掌握使用ASP.NET ...

  6. .NET Core IdentityServer4实战 第二章-OpenID Connect添加用户认证

    内容:本文带大家使用IdentityServer4进行使用OpenID Connect添加用户认证 作者:zara(张子浩) 欢迎分享,但需在文章鲜明处留下原文地址. 在这一篇文章中我们希望使用Ope ...

  7. .NET Core IdentityServer4实战 第六章-Consent授权页

    在identityServer4中登陆页面只要是成功了,就会注册一个Cookie在服务器资源上,像现在大部分的网站第三方授权,都是经过一个页面,然后选需要的功能,IdentityServer4也给我们 ...

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

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

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

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

随机推荐

  1. Java虚拟机-类加载

    虚拟机把描述类的数据从Class文件加载到内存,并对数据进行检验.转换解析和初始化,最终形成了可以被虚拟机直接使用的Java类型,这就是虚拟机的类加载机制.在Java语言里,类型的加载.连接和初始化过 ...

  2. 使用TortoiseGit操作分支的创建与合并

    第一步:创建本地分支 点击右键选择TortoiseGit,选择Create Branch…,在Branch框中填写新分支的名称(若选中”switch to new branch”则直接转到新分支上,省 ...

  3. 使用WSL连接Docker for Windows

    在Windows下安装Docker for Windows Cotana搜索功能,打开Windows的Hype-v功能(注:会影响Virtualbox和Vmware的使用)并重启电脑. 从Docker ...

  4. Windows下Markdown软件的选择

    从开始Java学习这个系列的同时,我也开始改用Markdown而不是无比蛋疼的博客园默认编辑器来进行博客管理.但是Windows下想找一个比较好的Markdown编辑器蛮困难的,可以说专门的Markd ...

  5. Jupyter-notebook 导出时不显示Input[]代码

    参考: https://stackoverflow.com/questions/34818723/export-notebook-to-pdf-without-code    1. 第一个方式是直接在 ...

  6. Django 项目创建之前的环境搭建

    安装虚拟管理环境 sudo apt install virtualenv 在项目中运行 virtualenv fruitenv 进入到环境中 source fruitenv/bin/activate ...

  7. 图灵程序设计丛书(SQL必知必会)笔记

    SQL必知必会 第二课:检索数据 1.分页 (1).SQL Server 栗子 : select top 2 columns from tableName (2).Oracle 栗子 :select ...

  8. 敏捷方法之极限编程(XP)和 Scrum

    区别之一:  迭代长度的不同 XP的一个Sprint的迭代长度大致为1~2周, 而Scrum的迭代长度一般为 2~ 4周. 区别之二: 在迭代中, 是否允许修改需求 XP在一个迭代中,如果一个User ...

  9. Thread部分总结以及小例子

    Thread总结:一直以来用thread比较多,一般会在同步以及ui中用到.以下对于经常用作为简单介绍.一 实现方法: 一种直接new thread,另外一种是实现Runnable接口,在创建thre ...

  10. Javascript书籍推荐----(步步为赢)

    在此分享一些高清javascript书籍,因为我也没有全部看完,所以在这只是推荐,不同的书适合不同的人,所有的书在网上均有电子书,若找不到,请在博客留言,我有大部分书籍的电子稿.希望有更多的好书分享出 ...