【问题标题】:Laravel: 5.1: Eloquent filter when authenticating a user with JWTLaravel:5.1:使用 JWT 验证用户时的 Eloquent 过滤器
【发布时间】:2017-12-24 03:06:40
【问题描述】:

我们有一个包含数据(例如用户名、密码等)的 users 表,并使用 country_id 列按国家/地区分类。该应用程序将使用 laravel JWT 身份验证,但是我需要按国家/地区过滤,因为用户可能具有相同的用户名。是否可以通过随附的过滤器进行身份验证?

例如

$credentials = array(
        'username' => $request->json('username'),
        'password' => $request->json('password')
        'country' => static::COUNTRY_ID
    );

$token = JWTAuth::attempt($credentials)

【问题讨论】:

  • 好问题。这有帮助吗? github.com/tymondesigns/jwt-auth/issues/952我有兴趣查看更多代码。
  • @admcfajn 你是对的!该链接帮助非常感谢您!
  • 非常欢迎!请考虑持久存储中的国家/地区参数&&|| 单独的请求。
  • @admcfajn 再次感谢!

标签: php laravel jwt


【解决方案1】:

对我来说是这样的:

$credentials = array_merge($request->only(['email', 'password']), ['active' => 1, 'confirmed' => 1]);

    try {
        $token = $JWTAuth->attempt($credentials);
        $user = auth()->user();
        if (!$token) {
            throw new AccessDeniedHttpException();
        }
    } catch (JWTException $e) {
        throw new HttpException(Response::HTTP_INTERNAL_SERVER_ERROR);
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-21
    • 2021-08-28
    • 2016-05-23
    • 2018-03-03
    • 2020-01-04
    • 1970-01-01
    • 2018-04-18
    • 2019-05-19
    相关资源
    最近更新 更多