使用用户名而不是电子邮件进行JWTAuth身份验证

Jamshad Ahmad |

有什么方法可以在laravel jwt-auth中使用用户名(或任何自定义列)而不是电子邮件使用身份验证

这是现有的代码

public function authenticate(Request $request)
{
    $credentials = $request->only('email', 'password');

    try {
        // verify the credentials and create a token for the user
        if (! $token = JWTAuth::attempt($credentials)) {
            return response()->json(['error' => 'invalid_credentials'], 401);
        }
    } catch (JWTException $e) {
        // something went wrong
        return response()->json(['error' => 'could_not_create_token'], 500);
    }

    // if no errors are encountered we can return a JWT
    return response()->json(compact('token'));
}

我想做这样的事情

$credentials = $request->only('username', 'password');

一种方法是将用户名放在电子邮件列中,但这是一个不好的解决方案。

Jamshad Ahmad |

我在这里找到了办法

我们可以从模型(基于自定义字段)中吸引用户,例如

//抓取一些用户

$user = User::first();

并手动进行身份验证。

$token = JWTAuth::fromUser($user);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用基于电子邮件地址的用户名与Prowser进行基本身份验证?

在Android中仅使用用户名和密码通过Firestore进行身份验证

在Asp.net mvc5中使用用户名代替电子邮件作为身份

使用用户名使用UnboundID对Active Directory用户进行身份验证

Laravel 5-如何使用带有用户名的基本身份验证代替电子邮件?

没有电子邮件作为用户名的Firebase身份验证?

如何在MVC身份中使用“用户名”而不是“电子邮件”登录?

OAuth2:使用电子邮件(而不是用户名)进行身份验证

基于用户名和电子邮件地址的基于JSF JDBC领域表单的身份验证搜索

如何使用用户名和密码对Kubernetes kubectl进行身份验证?

laravel中仅使用用户名(id)进行身份验证

azure-devops-node-api:使用用户名和密码进行身份验证

仅使用用户名进行身份验证

同时拥有用户名和电子邮件,但在django-rest-auth中使用电子邮件对用户进行身份验证

Cognito将用户名设为电子邮件Google身份验证

如何使用邮件ID而不是用户名对ldap服务器进行身份验证

更改Asp.NET身份验证以注册电子邮件地址,但不注册用户名

在PHP的LDAP身份验证中,如何使用电子邮件代替用户名?

Picketlink-如何实现同时接受使用用户名或电子邮件的身份验证

使用用户名而不是电子邮件进行身份验证laravel 5.2

如何通过电子邮件用户名身份验证创建Google Calendar事件?

使用用户名或电子邮件进行身份验证

使用用户名(不是电子邮件)登录 Firebase

将帐户身份验证方法从用户名更改为电子邮件

Laravel - 无法使用用户名在 SMTP 服务器上进行身份验证

如何获取 Azure AD 身份验证用户的用户名和电子邮件

ASP.NET Identity 注册新用户以使用用户名作为用户名而不是电子邮件,但仍不显示登录者

K8S 上的 Keyclaok:无法使用用户名和密码对用户进行身份验证

使用电子邮件而不是用户名登录