PHP code example of allyans3 / laravel-auth-tracker
1. Go to this page and download the library: Download allyans3/laravel-auth-tracker library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
allyans3 / laravel-auth-tracker example snippets
use ALajusticia\AuthTracker\Traits\AuthTracking;
use Illuminate\Foundation\Auth\User as Authenticatable;
// ...
class User extends Authenticatable
{
use AuthTracking;
// ...
}
use ALajusticia\AuthTracker\Events\PersonalAccessTokenCreated;
use App\Models\User;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Validation\ValidationException;
Route::post('/sanctum/token', function (Request $request) {
$request->validate([
'email' => 'credentials are incorrect.'],
]);
}
$personalAccessToken = $user->createToken($request->device_name);
event(new PersonalAccessTokenCreated($personalAccessToken)); // Dispatch here the event
return $personalAccessToken->plainTextToken;
});
$logins = request()->user()->logins;
$login = request()->user()->currentLogin();
request()->user()->logout(1); // Revoke the login where id=1
request()->user()->logout(); // Revoke the current login
request()->user()->logoutAll();
request()->user()->logoutOthers();
$this->context->userAgent; // The full, unparsed, User-Agent header
$this->context->ip; // The IP address
$this->context->parser(); // Returns the parser used to parse the User-Agent header
$this->context->ip(); // Returns the IP address lookup provider
$this->context->parser()->getDevice(); // The name of the device (MacBook...)
$this->context->parser()->getDeviceType(); // The type of the device (desktop, mobile, tablet, phone...)
$this->context->parser()->getPlatform(); // The name of the platform (macOS...)
$this->context->parser()->getBrowser(); // The name of the browser (Chrome...)
$this->context->ip()->getCountry(); // The name of the country
$this->context->ip()->getRegion(); // The name of the region
$this->context->ip()->getCity(); // The name of the city
$this->context->ip()->getResult(); // The entire result of the API call as a Laravel collection
// And all your custom methods in the case of a custom provider
use ALajusticia\AuthTracker\Interfaces\IpProvider;
use ALajusticia\AuthTracker\Traits\MakesApiCalls;
use GuzzleHttp\Psr7\Request as GuzzleRequest;
use Illuminate\Support\Facades\Request;
class IpApi implements IpProvider
{
use MakesApiCalls;
/**
* Get the Guzzle request.
*
* @return GuzzleRequest
*/
public function getRequest()
{
return new GuzzleRequest('GET', 'http://ip-api.com/json/' . Request::ip() . '?fields=25');
}
/**
* Get the country name.
*
* @return string
*/
public function getCountry()
{
return $this->result->get('country');
}
/**
* Get the region name.
*
* @return string
*/
public function getRegion()
{
return $this->result->get('regionName');
}
/**
* Get the city name.
*
* @return string
*/
public function getCity()
{
return $this->result->get('city');
}
}