设计API接口需要考虑安全性,很有必要理清 Identification 识别、Authentication 认证和 Authorization 授权三者关系,其实很简单,举个例子来说: 你要登陆系统, 你有一个用户名 jack,它可以唯一代表你,这就是 Identification 识别; 你输入的用户名 jack 和 密码 123456,服务器验证通过,服务器认为你就是 jack,这就是 Authentication  认证; 你登陆系统后,可以发布/编辑文章,这就是 Authorization 授权。   Identification 识别 判断使用者是谁,鉴定必须是独一无二的,才能正确的分辨出每个人。 主要回答这些问题: 谁是用户?   Authentication 认证 判断使用者是不是他所宣称的那个人, 如帐号密码机制,是基于帐号密码为只有本人跟系统本身才知道的共享秘密,所以只要可以正确输入密码,系统就可判断使用者为这个帐号所代表的人物。 主要回答这些问题: 谁是用户? 用户真的是他/她代表自己的人吗?   Authorization 授权 判断当前使用者所拥有对系统资源存取的权限(等级),例如会员登入后拥有读写资源的权力,而访客只有读的权力。 主要回答这些问题: 用户X是否有权访问资源R? 用户X是否被授权执行操作P? 用户X是否被授权在资源R上执行操作P?   综述 上面识别、认证、授权三者的关系: 系统要知道某个使用者对系统资源的存取权力,包含三个部分 Identification  识别:使用者告诉系统他是谁。… Continue Reading Identification 识别、Authentication 认证和 Authorization 授权三者关系