راکت

ریست پسورد و خروج از حساب در laravel passport

5 پاسخ

سلام دوستان خسته نباشید
وقتی یک کاربر در چند دستگاه دیگه وارد حساب خودش شده
حالا توی یه دستگاه دیگه میاد و عملیات ریست پسورد رو انجام میده
توی این حالت باید از حسابش در دستگاه های دیگه خارج بشه
این عمل چطور انجام میشه؟
در api لاراول passport

@hesammousavi
@Alimotreb
@ali.bayat

Ali Ghaleyan
Ali Ghaleyan
@Serjik
ثبت پرسش جدید

پاسخ‌ها

5
TEFO
TEFO
@tefo.ha27

تخصص: لاراول

توکن رو منقضی میکنین با استفاده شیوه زیر
https://stackoverflow.com/a/42866949/7908390
یا سرچ کنین revoke passport tokens

Ali Ghaleyan
Ali Ghaleyan
@Serjik

تخصص: برنامه نویس لاراول

@tefo.ha27
ممنون
اما این برا حالتی هست که یوزر لاگینه
وقتی لاگین نیست و با ایمیلش میخواد ریست پس کنه چی؟

شاید پاسخ شما همین‌جا باشد

TEFO
TEFO
@tefo.ha27

تخصص: لاراول

یه نگاه به جدول oauth_access_tokens بکن اونجا میتونی هرچی توکنه مربوطه به اون یوزر هستش رو revokeش کنین
یعنی اون ستون ها برابر با یک یا همون true قرار بدین

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

درود

Laravel also provides a mechanism for invalidating and "logging out" a user's sessions that are active on other devices without invalidating the session on their current device. When the logoutOtherDevices method is invoked, the user's other sessions will be invalidated entirely, meaning they will be "logged out" of all guards they were previously authenticated by

ابتدا میدل‌ور "Illuminate\Session\Middleware\AuthenticateSession" رو در فایل "app/Http/Kernel.php" و قسمت web آنکامنت کنید.

'web' => [
    // ...
    \Illuminate\Session\Middleware\AuthenticateSession::class,
    // ...
],

بعدش می‌تونید از متد logoutOtherDevices در فِساد Auth استفاده کنید.

use Illuminate\Support\Facades\Auth;

Auth::logoutOtherDevices($password);
Ali Ghaleyan
Ali Ghaleyan
@Serjik

تخصص: برنامه نویس لاراول

@ali.bayat
سلام ممنون روشی که من مبخوام برای روت های api به کمک passport هستش
روشی که شما گفتید برای حالت وب هست درسته؟

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام