当前位置: 首页 > news >正文

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

.NET Core IdentityServer4实战-开篇介绍与规划
原文: .NET Core IdentityServer4实战-开篇介绍与规划

一.开篇寄语

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

二.IdentityServer4介绍

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

三.大体内容

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

四.文章

(更新中)

五.为什么要用它

../_images/appArch.png

  大多数的应用都如上所示,基本上都是通过客户端对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也可以,如果你用其他版本的,我劝你另寻他处:)

  尽情期待。

 

posted on 2019-01-27 12:15 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/10326026.html

相关文章:

  • Matplotlib中plt.rcParams用法(设置图像细节)
  • 14-tail-and-head-commands-linuxunix
  • Apollo的Oracle适配改动
  • 甄姬
  • Sql 排序
  • contest3 CF994 div2 ooxxx? oooox? ooooo?
  • 梯度下降算法对比(批量下降/随机下降/mini-batch)
  • Angular CLI的简单使用(2)
  • 最大团优化
  • 02-jQuery的选择器
  • Aria2 使用手札(简易部署 + 快速进阶)
  • 『The Captain 最短路建图优化』
  • 各种编码格式转换
  • Kali学习笔记40:SQL手工注入(2)
  • Ocelot 资源汇总
  • $translatePartialLoader加载失败及解决方式
  • [译]前端离线指南(上)
  • 【Leetcode】104. 二叉树的最大深度
  • Android交互
  • flutter的key在widget list的作用以及必要性
  • JavaScript标准库系列——Math对象和Date对象(二)
  • JS+CSS实现数字滚动
  • overflow: hidden IE7无效
  • React组件设计模式(一)
  • SAP云平台里Global Account和Sub Account的关系
  • vue.js框架原理浅析
  • Vue2.x学习三:事件处理生命周期钩子
  • 半理解系列--Promise的进化史
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 开发基于以太坊智能合约的DApp
  • 类orAPI - 收藏集 - 掘金
  • 前端性能优化--懒加载和预加载
  • 我建了一个叫Hello World的项目
  • 译有关态射的一切
  • 最近的计划
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​configparser --- 配置文件解析器​
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • #162 (Div. 2)
  • #Linux(make工具和makefile文件以及makefile语法)
  • (11)工业界推荐系统-小红书推荐场景及内部实践【粗排三塔模型】
  • (windows2012共享文件夹和防火墙设置
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (附源码)springboot 智能停车场系统 毕业设计065415
  • (论文阅读23/100)Hierarchical Convolutional Features for Visual Tracking
  • (收藏)Git和Repo扫盲——如何取得Android源代码
  • (五) 一起学 Unix 环境高级编程 (APUE) 之 进程环境
  • .NET 反射 Reflect
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .net2005怎么读string形的xml,不是xml文件。
  • @Responsebody与@RequestBody
  • @TableId注解详细介绍 mybaits 实体类主键注解
  • [2019.2.28]BZOJ4033 [HAOI2015]树上染色
  • [ActionScript][AS3]小小笔记
  • [Android]Tool-Systrace