登录接口
创建控制器
PHP think make:controller 应用目录@Login --plain
定义路由 添加跨域请求 tp6.0 只需在路由后跟? allowCrossDomain()即可
Route::get('login','Login/login')->allowCrossDomain();
控制器中定义login方法
public function login(){
//接值
$data = input();
//查库
$find = User::where('username',$data['username'])->find();
//判断库中是否存在此用户
if($find){
//判断密码是否正确
if($data['password'] == $find['password']){
$token = Token::getToken($find['id']);
return success([
'token' => $token
]);
}else{
return fail('密码错误',2001);
}
}else{
return fail('用户不存在',2002);
}
}
然后在postman对接口进行测试
登录成功后 可以颁发Token? 即为成功
![](https://img-blog.csdnimg.cn/d7630dfad8c341bfbd9de4c6b22da2bd.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZHEwODE3Xw==,size_20,color_FFFFFF,t_70,g_se,x_16)
退出登录
创建路由
Route::get('logout', 'Login/logout')->allowCrossDomain();
控制器方法
public function logout(){
//清空token 将需清空的token存入缓存,再次使用时,会读取缓存进行判断
$token = Token::getRequestToken();
$delete_token = cache('delete_token') ?: [];
$delete_token[] = $token;
$res = cache('delete_token', $delete_token, 86400);
return success();
}
postman 进行接口测试
![](https://img-blog.csdnimg.cn/acfacc994113453b99441cec5d76eb70.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZHEwODE3Xw==,size_20,color_FFFFFF,t_70,g_se,x_16)
?![](https://img-blog.csdnimg.cn/77ce0f4a17ae4c7ba2606caa7f2ae079.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZHEwODE3Xw==,size_20,color_FFFFFF,t_70,g_se,x_16)
?
|