Json Web Token身份认证

用户身份认证一般有5种方式

  • HTTP Basic authentication
    在发送请求时在HTTP头中加入authentication字段,将用Base64编码的用户名和密码作为值,每次发送请求的时候都要发送用户名和密码,实现比较简单。

  • Cookies
    向后台发送用户名和密码,在用户名和密码通过验证后,保存返回的Cookie作为用户已经登录的凭证,每次请求时附带这个Cookie

  • Signatures
    用户拿到服务器给的私钥,在发送请求前,将整个请求使用私钥来加密,发送的将是一串加密信息,此方式只适用于API

  • One-Time Passwords
    一次一密,每次登录时使用不同的密码,一般由服务端通过邮件将密码发给用户,这种登录方式比较繁琐

  • JSON Web Token
    用户发送按照约定,向服务端发送HeaderPayloadSignature,并包含认证信息(密码),验证通过后服务端返回一个token,之后用户使用该token作为登录凭证,适合于移动端和api

阅读全文

内滚动

内滚动是一种布局,将传统的网页改造成类似于桌面软件的布局。像现在的酷我音乐盒的主体界面就是一个内滚动布局QQ音乐也是,将浏览器的滚动条用overflow: hidden隐藏,再用HTML和CSS画一个滚动条出来,通过JavaScript来处理滚动事件。这么做的好处一是增强用户体验,网页能有客户端的体验;二是可以自定义滚动条。下面我是用Vue做了个内滚动组件,用来简单介绍内滚动的实现。 使用例子(省去了部分标签和代码)

阅读全文

体验Angular2

前几天,Angular2终于发布了beta版本,API基本稳定了,我觉得是时候体验一下了。所以我决定用Angular2做一个提示框组件来试试。来看看新的Angular有什么优缺点。

阅读全文

广州11月份实习

2015年11月份,仍在广州实习。9月份时候的实习做的是Node.js开发,现在是Javascript工程师,也就是前端了。工作的内容也不难,但接触到的东西还是很有收获的。了解到公司的内部结构,使用的技术,真实的产品。尤其是使用浏览器内核来开发软件,解决了我好几年前关于软件开发的疑惑。还有就是MVVM框架Vue.js的使用,这个是主要内容了。

阅读全文

CSS3 Animation

CSS3 动画

CSS3 动画不需要写一行代码,简单的动画仅需要定义一个@keyframes并设置基本的参数就能动了。对比使用Javascript编写的动画,CSS3 动画更简单也更高效,使用sprite还能做出gif图片的效果。也可以搭配SVG使用。 动画一般是由多个不同的图片不断快速切换一张图片叫做一帧,在CSS中也一样,只不过不必须使用图片。而是使用@keyframes来定义一帧所要显示的“图片”。

阅读全文

广州实习

从19月份开始在广州实习,主要从事Node.js的开发,使用MongoDB数据库,Express框架。在后台主要提供的是RESTful的接口,前端使用Angular框架进行数据整合。以下做一个简单的总结。(部分代码来自于npmjs.org)

阅读全文

Git的各种撤销操作

使用版本控制工具Git最大的好处就是,发生错误操作、修改后可以恢复到原来最后一次正确的状态

撤销git push操作

运行git push后,会将新的commit提交到远程仓库。可以使用git revert来撤销操作

git revert <SHA>

阅读全文

Rust快速入门

Rust简介

Rust是一种编译语言,与CGo一样编译后生成的是二进制文件。Rust专注于安全速度并发。并且不需要垃圾回收器,这也让Rust在某些情况下比其他语言更好用。比如与其他语言混合编写嵌入其中、编写底层软件,驱动或操作系统。Rust在编译期间会将语法错误和不安全因素最大程度地找出来,从而避免在程序运行时出现问题。Rust语言可以胜任三个软件层次的开发。并且在今年5月15号发布了第一个1.0.0正式版本。

阅读全文

作者的图片

Lin-H

keep learning

Web Developer

China Guangzhou