摘要: 在上一篇C#Make自动化构建-简介中,简单的介绍了下Cake的脚本如何编写以及通过Powershell在本地运行Cake脚本。本篇在此基础上,介绍下如何在CI环境中使用Cake。 1. Cake简介续 1.1 为Task添加注释信息 Cake的每一个Task都可以添加一项描述,用来解释它的用途。比阅读全文
posted @ 2018-03-04 12:16 blackheart 阅读(304) 评论(0) 编辑
摘要: 在前面5篇博客中介绍了OAuth2和OIDC(OpenId Connect),其作用是授权和认证。那么当我们得到OAuth2的Access Token或者OIDC的Id Token之后,我们的资源服务如何来验证这些token是否有权限来执行对资源的某一项操作呢?比如我有一个API,/books,它具阅读全文
posted @ 2018-01-13 15:23 blackheart 阅读(2517) 评论(9) 编辑
摘要: 在基于传统的.NET Framework的Asp.Net Mvc的时候,本地开发环境中可以在IIS中建立一个站点,可以直接把站点的目录指向asp.net mvc的项目的根目录。然后build一下就可以在浏览器里面刷新到最新的修改了,也可以附加到w3wp的进程进行调试。但是在开发基于.Net Core阅读全文
posted @ 2017-11-29 23:56 blackheart 阅读(1064) 评论(8) 编辑
摘要: 在上一篇基于OIDC的SSO的中涉及到了4个Web站点: 其中hybrid和implicit这两个站点都是具有在服务端执行代码的能力的(1,登录需要在服务端做跳转;2,登录状态写入cookie;3,通过服务端的接口接收被动的退出通知)。而js这个客户端则是一个纯粹的静态网站,那么它是如何处理登录和退阅读全文
posted @ 2017-11-27 12:19 blackheart 阅读(1398) 评论(8) 编辑
摘要: 在[认证授权]系列博客中,分别对OAuth2和OIDC在理论概念方面进行了解释说明,其间虽然我有写过一个完整的示例(https://github.com/linianhui/oidc.example),但是却没有在实践方面做出过解释。在这里新开一个系列博客,来解释其各种不同的应用场景。因为OIDC是阅读全文
posted @ 2017-11-26 01:09 blackheart 阅读(3558) 评论(49) 编辑
摘要: 在上一篇[认证授权] 4.OIDC(OpenId Connect)身份认证授权(核心部分)中解释了OIDC的核心部分的功能,即OIDC如何提供id token来用于认证。由于OIDC是一个协议族,如果只是简单的只关注其核心部分其实是不足以搭建一个完整的OIDC服务的。本篇则解释下OIDC中比较常用的阅读全文
posted @ 2017-11-16 13:39 blackheart 阅读(3031) 评论(17) 编辑
摘要: 先看一下Redis是一个什么东西。官方简介解释到:Redis是一个基于BSD开源的项目,是一个把结构化的数据放在内存中的一个存储系统,你可以把它作为数据库,缓存和消息中间件来使用。同时支持strings,lists,hashes,sets,sorted sets,bitmaps,hyperloglo阅读全文
posted @ 2017-11-06 15:31 blackheart 阅读(4706) 评论(13) 编辑
摘要: 衔接上文[解读REST] 5.Web的需求 & 推导REST,上文根据Web的需求推导出了REST架构风格,以及REST的详细描述和解释。自从1994年以来,REST架构风格被用于指导Web架构的设计和开发工作,最重要的两点体现是在设计HTTP和URI两个互联网规范协议中,以及实现这些规范的libw阅读全文
posted @ 2017-10-21 15:21 blackheart 阅读(877) 评论(0) 编辑
摘要: 衔接上文[解读REST] 4.基于网络应用的架构风格,上文总结了一些适用于基于网络应用的架构风格,以及其评估结果。在前文的基础上,本文介绍一下Web架构的需求,以及在对Web的关键协议进行设计和改进的过程中遇到的问题;以及在对基于网络应用的架构风格进行评估的过程中的领悟;结合Web的需求进而推导出R阅读全文
posted @ 2017-10-15 15:44 blackheart 阅读(819) 评论(0) 编辑
摘要: 衔接上文[解读REST] 3.基于网络应用的架构,上文介绍了一组自洽的术语来描述和解释软件架构;如何利用架构属性评估一个架构风格;以及对于基于网络的应用架构来说,那些架构属性是值得我们重点关注评估的。本篇在以上的基础上,列举一下一些常见的(REST除外)的适用于基于网络应用的架构风格,并使用对比架构阅读全文
posted @ 2017-09-24 13:33 blackheart 阅读(802) 评论(4) 编辑
摘要: 链接上文[解读REST] 2.REST用来干什么的?,上文中解释到什么是架构风格和应该以怎样的视角来理解REST(Web的架构风格)。本篇来介绍一组自洽的术语,用它来描述和解释软件架构;以及列举下对于基于网络的应用来说,哪些点是需要我们重点关注的。 1 软件架构 软件架构方面关注的是如何以最佳的方式阅读全文
posted @ 2017-09-17 16:58 blackheart 阅读(709) 评论(3) 编辑
摘要: 衔接上文[解读REST] 1.REST的起源,介绍了REST的诞生背景。每当笔者遇到一个新事物的想去了解的时候,总是会问上自己第一个问题,这个新事物是干什么用的?在解释我所理解的REST这个过程中也不例外,这篇博客我们先关注一下REST是干什么用的,然后后续再解释REST是什么。好了,不说废话了,在阅读全文
posted @ 2017-09-15 23:24 blackheart 阅读(566) 评论(3) 编辑
摘要: 0. 世界上第一个网站 1990年12月20日,这一天对于现在的互联网来说意义非凡。欧洲核子研究组织(CREN)的科学家Tim Berners-Lee在一台NeXT电脑上启动了世界上的第一个网站(当然当时仅能Tim Berners-Lee自己访问),这台电脑至今仍保留在CREN,但当年那个网站已经不阅读全文
posted @ 2017-09-06 10:06 blackheart 阅读(895) 评论(0) 编辑
摘要: 在信息安全领域,一般把Cryptography称为密码,而把Password称为口令。日常用户的认知中,以及我们开发人员沟通过程中,绝大多数被称作密码的东西其实都是Password(口令),而不是真正意义上的密码。本文保持这种语义,采用密码来代指Password,而当密码和口令同时出现时,用英文表示阅读全文
posted @ 2017-07-23 14:24 blackheart 阅读(1206) 评论(3) 编辑
摘要: 0. 简单回顾 在前面两篇博客中介绍了密码相关的一些基本工具,包括(对称密码,公钥密码,密码散列函数,混合密码系统,消息认证码码,数字签名,伪随机数,数字证书)这几个。其中它们之间也是互相依赖的,我们来简单的梳理一下它们的依赖关系。 这篇要介绍的HTTPS,则把以上这些全都派上场了。 1. HTTP阅读全文
posted @ 2017-07-04 22:25 blackheart 阅读(814) 评论(7) 编辑
摘要: 在上一篇1.密码工具箱中介绍了一些密码技术相关的一些基本工具,同时遗留了一个鸡生蛋蛋生鸡的问题和公钥的认证问题( ̄▽ ̄)",这里再补充几个常用的工具先。 1. 伪随机数生成器(Pseudo-Random Number Generator) 随机数大家不陌生,但是随机数怎么就和信息安全扯上关系了呢?其阅读全文
posted @ 2017-07-02 15:08 blackheart 阅读(645) 评论(1) 编辑
摘要: 0. 何谓安全? 对于信息安全性的重要性,我想大家都不会否认。那么具体来说应该具有哪些特性才能称之为安全呢?举个简单的例子:我给你发送一条消息“借给我100元”,当你收到这条消息并且处理后你的账户里面会少出来100块,我的账户会多出来100块。在这个过程中,你是消息接收方,我是消息发送方。 总结来说阅读全文
posted @ 2017-06-26 22:55 blackheart 阅读(1272) 评论(4) 编辑
摘要: 1 什么是OIDC? 看一下官方的介绍(http://openid.net/connect/): OpenID Connect 1.0 is a simple identity layer on top of the OAuth 2.0 protocol. It allows Clients to 阅读全文
posted @ 2017-05-30 09:18 blackheart 阅读(18089) 评论(32) 编辑
摘要: 0. Cake是什么? Cake是C# Make的缩写,是一个基于C# DSL的自动化构建系统。它可以用来编译代码,复制文件以及文件夹,运行单元测试,压缩文件以及构建Nuget包等等。 熟悉大名鼎鼎的Make的小伙伴,应该已经知道Cake大致是个什么样的工具了,Cake具有以下几个特点: 1. 一个阅读全文
posted @ 2017-05-06 22:37 blackheart 阅读(2215) 评论(7) 编辑
摘要: OAuth 2.0 规范定义了一个授权(delegation)协议,对于使用Web的应用程序和API在网络上传递授权决策非常有用。OAuth被用在各钟各样的应用程序中,包括提供用户认证的机制。这导致许多的开发者和API提供者得出一个OAuth本身是一个认证协议的错误结论,并将其错误的使用于此。让我们阅读全文
posted @ 2017-04-09 16:59 blackheart 阅读(7290) 评论(4) 编辑