当前位置: 首页 > 知识库问答 >
问题:

使用令牌通过API登录laravel

东龙野
2023-03-14

我正在使用laravel 5.4开发一个api

尝试使用API控制器登录时

Route::post('/login','Auth\ApiLoginController@login')

class ApiLoginController extends Controller
{
    public function login(Request $request)
    {
        $this->validate($request,[
            'email' => 'required|email',
            'password' => 'required|min:6',
        ]);

        /*return response([
            'email' =>$request->email,
            'password'=> $request->password
        ],200);*/

        if(Auth::guard('api')->attempt(['email'=> $request->email, 'password'=> $request->password], $request->remember)){
            //return redirect()->intended(route('admin.dashboard'));
                return response([
                'data' =>"login successfully"
            ], 200);
        }    

        //return redirect()->back()->withInput($request->only('email','remember'));
            return response([
            'data' =>"login failed"
        ],200);
    } 
}

它给我以下错误:

{FatalThrowableError调用未定义的方法Illumate\Auth\TokenGuard::attempt()}

共有1个答案

翁文康
2023-03-14

在配置/验证中。php,

改变:

'api' => [
    'driver' => 'token',
],

收件人:

'api' => [
    'driver' => 'session',
],

因为Auth::保护数据存储在会话中

 类似资料:
  • Cypress使用POST方法正确记录日志,但在登录后不会重定向到网页。停留在登录页面上。即使我通过“cy.visit('web/')”强制它,它也会停留在登录页面上,“cy.get('button')”会在登录页面上找到按钮,而不是登录后应该显示的页面 commands.js

  • 我正在使用python的请求模块尝试登录网页。我打开了一个窗口。session(),然后我得到cookie和csrf令牌,它包含在meta标记中。我使用用户名、密码、一个隐藏的输入字段和meta标记中的csrf令牌来构建有效负载。之后,我使用post方法,传递登录url、cookie、负载和头。但在那之后,我无法访问登录页面后面的页面。我做错了什么? 这是我执行登录时的请求标头: 到目前为止,这是

  • 我试图使用REST API调用Microsoft Graph,但遇到了一些问题。我的应用程序最终将成为部署到Azure的web应用程序,我需要在没有登录用户的情况下通过REST调用Graph。 在调试这个程序的过程中,我试着制作出最简单的应用程序。此应用程序正在尝试使用Graph从Azure Active Directory读取用户的配置文件。 我在AAD中注册了我的应用程序,所以我有一个租户、客

  • 我正在编写一个应用程序,调用来自Flutter的google fit rest api。 我需要使用(https://pub.dev/packages/google_sign_in)与谷歌签名。我可以毫无问题地获得一个令牌(见是否有人设法从谷歌登录(Flutter)获得id令牌),但如何获得一个新的令牌时,它是过期的? 我不想要求用户每小时登录并获得一个新的令牌

  • 我尝试用angular2前端实现jwt令牌。当我尝试使用Postman接收带有post方法的令牌时,我接收到授权令牌,但在Angular中这样做返回空响应对象。这里是我使用的Angular服务的代码片段。 问题是,当我尝试记录时,令牌是空的,与响应相同。对于代码的后端部分,我遵循了jwt令牌的这个实现。

  • 嗨,我正在创建使用 REST API endpoint与服务器端通信的移动本机应用程序。 我以前有开发本机客户端的经验,但我将简单的令牌(随机生成的字符串)存储在存储用户信息的同一表中的数据库中。所以它就像浏览器中使用的会话,但每个请求的标头中都有令牌,而不是 cookie。 最近我发现了JWT令牌。这似乎是保护私有endpoint的好方法。您可以从移动客户端请求令牌,前提是您通过登录并获得生成的