Yii2框架之旅(七)

一、Yii2 RESTful API认证

调用接口不需要你每次都输入账号密码验证,而是通过你的账号密码获取一个access_token,这样每次调用接口的时候只要验证access_token是否存在就行了。

1.将之前的AdminLoginForm复制到api的models中并且改名为ApiLoginForm,我们继续使用AdminUser作为api的认证类,调用接口用不到session和cookie,所以要在main配置文件中将其注释掉。

Yii2框架之旅(七)

2.在AdminUser类中添加一个获取access_token的方法,如果你的admin_user表中没有access_token字段你需要添加此字段。

Yii2框架之旅(七)

3.在ApiLoginForm中重写login()方法:

Yii2框架之旅(七)

4.在api中创建AdminUserController

Yii2框架之旅(七)

5.配置控制器Url规则:

Yii2框架之旅(七)

6.测试一下看看:

Yii2框架之旅(七)

Yii2框架之旅(七)

数据库中:

Yii2框架之旅(七)

7.在AdminUser类中重写findIdentityByAccessToken()方法:

Yii2框架之旅(七)

8.在你需要访问的api接口控制器中重写behaviors()方法:

Yii2框架之旅(七)

9.如此你访问接口时就需要access_token进行验证了:

Yii2框架之旅(七)

 

Yii2框架之旅(七)

加上刚刚生成的access_token试试:

Yii2框架之旅(七)

大功告成:

Yii2框架之旅(七)

预知Yii2框架中如何使用redis,请听下回分解。

上一篇:php – 使用IntlDateFormatter转换非公历日期


下一篇:PHP与IntlDateFormatter