404labfr / 404labfr/laravel-impersonate

Using Laravel Fortify / Sanctum impersonate returns false

未关闭
#183 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
next version
主要语言
PHP
星标
2.3k
派生
235
PR 合并指标
30 天内没有已合并 PR

描述

Hi, I'm using Laravel 10 as a backend to a Nuxt JS front-end. I've installed the package, when I send a request to login to my endpoint's function attached, my `$impersonate` variable returns false, why aren't I being logged in?

```php
/**
* Log in as a user
*
* @return \Illuminate\Http\Response
*/
public function loginAsUser(User $user, Request $request)
{
$validator = Validator::make($request->all(), [
'id' => 'required|numeric|exists:users,id'
]);

if ($validator->fails()) {
return new ApiValidationErrorResponse($validator->messages());
}

$user = User::with('company')->find(Auth::id());

// must be on the default company
if (!isset($user->company) || (isset($user->company) && !$user->company->is_system_default)) {
return new ApiSuccessResponse(null, [
'message' => "You cannot log in as other users unless on the system default company.",
], 400);
}

// double check that this user is a super admin
if (!$user->hasRole('super_admin')) {
return new ApiSuccessResponse(null, [
'message' => "You are not allowed to log in as this user.",
], 400);
}

// get the user to login as
$newUser = User::find($request->input('id'));

$impersonate = $user->impersonate($newUser);

return new ApiSuccessResponse($impersonate, [
'newuser' => $newUser,
'newuser2' => Auth::user()
]);
}
```

贡献指南

这个仓库没有索引到贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。