! str_contains($key, 'password'), ARRAY_FILTER_USE_KEY, ); if (empty($credentials)) { return null; } $query = $this->newModelQuery()->withoutGlobalScope(TenantScope::class); foreach ($credentials as $key => $value) { if (is_array($value) || $value instanceof Arrayable) { $query->whereIn($key, $value); } else { $query->where($key, $value); } } return $query->first(); } /** * Retrieve a user by their unique identifier without tenant scope. */ public function retrieveById($identifier) { $model = $this->createModel(); return $this->newModelQuery() ->withoutGlobalScope(TenantScope::class) ->where($model->getAuthIdentifierName(), $identifier) ->first(); } /** * Retrieve a user by their unique identifier and "remember me" token * without tenant scope. */ public function retrieveByToken($identifier, $token) { $model = $this->createModel(); $retrievedModel = $this->newModelQuery() ->withoutGlobalScope(TenantScope::class) ->where($model->getAuthIdentifierName(), $identifier) ->first(); if (! $retrievedModel) { return null; } $rememberToken = $retrievedModel->getRememberToken(); return $rememberToken && hash_equals($rememberToken, $token) ? $retrievedModel : null; } }