【问题标题】:Auth::attempt doesn't work from PostmanAuth::attempt 对 Postman 不起作用
【发布时间】:2018-02-18 01:01:59
【问题描述】:

我知道这个问题已经问过很多次了,但是没有一个答案能解决我的问题,所以我开始了:

  1. 我使用全新安装的 Laravel 5.4
  2. 我有 PHP 7.1.8
  3. 我在 DB 中的表名为 usuario,验证请求的两个字段是“usuario”和“密码”
  4. config/auth.php 在 provider 部分有下一个代码:
'providers' => [
     'users' => [
         'driver' => 'database',
         'table' => 'usuario',
     ],
],
  1. 登录方法是这样的:
public function login(Request $request)
{
    $user = $request->input('user');
    $pass = sha1($request->input('pass'));
    Log::debug("$user:$pass");
    if(Auth::attempt(['usuario' => $user, 'password' => $pass])){
        return "login";
    }else{
        return "no login";
    }
}
  1. 在 Postman 内部,我得到了这个配置
  2. /routes/api.php 中的路由是:

Route::post('user/login', 'Usuario\Perfil@login');

就是这样。答案总是“没有登录”。有什么我留下的吗?

对我来说很重要的一点是,这个项目不是 100% 的 Laravel 项目,也许是 50%,因为我只使用 Laravel 作为后端。客户端将是使用 phonegap 的移动上下文中的 Javascript 应用程序。

谢谢。

【问题讨论】:

  • 你试过用 https 吗?
  • 不,我们现在没有那个功能

标签: laravel authentication login postman phonegap


【解决方案1】:

问题在于您的密码散列。使用 Laravel 的 Hash 外观:Hash::make($password),因为 Auth::attempt 使用 Hash::check() - 它们都使用相同的哈希算法。

【讨论】:

    猜你喜欢
    • 2013-02-27
    • 2014-12-17
    • 1970-01-01
    • 2017-03-31
    • 2016-05-17
    • 2017-01-06
    • 2018-02-27
    • 2022-01-26
    相关资源
    最近更新 更多