mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-05-31 09:54:34 -04:00
additional middleware filters for users that are logging in
This commit is contained in:
parent
26f2bf71d5
commit
3ca2c26e90
@ -157,7 +157,8 @@ class UserController extends BaseController
|
|||||||
public function destroy(DestroyUserRequest $request, User $user)
|
public function destroy(DestroyUserRequest $request, User $user)
|
||||||
{
|
{
|
||||||
$user->delete();
|
$user->delete();
|
||||||
|
$user->tokens->delete();
|
||||||
|
|
||||||
return response()->json([], 200);
|
return response()->json([], 200);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -30,8 +30,13 @@ class TokenAuth
|
|||||||
|
|
||||||
if( $request->header('X-API-TOKEN') && ($company_token = CompanyToken::with(['user','company'])->whereRaw("BINARY `token`= ?",[$request->header('X-API-TOKEN')])->first() ) )
|
if( $request->header('X-API-TOKEN') && ($company_token = CompanyToken::with(['user','company'])->whereRaw("BINARY `token`= ?",[$request->header('X-API-TOKEN')])->first() ) )
|
||||||
{
|
{
|
||||||
|
|
||||||
$user = $company_token->user;
|
$user = $company_token->user;
|
||||||
|
|
||||||
|
//user who once existed, but has been soft deleted
|
||||||
|
if(!$user)
|
||||||
|
return response()->json(json_encode(['message' => 'User inactive'], JSON_PRETTY_PRINT) ,403);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
|
||||||
| Necessary evil here: As we are authenticating on CompanyToken,
|
| Necessary evil here: As we are authenticating on CompanyToken,
|
||||||
@ -41,10 +46,15 @@ class TokenAuth
|
|||||||
*/
|
*/
|
||||||
$user->setCompany($company_token->company);
|
$user->setCompany($company_token->company);
|
||||||
|
|
||||||
|
//user who once existed, but has been soft deleted
|
||||||
|
if($user->user_company()->is_locked)
|
||||||
|
return response()->json(json_encode(['message' => 'User access locked'], JSON_PRETTY_PRINT) ,403);
|
||||||
|
|
||||||
//stateless, don't remember the user.
|
//stateless, don't remember the user.
|
||||||
auth()->login($user, false);
|
auth()->login($user, false);
|
||||||
|
|
||||||
event(new UserLoggedIn($user));
|
event(new UserLoggedIn($user));
|
||||||
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
|
||||||
@ -53,4 +63,5 @@ class TokenAuth
|
|||||||
|
|
||||||
return $next($request);
|
return $next($request);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -46,7 +46,6 @@ class UpdateUserRequest extends Request
|
|||||||
{
|
{
|
||||||
$input = $this->all();
|
$input = $this->all();
|
||||||
|
|
||||||
|
|
||||||
if(!isset($input['email']))
|
if(!isset($input['email']))
|
||||||
{
|
{
|
||||||
$input['email'] = null;
|
$input['email'] = null;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user