yii2框架-restful的请求参数token验证(二十三)

最近出行市场发生一件大事:滴滴收购uber中国,两者正式联姻。
对于这次的收购合并,其实对于滴滴和uber来说都是双赢的。两者在市场的竞争中已经烧了不少的钱,而且uber的股东也建议TK(uber创始人)和滴滴讲和,不能在这样子无尽烧钱,毕竟人家投资人是要挣钱的。滴滴目前可以说是已经是国内的出行市场的老大了,乐视投资的”易到“已经是基本边缘化的了。
滴滴和uber的联姻都可以说明到过去的创业独角兽以前都是在百团甚至千团大战中为占领市场份额不断地烧钱竞争,但是每一个垂直行业最后能够活下来的也就那么几家,过度长期的烧钱是一个无尽洞,投资人也不是傻子。这两三年收购或者合并的独角兽包括,滴滴和快的(也就是现在滴滴出行),美团和大众点评,58同城和赶集,美丽说和蘑菇街,世纪佳缘和百合网,携程和去哪儿,阿里收购优酷,腾讯投资京东等等,这其实是在资本寒冬下,创业企业的抱团取暖,最终对于企业来说都是在增大各自领域的市场份额,回归商业的本质,公司步入正常的发展和运营管理轨道,提升服务品质及升级行业。
最近也有人说,滴滴可能会垄断市场,违反垄断法,这个还真的说不好!

ok,一些移动互联网周边事说完了,下面聊聊我们的yii2的restful的验证授权吧!
上两节我们说了restful的一些基础人们和自定义api的接口,但是我们通过http协议访问都是无状态的,服务端并不知道每一个请求是来自于那个用户的,所以有时我们访问一个接口,我们需要对访问的请求进行认证,认证通过了,才能继续往下访问,简单地说,这个验证也就是这个接口的网关,要往下执行必须要通过这个关口先。

yii2有三种的认证方式:
1、请求参数方式: access token
也即是当作API URL请求参数发送,例如 https://example.com/users?access-token=xxxxxxxx
2、HTTP 基本认证: 发送用户名username和password, 应用在access token可安全存在API使用端的场景.例如,API使用端是运行在一台服务器上的程序
3、OAuth 2: 使用者从认证服务器上获取基于 OAuth2协议的access token,然后通过 HTTP Bearer Tokens 发送到API 服务器。

下面直说前面两种.
第一种方式:
(1)因为RESTful APIs应为无状态的, 当yii\web\User::enableSession为false, 请求中的用户认证状态就不能通过session来保持。

在控制器中重写初始化函数,设置enableSession = false

public function init()
{
    parent::init();
    Yii::$app->user->enableSession = false;

(2)重写behaviors函数,配置authenticator,引入使用的认证方式。

yii\filters\auth\QueryParamAuth;
public function behaviors()
{
    $behaviors = par
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值