Yii 2.0 Restful 接口 三种方式问题
想问一下 HttpBasicAuth 是不是 简单的说 就是 登录之后 服务器返回一个access_token给手机端, 然后之后所有的url请求里 都在头部加入access-token 键值对是 Authorization:Basic xxxxx 这样的形式吗。
QueryParamAuth 是我唯一在postman里实现的,但是感觉比较简单,安全性一般 单纯就是在数据库里加入 access_token 字段 然后再请求url后面加上 access-token=xxx 这种形式的,然后我会得到整个数据库的内容,而不是单一的对应的某个用户的数据(也可能是我没做限制,不是很懂)
HttpBearerAuth 不是很懂 感觉和HttpBasicAuth有点类似,是不是登录后 在头部加入类似Authorization:Bearer XXXX 这样的形式。
现在有个问题是,我模型User里有个validatePassword方法 里面返回password
return $this->password === ($password);
但是这个 $this->password 是 null (不是很懂Yii框架, 这个是要自己去数据库里找出password赋值给$password 还是 有什么其他方式?) 目前demo是直接用 $password = 123;这样的形式
希望能简单说一下三种方式整个运行套路。。 * google segmentfault 都看了好多了 还是不是很懂。。
谢谢各位。
回复内容:
公司做手机端,需要调用后台接口,主要原因是因为想安全一些,所以选择了Yii2.0,因为之前一直用的Qee框架,Yii不是特别熟悉,而且后来做Ionic,更加不熟悉框架。现在让我(小白),研究如何写一套Restful的接口。。
想问一下 HttpBasicAuth 是不是 简单的说 就是 登录之后 服务器返回一个access_token给手机端, 然后之后所有的url请求里 都在头部加入access-token 键值对是 Authorization:Basic xxxxx 这样的形式吗。
QueryParamAuth 是我唯一在postman里实现的,但是感觉比较简单,安全性一般 单纯就是在数据库里加入 access_token 字段 然后再请求url后面加上 access-token=xxx 这种形式的,然后我会得到整个数据库的内容,而不是单一的对应的某个用户的数据(也可能是我没做限制,不是很懂)
HttpBearerAuth 不是很懂 感觉和HttpBasicAuth有点类似,是不是登录后 在头部加入类似Authorization:Bearer XXXX 这样的形式。
现在有个问题是,我模型User里有个validatePassword方法 里面返回password
return $this->password === ($password);
但是这个 $this->password 是 null (不是很懂Yii框架, 这个是要自己去数据库里找出password赋值给$password 还是 有什么其他方式?) 目前demo是直接用 $password = 123;这样的形式
希望能简单说一下三种方式整个运行套路。。 * google segmentfault 都看了好多了 还是不是很懂。。
谢谢各位。
Yii2的RESTful API认证问题,我之前也遇到过。认证的方式是可以采用官方提供的方式,然后也可以再自己扩展的。我后来写过一篇文章Yii2使用RESTful API及其认证问题。可以供题主参考。
我觉得你不必使用Yii, 转而使用一个router结合你比较熟悉的Qee来做, 比如 nikic/FastRoute, thephpleague/route;
或者使用slim这样轻量的框架;
目前还是选择了 最简单的QueryParamAuth方法 之前公司电脑上高级版一直无法运行起来 现在可以运行了 做restful的话 最好还是用高级版 方便。。 QueryParamAuth方法的话 只需要再url后面加上?access-token=xxxx 就可以。。 密码问题用高级版 就直接没有问题了 所以还是极力推荐直接高级版。。