【问题标题】:Get token with JWT without attempting user credentials Laravel?使用 JWT 获取令牌而不尝试用户凭据 Laravel?
【发布时间】:2016-07-27 16:41:28
【问题描述】:

我目前正在开发一个 Angular(前端)- Laravel (API) 应用程序。我需要知道我是否可以进行混合登录。

目前我正在使用存储过程进行登录。但是如果登录成功,我想将 JWT 令牌发送到客户端。如果不调用 JWT 尝试方法,这可能吗? JWT 有类似 JWT::getToken($mail); 方法吗?如果我不能这样做,还有其他解决方法吗?

$mail = $request['email'];
$password = $request['password'];

$query = new Query("CALL SP_USER_LOG_IN(?,?, @outputMessage)");
$query->addParameter(1, $mail);
$query->addParameter(2, $password);

$outputMessage = DB::executeQuery($query);

if($outputMessage === null)
{
    //It means the login was successful
    $token = JWT::getToken($mail);

    return ["error" => NULL, "token" => $token];
}
else
{
    return ["error" => $outputMessage];
}

注意

我刚刚发现了 JWT,它看起来是一个非常好的解决方案,因为我正在前端使用一个轻量级的应用程序。但是由于我必须使用存储过程,所以我不知道如何进行。

【问题讨论】:

  • 您是否使用包来生成 JWT?
  • 是的,我是。目前在 Laravel 中使用 JWT
  • 你能说得更具体一点吗?也许是包名或链接?

标签: angularjs laravel laravel-5 jwt


【解决方案1】:

验证用户后,从数据库中获取他们,然后创建令牌 fromUser($user)

if($outputMessage === null)
{
    //It means the login was successful
    $user = User::where('email', $mail)->first();
    $token = JWT::fromUser($user);

    return ["error" => NULL, "token" => $token];
}

【讨论】:

  • 你救了我的命!谢谢!这就像一个魅力!
猜你喜欢
  • 1970-01-01
  • 2016-07-18
  • 2016-08-07
  • 1970-01-01
  • 2019-02-11
  • 2021-10-14
  • 2021-10-20
  • 2019-11-07
相关资源
最近更新 更多