视频地址:https://www.bilibili.com/video/av42364337 语雀地址:https://www.yuque.com/yuejiangliu/dotnet/solenovex-identityserver4 github代码地址:https://github.com/solenovex/Identity-Server-4-Tutorial-Demo-Code Identity Server 4 原理和实战(完结)_----选看 OAuth 2.0 简介(上) Ide…
创建项目 dotnet new -i IdentityServer4.Templates 多出来的这些模板 adminUI用来测试,想要用再生产环境,需要交钱 结合core的 Identity来使用 使用EF core把一些数据持久化到数据库里了 内存来存储信息 创建项目 创建一个内存里的项目叫做 Idp VS打开项目 直接运行: 这里看起来有点乱,这里显示注释掉 把上面这三被注释的代码放开注释: 这里添加用户,添加了一个测试用户 查看TestUser的源码 他是在代码里写死了两个用户; 往内存…
Code在Oauth2.0和OpenId Connect里面分别叫做不同的名字 OAuth只介绍了如何授权.没有介绍如何身份认证. OpenId Connect:既规定了怎么授权,也规定了怎么身份认证 OpenlD Connect是在OAuth2.0身份证协议之上做的身份认证协议,它里面规定了三种flow分别是 Authorization Code Flow.Implicit Flow. Hybird Flow 今天主要讲Authoriztion Code, OAuth2.0里面的流程图 Ope…
https://www.yuque.com/yuejiangliu/dotnet/cg95ni 代表资源所有者的凭据 授权 Authorization Grant 授权是一个代表着资源所有者权限的凭据,它可以被客户端应用来获取 Access Token. OAuth 2.0 里面定义了 4 种类型的授权,分别是: Auhtorization Code 授权码 Implicit Resource Owner Password Credentials Client Credentials OAuth…
idp授权资源的添加 如果下面哪个客户端想访问api2这个资源的话 就把它写上scope里面就可以了 nodeJS的客户端 python的库 MVC客户端分别访问API和API2 python客户端演示 登陆成功 mvcClient Hybird Client Angular 这就是单点登陆…
https://material.angular.io/ 第一部是安装angular cli --prefix=ac:前缀 --routing:默认使用路由 style=scss:样式使用scss --dry -run表示模拟这个流程,但是实际上不会生成这些文件 不模拟就是把后面的  --dry -run去掉 调整文字的大小 -o就是打开浏览器 使用npm run start也是可以的 出现这个画面就是正常的 使用官方的ui 安装依赖的一些库 另外一种安装的方法,安装依赖 还会对项目有一些配置…
服务端修改token的过期使劲为60秒 过期了 仍然还能获取到api1的资源 api1,设置每隔一分钟就验证token 并且要求token必须要有超时时间这个参数, 1分钟后提示超时,两边都是一分钟,可能会有时间差 官方文档refresh的协议 更新token的值 判断并刷新token的值 运行起来有个错误 这里要加上地址 清理cookie,再重新登陆 1分钟后走到refreshtoken的方法里 然后就获取到了一个新的AccessToken 关于refresh token 官方的示例有很多的写…
https://www.yuque.com/yuejiangliu/dotnet/asu0b9 端点 Endpoint Authorization Endpoint,授权端点 在浏览器里面和用户交互 资源所有者通过该端点对客户端应用进行授权操作 Token Endpoint,Token 端点 客户端应用向该端点展示它的授权(或 Refresh Token)以获得 Access Token 六种错误类型: invalid_request invalid_client(401) invalid_gr…
4分50 建立客户端 不需要身份认证 客户端叫做HybirdClient 配置IdentityServer服务端,先把客户端添加上 把userClaims添加到token里面 然后运行服务端就可以了 客户端配置 和之前的配置差不多,先把代码贴上 和之前的区别可能是这里的相应类型有区别 启动地址端口改成 7000端口 HomeController需要处理,首先需要登陆 服务端的端口也需要改成7000 运行测试 一运行客户端就会跳转到授权服务器 登陆,请求权限 成功跳转 访问被保护资源 之前把之前的…
今天要讲的 用fiddler来监听,昨天的客户端的请求 这是一个post的请求 这是响应的数据 Expores_in超时时间, 今天的内容 在服务端再声明一个client端 wpf的应用的效果图 首先还是需要安装IdentityModel的库 测试程序 用户名和密码是在Testuser内 请求API资源 最上面定义一个变量用来接收Access token 代码基本上和昨天的是一样的 现请求Access token 再请求 Api1的资源 获取Identity Data的资源 在服务端设置,加上了…
服务端设置为ReferenceToken accessToken的内容比原来的少了很多 断点继续回来就会发生异常 服务端设置 客户端设置,使用一个封装好的库 撤销Token 我们在点击退出按钮的时候撤销token 再撤销refreshToken 然后再把我们以前写的登出的代码注释掉 点击登出按钮 清除的时候把这几个选项都加上 点击退出 这次没有什么错误 退出后再次访问 .我们的token已经失效了.这种方法支队refreshToken有效 第三方登陆 微信登陆需要企业认证的网站才可以 找到goo…
oidc-client.js貌似是IdentityServer4的团队开发的 服务端的设置 在服务端新增一个Client 之后需要在angular客户端页建两个页面,对应这两个url才行 登出之后要跳转的url地址 允许跨域的地址 这里和以前一样 angular客户端设置 angular客户端设置,首先需要安装oidc-client oidc-client需要配置一些参数,在这个文件内.environments/environment.ts相当于我们开发的时候会使用这个文件 生产环境会走这个文件…
2.4数据库结构的设计 好的性能出自好的设计 尽可能添加数据完整约束(非空约束.默认值约束.CHECK约束.唯一约束.外键约束)等,这些约束的添加将有助于数据库关系引擎分析执行计划. 尽可能小的字段类型,特别是大表,尽量小的空间将可以带来更佳的性能. 表结构的设计应考虑业务需求带来的操作(查询.更新.删除)及频率,尽可能的使业务逻辑实现简洁,使用简单的SQL语句,可避免过多的表关联. 约束对性能的影响 默认值约束:它只会影响新增的行,对数据库引擎来说,它的影响可以忽略不计. check约束:ch…
视频简介 ASP.NET Core Web API + Angular 6的教学视频 我是后端开发人员, 前端的Angular部分讲的比较差一些, 可以直接看代码!!!! 这是一个小项目的实战视频, 该项目采用了: ASP.NET Core 2.1 做API Identity Server 4 Angular 6 Angular Material 这个项目比较简单, 适合ASP.NET Core Web API 和 Angular 初学者. 项目最终完成的效果如图: 视频目录 视频专辑地址: h…
本文场景: LDAP + wso2 Identity Server + asp.net声明感知 场景 ,假定读者已经了解过ws-*协议族,及 ws-trust 和 ws-federation. 随着开源技术的发展,越来越多的优秀开源产品将加入到我们常规的业务系统,为了避免重复造轮子(实际上自己造的轮子质量非常差),我们最快的方法就是集成优秀的开源项目为我所用. 下面来说说集成中的挑战之一: 用户认证问题. 本人是一个在ASP.NET下工作的码农,在2010年的时候研究过windows ident…
GraphQL 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(上) 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(下) [视频] 使用ASP.NET Core 开发 GraphQL 服务器 腾讯视频专辑:http://v.qq.com/vplus/4cfb00af75c16eb8d198c58fb86eb4dc/foldervideos/ead0015018e4ud9 哔哩哔哩:https://www.bilibili.com/video/av33…
. 前言 VRRP(Virtual Router Redundancy Protocol)协议是用于实现路由器冗余的协议,最新协议在RFC3768中定义,原来的定义RFC2338被废除,新协议相对还简化了一些功能. . 协议说明 2.1 协议 VRRP协议是为消除在静态缺省路由环境下的缺省路由器单点故障引起的网络失效而设计的主备模式的协议,使得在发生故障而进行设备功能切换时可以不影响内外数据通信,不需要再修改内部网络的网络参数.VRRP协议需要具有IP地址备份,优先路由选择,减少不必要的路由器间…
用 JWT 机制实现验证的原理如下图:  认证服务器负责颁发 Token(相当于 JWT 值)和校验 Token 的合法性. 一. 相关概念 API 资源(API Resource):微博服务器接口.斗鱼弹幕服务器接口.斗鱼直播接口就是API 资源. 客户端(Client):Client 就是官方微博 android 客户端.官方微博 ios 客户端.第三方微博客户端.微博助手等. 身份资源(Identity Resource):就是用户. 一个用户可能使用多个客户端访问服务器:一个客户端也可能…
1.深入浅出Oracle(DSI系列Ⅰ) 2.Oracle特殊恢复原理与实战(DSI系列Ⅱ) 3.Oracle SQL Tuning(DSI系列Ⅲ)即将开设 4.Oracle DB Performance Diagnostics(DSI系列Ⅳ)2018年内将开设 5.Oracle DSI核心揭密(DSI系列Ⅴ)2018年内将开设​ ​老师致力于打造国内较高级DSI课程,欢迎有志从事Oracle相关工作的朋友们关注.加入! 本课基于Oracle DSI403e和BBED工具修练Oracle内功心法…
DNS tunnel的原理及实战 摘自:http://netsec.ccert.edu.cn/zhengming/2011/11/01/%E8%BD%AC%E8%BD%BD%EF%BC%9Adns-tunnel%E7%9A%84%E5%8E%9F%E7%90%86%E5%8F%8A%E5%AE%9E%E6%88%98/ 什么是DNS tunnel? DNS tunnel 即 DNS隧道.从名字上来看就是利用DNS查询过程建立起隧道,传输数据. 为什么使用DNS tunnel? 当你在酒店.机场等…
Kafka 原理和实战 https://segmentfault.com/a/1190000020120043 两个小时读完... 实在是看不完... 1.2k 次阅读  ·  读完需要 101 分钟 18 本文首发于 vivo互联网技术 微信公众号 https://mp.weixin.qq.com/s/bV8AhqAjQp4a_iXRfobkCQ 作者简介:郑志彬,毕业于华南理工大学计算机科学与技术(双语班).先后从事过电子商务.开放平台.移动浏览器.推荐广告和大数据.人工智能等相关开发和架构…
指针生成网络(Pointer-Generator-Network)原理与实战   阅读目录 0 前言 1 Baseline sequence-to-sequence 2 Pointer-Generator-Network 3  Coverage mechanism 4 实战部分 4.1 DataSet 4.2 Experiments 4.3 Evaluation 4.4 Results 5 References 回到顶部 0 前言 本文主要内容:介绍Pointer-Generator-Netwo…
前言:iOS 开发中,h5 和原生实现通信有多种方式, JSBridge 就是最常用的一种,各 JSBridge 类库的实现原理大同小异,这篇文章主要是针对当前使用最为广泛的 WebViewJavascriptBridge(v6.0.2),从功能 API.实现原理到源码解读.最佳实践,做一个简单介绍. 目录 一.简介 1.设计目的 2.特点 3.安装.导入 4.API 二.实现原理 1.目录结构 2.主要流程 2.1 初始化 2.2 JS 调用原生 2.3 原生调用 JS 2.4 小结 三.源码…
Keepalived 原理与实战 随着系统架构的逐渐演化,服务器的数量和结构会越来越复杂,例如 Web 服务器集群的搭建,提高了系统的性能,同时也提高了系统维护的复杂度,我们需要对集群中各台服务器进行监控,来保证为用户提供服务的是正常运行的服务器,整体系统的可用性就至关重要. Keepalived 简介 什么是Keepalived ? Keepalived一个基于VRRP 协议来实现的 LVS 服务高可用方案,可以利用其来解决单点故障.一个LVS服务会有2台服务器运行Keepalived,一台为…
QT5 QSS QML界面美化视频课程系列 QT原理 项目实战 C++1X STL 课程1   C语言程序设计高级实用速成课程 基础+进阶+自学 课程2   C语言程序设计Windows GDI图形绘制编程实用课程 课程3   C语言程序设计实用数据结构实战课程 课程4   C语言程序设计用户界面框架实战课程 课程5   C语言程序设计坦克世界项目实战课程像素版 课程6   C++程序设计C++11/C++14/C++17新特性详解实用 课程7   C++STL标准模板库源码分析课程 课程8  …
一 下载maven 在maven官网上可下载maven:http://maven.apache.org/download.cgi 下载好后,解压.我的解压到了:D:\maven\apache-maven-3.3.9 二 配置maven 环境变量 系统变量:MAVEN_HOME = D:\Development\apache-maven-3.3.9 系统变量:path = %MAVEN_HOME%\bin 相信大家都有配过环境变量的,详细步骤就不说了,对着把属性名和属性值配上就OK了. 打开 cm…
jQuery源码:从原理到实战 jQuery选择器对象 $(".my-class"); document.querySelectorAll*".my-class") document.querySelector(".my-class") 原生JS的jQuery选择器实现方法querySelector jQuery的查找和链式写法实现原理 从DOM库到jQuery的DOM方法 从tween算法到jQuery动画 从设计模式到jQuery的事件模型…
我要使用asp.net core 2.0 web api 搭建一个基础框架并立即应用于一个实际的项目中去. 这里需要使用identity server 4 做单点登陆. 下面就简单学习一下相关的预备知识. 基于Token的安全验证体系 这个比较简单, 简单来说就是为了证明我们有访问权限, 我们首先需要获得一个token. 什么是token? 比如说: 可以访问某些大楼的门禁卡就是一种token, 回家开门的钥匙也是一种token. 为了获取到token, 首先你需要验证你的身份, 以证明你确实有…
预备知识: http://www.cnblogs.com/cgzl/p/7746496.html 本文内容基本完全来自于Identity Server 4官方文档: https://identityserver4.readthedocs.io/ 官方文档很详细的. 使用OAuth可以更安全, 这里我们的authorization server和web api 以及网站将分别独立运行. 建立authorization server 建立asp.net core 项目使用空模板. 项目建立后, 运行…