REST学习了不少,但是对其的认证方式却很模糊。通常一个好的REST API应该能适应浏览器或者本地客户端的认证。我开发了一个JAVA的WEB程序,提供了一个service的REST API,一开始我计划采用HTTP session的方式来认证。HTTP session可以很方便的提供认证。无论是ajax还是传统浏览器方式基于API可以很方便的认证,但是当我在使用客服端的时候遇见了问题。于是我开始尝试无状态的认证方式。我尝试了很多认证方式,比如HTTP basic 、 数字认证、http session、cookies、xsrf等等……。现在我都不知道是使用什么才是比较适合的认证了。

HTTP session VS stateless auth token

这·两种方式有什么不同?我不是太了解。

http session:

  • 基于URL,必须提供一个url来认证
  • server必须记住一些用户信息,而且会返还session id来标记(session的实习原理)
  • 浏览器或者客服端必须每次在请求中包括这个字段,用来标示身份。(当清除cookies的时候会发生认证丢失)
  • 浏览器或者客服端不用输入认证信息,当已经认证了的时候。(浏览器会发送比如session id给server)

stateless auth token:

  • 需要请求的URL。
  • server只会返回成功与否的状态,不会返回任何key、value。
  • server会创建auth token然后发送给客服端。
  • 访问需要权限的页面的时候,要求带着auth toke。

两种方式都很容易实现。无论是在浏览器或者客服端使用。

http basic

使用SSL协议的很多WEB service网站都使用http basic 来认证。http basic 认证非常的容易实现。但是认证需要https通道,登出注销无法控制。

参考文档

注释和共享

读《和时间做朋友》有感

花了一周时间,断断续续的读完了《和时间做朋友》。书中说了很多道理,有的感觉有用,记录下来。

感受

  1. 态度的重要性

本书从人,自己的态度去描述了时间。其中指出了时间的不可变性,但是人为的态度是很不一样的。书中例举出来一个常见现象:比如学生常问老师单词的意义。为什么?为什么学生不能自己解决呢?书中指出是因为“懒惰”,不愿花费时间去解决。

从中会感慨很多,人何尝不是懒惰的?比如下面情况:

  • 有电梯和楼梯的时候,大家都愿意走电梯。
  • 网上能获取的资源,都不愿意去图书馆。
  • 有近路的时候,都走近路。
  • 愿意问别人自己不知道的问题,不愿自己研究。
阅读全文
  • 第 1 页 共 1 页

Javy Liu

author.bio


author.job


beijing