摘要:
一个最简单的 Spring Boot 程序如下: import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @Spri 阅读全文
摘要:
读者在看这篇文章之前,请先了解 Oauth2.0 的 Authorization Code 授权流程,可以看 Authorization Code 授权原理和实现方法 在 Token Enpoint 中,按照 Oauth2.0 的标准,需要传递一个 redirect_uri 参数。然而,代码却只对这 阅读全文
摘要:
有两个人 A 和 B。 A 通过网络向 B 发送一条消息。B 收到了之后,怎么确认: 1,这条消息没有被中间人篡改过 2,这条消息确实来自于 A,而不是某个 C 伪造出来的 答案就是使用 MAC。A 在发送消息时,计算出该消息的 MAC 值,并将其一起发送给 B。B 收到之后,便可以根据 MAC 确 阅读全文
摘要:
原型链是很特别的设计,它使得 js 的继承机制独树一帜。在 js 的世界里,不存在类继承,只有对象继承。 在 js 诞生之初是没有类这个概念的,只有用来创建对象的构造函数,而函数本身只是一种特殊的对象。即便后来出现了 class,也没有改变本质。js 的 class 和 c++ / java 里面的 阅读全文
摘要:
async 和 await 几乎是 NodeJS 的最典型关键字,最能代表 NodeJS 的特色,然而掌握这两个关键字的原理却不容易。这篇文章使用从零“构建”出 async 和 await 关键字的方式,来帮助理清 async 和 await 的本质。 先用一句话概括:async 和 await 阅读全文
摘要:
我们在访问很多大公司的开放 api 的时候,都会发现这些 api 要求传递一个 access token 参数。这个参数是什么呢?需要去哪里获取这个 access token 呢? access token 是在 Oauth2.0 协议中,客户端访问资源服务器时需要带上的令牌(其实就是一段全局唯一的 阅读全文
摘要:
简单介绍 Oauth2.0 原理这篇文章里简单介绍了 Oauth2.0 的授权,那么具体到授权的细节是怎样的呢?如何自己实现授权流程呢? Oauth2.0 定义了几种授权流程,其中最重要、也最基础的是 Authorization Code 授权。先看流程图: 1,用户访问 A 网站 2,A 打开 B 阅读全文
摘要:
access token 是在 Oauth2.0 协议中,客户端访问资源服务器的令牌(其实就是一段全局唯一的随机字符串)。拥有这个令牌代表着得到用户的授权。它里面包含哪些信息呢?答案是: 哪个用户 在什么时候 授权给哪个客户端 去做什么事情 对于不想知道原理,只想知道怎么使用 access toke 阅读全文
摘要:
有两家互联网企业 A 和 B,其中 B 是一家提供相片云存储的公司。用户可以把相片上传到 B 网站上长期保存,然后可以在不同的设备上查看。某一天,A 和 B 谈成了一项合作:希望用户在使用 A 网站时,也可以观看他在 B 的相片。这个技术上要怎么实现呢? 选项一:由 B 提供一个接口: GET /p 阅读全文
摘要:
功能实现 这个自不必说。性能与可伸缩性 根据预期的访问量,评估机器负载情况。如果在可预期的未来一台服务器可以撑得住,则没必要使用多台服务器。需要对多个环节进行性能评估:web服务器、逻辑服务器、DB等等。同时每个环节都可以考虑是否需要缓存。 在web服务器层面,有一个重要的点,即系统的 URL... 阅读全文