api guard,attempt已解决

路由

Route::post('login','Api\UserController@login')->name('login');

控制器

public function login(LoginRequest $request)
    {
        $validated = $request->validated();
        $data = $this->userModels->getRow($validated['username']);
        if ($data['user_active'] == 0 && $data['status'] != 0){
            return Response::json(['state'=>403,'msg'=>'等待管理员审核通过后再进行登录','data'=>$validated]);
        }
        if (1){
//            Auth::attempt($validated)
  dd(Auth::guard('api')->attempt($validated));
            return Response::json(['state'=>200,'msg'=>'登录成功','data'=>Auth::user()]);
        }
        return Response::json(['state'=>403,'msg'=>'账号密码不匹配','data'=>$validated]);
    }

auth.php

'defaults' => [
    'guard' => 'web',
    'passwords' => 'users',
],
'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
        'hash' => false,
    ],
],
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    // 'users' => [
     //     'driver' => 'database',
     //     'table' => 'users', 
     //],
 ],
ShiKi
《L04 微信小程序从零到发布》
从小程序个人账户申请开始,带你一步步进行开发一个微信小程序,直到提交微信控制台上线发布。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
最佳答案

api guard 是没有 attempt 这个方法的

4年前 评论
讨论数量: 5

api guard 是没有 attempt 这个方法的

4年前 评论

API 认证《Laravel 6 中文文档》 可以看看这个,就是一个随机的字符串保存到数据库

4年前 评论

建议用jwt 或者passport

4年前 评论

JWT吧 好多了 ,也不要用att 用login 先查询出来用户,确认用户在数据库 然后直接丢给guard ,这一手操作还不是美滋滋

Auth::guard('api')->login($member);
4年前 评论

有很多别的办法可以验证用户名和密码是否正确,比如once

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!