如何在没有典型 laravel /login 的情况下使用 laravel sanctum
How to use laravel sanctum without typical laravel /login
我已经用 NuxtJS 创建了 PWA,
然后我将使用 sanctum package,但我不想请求典型的 Laravel /login 路由,因为我有自定义的 api /login使用 OTP 而非密码对用户进行身份验证的路由!
所以我想知道在这种情况下如何使用 sanctum??
您可以使用 Sanctum 的基于令牌的身份验证来实现此目的。您所要做的就是将 HasApiTokens
特征添加到您的可验证模型中,并在成功登录时为其颁发新令牌。因此,您将拥有一条接受 phone 号码或电子邮件并执行登录操作的路线。这将触发应用程序向用户发送 OTP。您必须将 OTP 存储在系统的某个位置。然后创建另一个端点,用户可以在其中发回他们收到的 OTP。然后,此路由将检查提供的 OTP 是否与系统上的 OTP 匹配,并向用户颁发令牌。
$token = $user->createToken(<provide-a-token-name>);
确保使用令牌实例上的 plainTextToken
函数将明文令牌发回给用户。用户需要在 Authorization
header.
中将此令牌作为不记名令牌添加到请求中
我已经用 NuxtJS 创建了 PWA,
然后我将使用 sanctum package,但我不想请求典型的 Laravel /login 路由,因为我有自定义的 api /login使用 OTP 而非密码对用户进行身份验证的路由!
所以我想知道在这种情况下如何使用 sanctum??
您可以使用 Sanctum 的基于令牌的身份验证来实现此目的。您所要做的就是将 HasApiTokens
特征添加到您的可验证模型中,并在成功登录时为其颁发新令牌。因此,您将拥有一条接受 phone 号码或电子邮件并执行登录操作的路线。这将触发应用程序向用户发送 OTP。您必须将 OTP 存储在系统的某个位置。然后创建另一个端点,用户可以在其中发回他们收到的 OTP。然后,此路由将检查提供的 OTP 是否与系统上的 OTP 匹配,并向用户颁发令牌。
$token = $user->createToken(<provide-a-token-name>);
确保使用令牌实例上的 plainTextToken
函数将明文令牌发回给用户。用户需要在 Authorization
header.