gen*_*tor 1 authentication laravel laravel-sanctum
对于我的项目,我有一组用户只能通过请求 Magic Link 登录。所以他们有一个电子邮件地址,但没有密码。为了避免安全问题,我的目标是无需在 LocalStorage 中保存身份验证令牌即可使其正常工作。
我已经尝试使用 Laravel Sanctum 以以下方式设置它:
Auth::login(). 在此之后,活动会话将用于对用户进行身份验证,从而避免必须将令牌保存在 localStorage 中。但是我不能手动调用 Auth::login() 方法而不出现错误(BadMethodCallException: Method Illuminate\Auth\RequestGuard::login does not exist.)。
我不知道为什么这不起作用,或者我做错了什么?
如果您Sanctum通过电子邮件向用户发送令牌,那么在第一个请求中,您将从 url 获取令牌,您可以使用该令牌登录到这样的应用程序
use Laravel\Sanctum\PersonalAccessToken;
public function login(Request $request)
{
$personalAccessToken = PersonalAccessToken::findToken($request->token);
$user = $personalAccessToken->tokenable;
auth()->login($user);
return redirect('/');
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1838 次 |
| 最近记录: |