一、Yii2 RESTful API认证
调用接口不需要你每次都输入账号密码验证,而是通过你的账号密码获取一个access_token,这样每次调用接口的时候只要验证access_token是否存在就行了。
1.将之前的AdminLoginForm复制到api的models中并且改名为ApiLoginForm,我们继续使用AdminUser作为api的认证类,调用接口用不到session和cookie,所以要在main配置文件中将其注释掉。
2.在AdminUser类中添加一个获取access_token的方法,如果你的admin_user表中没有access_token字段你需要添加此字段。
3.在ApiLoginForm中重写login()方法:
4.在api中创建AdminUserController
5.配置控制器Url规则:
6.测试一下看看:
数据库中:
7.在AdminUser类中重写findIdentityByAccessToken()方法:
8.在你需要访问的api接口控制器中重写behaviors()方法:
9.如此你访问接口时就需要access_token进行验证了:
加上刚刚生成的access_token试试:
大功告成:
预知Yii2框架中如何使用redis,请听下回分解。