Buna ek olarak değişimi jquery ajaxla dinleyebilirsin. değiştiğinde logout yapabilir veya oturumu devralmak isteyip istemediğini sorabilirsin.
Çoklu oturum engelleme
- En İyi Yanıterenilhan tarafından
Laravel için düşünüyorsak v5.6 ile bize sunulan bir özellik mevcut ben açıkcası bunu kullanıyorum.
https://laravel.com/docs/5.8/authentication#invalidating-sessions-on-other-devices
ac1919 Dokümanda bir formdan geleceği belirtilmiş.
This method requires the user to provide their current password, which your application should accept through an input form
Kısaca kullanıcı login olurken zaten şifresini aldığımız için o sırada bu işlem kullanıcının yazdığı şifre ile yaptırılabilir. Örneğin LoginController::authenticated() iyi bir yer:
/**
* The user has been authenticated.
*
* @param \Illuminate\Http\Request $request
* @param mixed $user
* @return mixed
*/
protected function authenticated(Request $request, $user)
{
$this->guard()->logoutOtherDevices($request->password);
}
ac1919 logoutOtherDevices() yönteminin yaptığı işi de söyleyeyim: Girilen şifreyi tekrar hash'leyip kullanıcıyı kaydediyor. AuthenticateSession middeware'i ise mevcut hash'i password_hash isimli oturum değişkeninden alıyor (yoksa kendi oluşturuyor) ve mevcut şifre ile eşleştiriyor. Kullanıcı başka bir cihazdan girdiğinde şifre tekrar hash'leniyor, oturumda tutulan ile veritabanındaki farklı olduğu için kullanıcı dışarı atılıyor.