Skip to content

Commit

Permalink
fix add displayed_on_home
Browse files Browse the repository at this point in the history
--ci
  • Loading branch information
linianhui committed Nov 20, 2022
1 parent a03d847 commit 03e0cc0
Show file tree
Hide file tree
Showing 79 changed files with 67 additions and 13 deletions.
2 changes: 1 addition & 1 deletion .hugo/layout/index.html
@@ -1,6 +1,6 @@
{{ define "content" }}
{{ range .Site.RegularPages }}
{{- if ne .Params.noHome true }}
{{- if eq .Params.displayed_on_home true }}
{{ .Render "summary"}}
{{- end -}}
{{ end }}
Expand Down
Expand Up @@ -3,6 +3,7 @@ title: '[认证&授权] 01 OAuth2授权'
created_at: 2017-01-09 09:40:00
tag: ["OAuth2", "Access Token", "Refresh Token", "Authorization Code", "Implicit", "Resource Owner Password Credentials", "Client Credentials"]
toc: true
displayed_on_home: true
---

# 1 OAuth2解决什么问题的? {#what-is-oauth2-use-for}
Expand Down
Expand Up @@ -3,6 +3,7 @@ title: '[认证&授权] 02 OAuth2授权(续) & JWT(JSON Web Token)'
created_at: 2017-04-03 03:56:00
tag: ["OAuth2", "JWT"]
toc: true
displayed_on_home: true
---

# 1 RFC6749还有哪些可以完善的? {#rfc6749-defects}
Expand Down
Expand Up @@ -2,6 +2,7 @@
title: '[认证&授权] 03 使用OAuth2进行用户认证(译)'
created_at: 2017-04-09 16:59:00
toc: true
displayed_on_home: true
---

原作者 : [Justin Richer], 原文: [User Authentication with OAuth 2.0][OAuth2-Authentication]
Expand Down
Expand Up @@ -4,6 +4,7 @@ created_at: 2017-05-30 09:18:00
tag: ["OAuth2", "JWT", "OIDC", "OpenId Connect", "OP", "RP", "Id Token"]
toc: true
weight: 1
displayed_on_home: true
---

# 1 什么是OIDC? {#what-is-oidc}
Expand Down
Expand Up @@ -3,6 +3,7 @@ title: '[认证&授权] 05 OIDC(OpenId Connect)身份认证(扩展部分)'
created_at: 2017-11-16 13:39:00
tag: ["OAuth2", "OIDC", "OpenId Connect", "OIDC Discovery", "OAuth 2.0 Multiple Response", "OAuth 2.0 Form Post Response", "Session Management", "SSO", "Id Token"]
toc: true
displayed_on_home: true
---

在上一篇[[认证&授权] 04 OIDC(OpenId Connect)身份认证(核心部分)][04]中解释了OIDC的核心部分的功能,即OIDC如何提供`id_token`来用于认证。由于OIDC是一个协议族,如果只是简单的只关注其核心部分其实是不足以搭建一个完整的OIDC服务的。本篇则解释下OIDC中比较常用的几个相关扩展协议,可以说是搭建OIDC服务必备的几个扩展协议(在上一篇中有提到这几个协议规范):
Expand Down
Expand Up @@ -3,6 +3,7 @@ title: '[认证&授权] 06 Permission Based Access Control'
created_at: 2018-01-13 15:23:00
tag: ["Access Token", "Id Token", "Permission", "Scope", "Role", "Shiro"]
toc: true
displayed_on_home: true
---

在前面5篇博客中介绍了OAuth2和OIDC(OpenId Connect),其作用是授权和认证。那么当我们得到OAuth2的`Access Token`或者OIDC的`Id Token`之后,我们的**资源服务**如何来验证这些token是否有权限来执行对资源的某一项操作呢?比如我有一个API `/book`,它具有如下5个操作 :
Expand Down
1 change: 1 addition & 0 deletions src/code-guide/http-api/index.md
Expand Up @@ -4,6 +4,7 @@ created_at: 2018-03-31 09:02:21
tag: ["REST", "HTTP", "API", "JSON", "URL", "资源", "表述", "i18n", "命名规则", "设计指南"]
toc: true
weight: 1
displayed_on_home: true
---

根据REST APIs的成熟度模型 ,此规范关注的是`Level 2`的APIs。
Expand Down
Expand Up @@ -3,6 +3,7 @@ title: '[计算机网络编程] IO Multiplexing API'
created_at: 2021-04-13 17:08:23
tag: ["io","multiplexing","networking","programming","select","poll","epoll","c10k","aio","iocp","kqueue","libuv","libevent"]
toc: true
displayed_on_home: true
---

在上一节[Socket](../socket/)中介绍了socket相关的一些基础函数,以及一个基础版本的echo客户端和服务器程序,同时也遗留了一些问题[^socket-problem]
Expand Down
Expand Up @@ -3,6 +3,7 @@ title: '[计算机网络编程] 运行时架构'
created_at: 2021-04-23 13:46:23
tag: ["io","networking","runtime-architecture","architecture","thread-model"]
toc: true
displayed_on_home: true
---

基于`IO模型`[^io-model]`Socket API`[^socket]以及`IO Multiplexing API`[^io-multiplexing],基本上已经涵盖了目前基于网络编程的所使用的主流技术点。那么我们就可以评估一下各种组合方式所带来的 **架构属性**[^architectural-properties-of-key-interest]
Expand Down
1 change: 1 addition & 0 deletions src/computer-networking-programming/socket/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[计算机网络编程] Socket API'
created_at: 2021-04-13 17:01:23
tag: ["socket"]
toc: true
displayed_on_home: true
---

**Socket**[^socket]是一套抽象的用于网络通信的API,它使得应用层可以不必关心底层繁琐的传输通信细节。
Expand Down
1 change: 1 addition & 0 deletions src/computer-networking/00-overview/index.md
Expand Up @@ -3,6 +3,7 @@ title: "[计算机网络] 00 概述"
created_at: 2019-09-22 08:10:00
tag: ["ARPNET","IETF","LAN", "WAN", "WLAN", "WiFi", "分组&交换", "速率", "带宽", "延迟", "RTT", "OSI", "TCP/IP", "信道利用率","bps","pps"]
toc: true
displayed_on_home: true
---

1969年11月美国国防部建立了一个名为**ARPANET**(Internet的雏形)的**分组&交换**网络,当前时间是2019年,50年过去了,如今的网络已经融入了社会的方方面面,其重要性不言而喻。本系列博客专注于**计算机网络**的核心概念和体系结构,并不涉及网络编程的概念。
Expand Down
1 change: 1 addition & 0 deletions src/computer-networking/01-layer-physical/index.md
Expand Up @@ -3,6 +3,7 @@ title: "[计算机网络] 01 [Layer] Physical"
created_at: 2019-09-22 08:11:00
tag: ["信道","单工","半双工","全双工"]
toc: true
displayed_on_home: true
---

# 1 物理层的用途 {#physical-purpose}
Expand Down
1 change: 1 addition & 0 deletions src/computer-networking/02-layer-data-link/index.md
Expand Up @@ -3,6 +3,7 @@ title: "[计算机网络] 02 [Layer] Data Link"
created_at: 2019-09-22 08:12:00
tag: ["封装成帧","透明传输","差错检测","Frame","MTU","SOH","EOT","ESC","CRC","FCS","MAC","ARP","ICMPv6","Switch","L2 Switch","交换机","二层交换机","以太网交换机"]
toc: true
displayed_on_home: true
---

# 1 数据链路层的用途 {#data-link-purpose}
Expand Down
1 change: 1 addition & 0 deletions src/computer-networking/03-layer-internet/index.md
Expand Up @@ -3,6 +3,7 @@ title: "[计算机网络] 03 [Layer] Internet"
created_at: 2019-09-22 08:13:00
tag: ["IP","IPv4","IPv6"]
toc: true
displayed_on_home: true
---


Expand Down
1 change: 1 addition & 0 deletions src/computer-networking/io-model/index.md
Expand Up @@ -2,6 +2,7 @@
title: "[计算机网络] IO 模型"
created_at: 2020-02-20 21:40:00
toc: true
displayed_on_home: true
---

# 1 基本概念 {#concept}
Expand Down
1 change: 1 addition & 0 deletions src/computer-networking/nat/index.md
Expand Up @@ -3,6 +3,7 @@ title: "[计算机网络] NAT"
created_at: 2020-02-20 21:20:00
tag: ["NAT","SNAT","DNAT","PAT","NAPT"]
toc: true
displayed_on_home: true
---

# 1 NAT {#nat}
Expand Down
1 change: 1 addition & 0 deletions src/computer-networking/tcp/index.md
Expand Up @@ -3,6 +3,7 @@ title: "[计算机网络] TCP"
created_at: 2020-02-20 20:55:00
tag: ['tcp','full duplex','segment','pcap','syn','ack','fin','time_wait','rwnd','cwnd']
toc: true
displayed_on_home: true
---

TCP(Transmission Control Protocol)是一种**全双工的****面向连接的****基于字节流的****可靠的(尽最大努力交付)****有状态的** 传输层通信协议。先看一TCP的数据包`Segment`[^segment]长什么样子,后续的各种功能都会体现在其中:
Expand Down
1 change: 1 addition & 0 deletions src/docker/best-practice/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Docker] Best Practice'
created_at: 2020-04-12 17:13:01
tag: ["docker","Best Practice","PID","ENTRYPOINT","bash","dash"]
toc: true
displayed_on_home: true
---

# 1 ENTRYPOINT {#entrypoint}
Expand Down
1 change: 0 additions & 1 deletion src/docker/file/index.md
Expand Up @@ -3,7 +3,6 @@ title: '[Docker] File'
created_at: 2022-02-06 16:21:01
tag: ["docker"]
toc: true
noHome: true
---

# 1 File List {#list}
Expand Down
1 change: 1 addition & 0 deletions src/git/content-addressable-filesystem/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Git] 内容寻址文件系统'
created_at: 2021-04-27 00:55:01
tag: ["Git","content-addressable","filesystem","blob","tree","commit"]
toc: true
displayed_on_home: true
---

不要感觉奇怪,为什么介绍Git的文章里面怎么会出现一个**文件系统**,还**内容寻址**,这都是什么啊?其实`内容寻址文件系统(content-addressable filesystem)`才是git的底层核心,而我们平时使用的`commit``branch``checkout`等等命令仅仅只是在上层包装成了VCS(version control system)的样子。
Expand Down
1 change: 1 addition & 0 deletions src/git/gitattributes/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Git] .gitattributes'
created_at: 2020-01-16 20:52:01
tag: ["Git","gitattributes"]
toc: true
displayed_on_home: true
---

# 1 `.gitattributes` 的作用 {#effects}
Expand Down
1 change: 1 addition & 0 deletions src/hbase/best-practice/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[HBase] Best Practice'
created_at: 2022-09-03 10:01:00
tag: ["hbase", "Best Practice"]
toc: true
displayed_on_home: true
---

# 1 RowKey {#rowkey}
Expand Down
1 change: 1 addition & 0 deletions src/hbase/key-value/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[HBase] KeyValue'
created_at: 2022-01-16 09:50:00
tag: ["hbase", "KeyValue"]
toc: true
displayed_on_home: true
---

KeyValue[^keyvalue-source-code][^keyvalue-doc]是HBase的最底层的核心存储结构,也是数据最终格式持久化的格式。这里分析一下格式细节。
Expand Down
1 change: 1 addition & 0 deletions src/hbase/split-policy/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[HBase] Region Split Policy'
created_at: 2022-05-15 16:25:00
tag: ["hbase", "Split"]
toc: true
displayed_on_home: true
---

# 1 概述 {#overview}
Expand Down
Expand Up @@ -3,6 +3,7 @@ title: "[信息安全] 01 密码工具箱 第1部分"
created_at: 2017-06-26 22:55:00
tag: ["MD5", "SHA", "DES", "AES", "RSA", "MAC", "HEX", "base64", "数字签名"]
toc: true
displayed_on_home: true
---

# 0 何谓信息安全? {#0.what-is-information-security}
Expand Down
Expand Up @@ -3,6 +3,7 @@ title: '[信息安全] 02 密码工具箱 第2部分'
created_at: 2017-07-02 15:08:00
tag: [ "随机数", "混合密码", "证书", "PKI", "cer", "pfx", "p12", "pem"]
toc: true
displayed_on_home: true
---

在上一篇[[信息安全] 01 密码工具箱 第1部分](../01-cryptography-toolbox-1/)中介绍了一些密码技术相关的一些基本工具,同时遗留了**一个鸡生蛋蛋生鸡的问题****公钥的认证问题**( ̄▽ ̄)",这里再补充几个常用的工具先。
Expand Down
1 change: 1 addition & 0 deletions src/information-security/03-https/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[信息安全] 03 HTTPS工作流程'
created_at: 2017-07-04 22:25:00
tag: ["HTTPS", "SSLKEYLOGFILE", "会话密钥"]
toc: true
displayed_on_home: true
---

# 1 简单回顾 {#review}
Expand Down
1 change: 1 addition & 0 deletions src/information-security/04-one-time-password/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[信息安全] 04 一次性密码 & 身份认证'
created_at: 2017-07-23 14:24:00
tag: ["OTP", "HOTP", "TOTP", "MFA", "2FA", "2SV"]
toc: true
displayed_on_home: true
---

在信息安全领域,一般把**Cryptography**称为**密码**,而把**Password**称为**口令**。日常用户的认知中,以及我们开发人员沟通过程中,绝大多数被称作密码的东西其实都是Password(口令),而不是真正意义上的密码。本文保持这种语义,采用密码来代指Password,而当密码和口令同时出现时,用英文表示以示区分。
Expand Down
1 change: 1 addition & 0 deletions src/information-security/05-x.509/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[信息安全] 05 X.509 公钥证书的格式标准'
created_at: 2020-02-15 13:07:23
tag: ["X.509", "X.690", "ASN.1", "DER", "PEM", "CRL", "CA"]
toc: true
displayed_on_home: true
---

[X.509][X.509][# 公钥证书](#public-key-certificate)的格式标准, 广泛用于TLS/SSL安全通信或者其他需要认证的环境中。X.509证书可以由[# CA](#certificate-authority)颁发,也可以自签名产生。
Expand Down
1 change: 1 addition & 0 deletions src/java/cas/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Java] CAS(Compare And Swap)'
created_at: 2020-11-08 19:32:01
tag: ["Java", "CAS"]
toc: true
displayed_on_home: true
---

# 1 CAS(Compare And Swap) 概念和原理
Expand Down
1 change: 1 addition & 0 deletions src/java/gc/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Java] GC(Garbage Collection)'
created_at: 2020-11-06 19:32:01
tag: ["Java", "GC"]
toc: true
displayed_on_home: true
---

GC要解决的三个问题:
Expand Down
1 change: 1 addition & 0 deletions src/java/jmm/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Java] JMM(Java Memory Model)'
created_at: 2020-11-05 19:32:01
tag: ["Java", "JMM"]
toc: true
displayed_on_home: true
---

Java内存模型JMM(Java Memory Model)在Java中由两份规范文档定义:
Expand Down
1 change: 1 addition & 0 deletions src/java/jvm/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Java] JVM(Java Virtual Machine)'
created_at: 2020-03-04 19:32:01
tag: ["Java", "JVM", "Docker"]
toc: true
displayed_on_home: true
---

Java是一个跨平台的语言,当初的口号**编译一次,到处运行**。那么它是如何实现跨平台运行的呢?计算机领域有个有个著名的定理**中间层定律**:计算机科学领域的任何问题都可以通过增加一个中间层来解决。那么Java的跨平台也不例外,它就是通过添加了一个中间层来解决跨平台运行的问题的。
Expand Down
1 change: 1 addition & 0 deletions src/java/synchronized/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Java] synchronized'
created_at: 2020-11-08 19:33:01
tag: ["Java", "AQS","CAS","Lock","synchronized"]
toc: true
displayed_on_home: true
---

在Java中,有一个与锁有关的关键字`synchronized`,它是由JVM层面提供的`Monitor`来实现。
Expand Down
1 change: 1 addition & 0 deletions src/java/thread/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Java] Thread'
created_at: 2020-11-07 19:32:01
tag: ["Java", "Thread"]
toc: true
displayed_on_home: true
---

# 1 OS内核态进程
Expand Down
1 change: 1 addition & 0 deletions src/java/unsafe/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Java] Unsafe类'
created_at: 2020-11-04 19:32:01
tag: ["Java", "Unsafe"]
toc: true
displayed_on_home: true
---

Unsafe类是Java提供一个底层的类型,位于`sun.misc`包中,主要用来提供一些不安全的底层内存操作。
Expand Down
1 change: 1 addition & 0 deletions src/k8s/key-concept-pod/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[K8S] 核心概念 02 - Pod'
created_at: 2020-03-31 12:15:01
tag: ["K8S", "Pod"]
toc: true
displayed_on_home: true
---


Expand Down
1 change: 1 addition & 0 deletions src/k8s/kubectl/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[K8S] kubectl'
created_at: 2020-04-13 22:20:01
tag: ["K8S", "kubectl"]
toc: true
displayed_on_home: true
---

kubectl是k8s的command-line工具,用来管理k8s中的各种资源。kubectl是一个go编写的单文件可执行程序,支持Windows、Linux、macOS。kubectl通过HTTPS APIs和k8s的集群的API Service进行通信,使用这些APIs来提供管理功能。
Expand Down
1 change: 1 addition & 0 deletions src/linux/bash-01-basic/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Linux] 01 Basic'
created_at: 2017-01-06 16:34:01
tag: ["Linux", "bash"]
toc: true
displayed_on_home: true
---


Expand Down
1 change: 1 addition & 0 deletions src/linux/bash-02-expansion/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[Linux] 02 Expansion'
created_at: 2017-02-06 16:34:01
tag: ["Linux", "Expansion"]
toc: true
displayed_on_home: true
---

# Tilde Expansion `~` {#tilde-expansion}
Expand Down
1 change: 1 addition & 0 deletions src/mongodb/best-practice/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[MongoDB] Best Practice'
created_at: 2020-05-10 09:27:01
tag: ["Mongo","MongoDB","Best Practice"]
toc: true
displayed_on_home: true
---

# 1 Connection String {#connection-string}
Expand Down
1 change: 1 addition & 0 deletions src/oidc-in-action/01-oidc-sso/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[OIDC in Action] 01 基于OIDC的SSO'
created_at: 2017-11-26 01:09:00
tag: ["OIDC", "OpenId Connect", "SSO"]
toc: true
displayed_on_home: true
---

[[认证&授权]][authc-and-authz]系列博客中,分别对OAuth2和OIDC在理论概念方面进行了解释说明,其间虽然我有写过一个完整的示例(<https://github.com/linianhui/oidc.example>),但是却没有在实践方面做出过解释。在这里新开一个系列博客,来解释其各种不同的应用场景。因为OIDC是在OAuth2之上的协议,所以这其中也会包含OAuth2的一些内容。
Expand Down
1 change: 1 addition & 0 deletions src/oidc-in-action/02-oidc-sso-js-client/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[OIDC in Action] 02 基于OIDC的SSO - JS Client'
created_at: 2017-11-27 12:19:00
tag: ["OIDC", "OpenId Connect", "SSO", "oidc-client.js"]
toc: true
displayed_on_home: true
---

在上一篇[[OIDC in Action] 01 基于OIDC的SSO][01]的中涉及到了4个Web站点 :
Expand Down
1 change: 1 addition & 0 deletions src/oidc-in-action/03-oidc-sso-github-op/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[OIDC in Action] 03 基于OIDC的SSO - GitHub OP'
created_at: 2018-12-01 10:41:00
tag: ["SSO", "OIDC", "OpenId Connect", "OP", "OpenID Provider", "acr_values", "IDP"]
toc: true
displayed_on_home: true
---

在上上一篇[[OIDC in Action] 01 基于OIDC的SSO][01]的登录页面的截图中有出现QQ登录的地方。这个其实是通过扩展OIDC的OpenID Provider来实现的,OpenID Provider简称OP,OP是OIDC的一个很重要的角色,OIDC用它来实现兼容众多的用户认证方式的,比如基于OAuth2,SAML和WS-Federation等等的用户认证方式。关于OP在[[认证&授权] 04 OIDC(OpenId Connect)身份认证(核心部分)][authc-and-authz-oidc-core]中有提到过,但是并未详细解释。
Expand Down
1 change: 1 addition & 0 deletions src/programming-language/00-foreword/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[程序设计语言] 00 前言'
created_at: 2014-07-13 09:04:00
tag: ["抽象"]
toc: true
displayed_on_home: true
---

## 1 为何要读这本书? {#why-read-this-book}
Expand Down
1 change: 1 addition & 0 deletions src/programming-language/01-foundations/index.md
Expand Up @@ -3,6 +3,7 @@ title: '[程序设计语言] 01 基础'
created_at: 2014-07-20 19:58:00
tag: ["抽象", "汇编", "编译器", "解释器"]
toc: true
displayed_on_home: true
---

# 1 机器语言 > 汇编语言 > 高级语言 {#machine-assembly-high-level-language}
Expand Down
Expand Up @@ -3,6 +3,7 @@ title: '[程序设计语言] 02 [核心概念] 名字、作用域和约束(Bindi
created_at: 2014-08-03 09:09:00
tag: ["抽象", "名字", "作用域", "约束"]
toc: true
displayed_on_home: true
---

# 1 名字、约束时间(Binding Time) {#names-and-binding-time}
Expand Down
1 change: 1 addition & 0 deletions src/programming-language/03-control-flow/index.md
Expand Up @@ -2,6 +2,7 @@
title: '[程序设计语言] 03 [核心概念] 控制流'
created_at: 2014-08-27 09:30:00
toc: true
displayed_on_home: true
---

# 0 概述 {#0.overview}
Expand Down
1 change: 1 addition & 0 deletions src/programming-language/04-data-type/index.md
Expand Up @@ -2,6 +2,7 @@
title: '[程序设计语言] 04 [核心概念] 数据类型'
created_at: 2015-05-09 16:01:00
toc: true
displayed_on_home: true
---

# 0 概述 {#0.overview}
Expand Down

0 comments on commit 03e0cc0

Please sign in to comment.