[英]I need to log in to another user from my Admin account without a password
我正在開發一項功能,使管理員/超級用戶可以從用戶列表中選擇一個帳戶,然后從該管理員帳戶中注銷並立即以所選用戶身份登錄。 這必須在管理員不知道用戶密碼的情況下發生。
我在用戶登錄時使用Laravel護照和Laravel護照一起使用Laravel時,他收到一個令牌,可以使用該令牌訪問其角色的頁面。
我看到使用Auth::loginById
是可能的,但這不適用於Laravel Passport。
在我的AdminController
我有以下功能顯然無法使用。
public function shadowLogin($id)
{
$user = User::find($id)->first();
$credentials = [
'username' => $user->username,
'password' => ''
];
if (auth()->attempt($username)) {
$hierarchy = Hierarchy::where('id', auth()->user()->hierarchy_id)->first();
$token = auth()->user()->createToken('tokenkey', [$hierarchy->hierarchy_name])->accessToken;
return response()->json(['data' => auth()->user(), 'token' => $token], 200);
}
}
我希望最終能夠“切換”當前存儲的用戶,以“切換”到所選的用戶帳戶,重定向到主頁並登錄。
更改會話user_id
(或使用用戶憑據加載會話數據)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.