سلام دوستان عزیز
من میخوام بلافاصله بعد از تغییر یوزر پسورد اتومات لاگ اوت کنم چجوری شرط بزارم با ویو جی اس؟؟
Component.vue
methods: {
userLogOut(e) {
e.preventDefault();
this.$store
.dispatch('LogOut')
.then(() => this.$router.push({name: "login"}));
},
onFileChange(e){
this.file = e.target.files[0];
}, },
submitForm_2( ) {
var currentObj=this;
var id =this.$route.params.id;
const formData = new FormData();
formData.append('_method', 'PUT');
formData.append('formData', 2);
formData.append('api_token', this.api_token);
formData.append('password', this.password);
formData.append('email', this.user.email);
this.axios
.post('/api/v1/users/'+id,formData)
.then(function (response) {
toastr.success("اطلاعات با موفقیت ثبت شد . ");
// currentObj.$router.push({name:'users'});
this.userLogOut(e);
}.bind(this))
.catch(function (error) {
currentObj.output = error;
}).finally(() => this.loading = false);
},
UserController
if($request->formData==2){
$validData = $this->validate($request, [
'email' => 'required|string|max:255',
'password' => 'required|string|min:6',
]);
return User::where('id', $id)
->update([
'email'=>$validData['email'],
'password'=>bcrypt($validData['password']),
'api_token' => Str::random(100)
]);
}
auth()->logout();
درود بر شما آیا وبسایت شما به شکل api داره از backend استفاده میکنه ؟ یا در یک وبسایت mpa دارید از vue استفاده میکنید ؟
@zeynab.khayat
سلام معمولا زبان بک اند خودش ماژول احراز هویت دارن که باید سمت بک اند این کارو انجام بدید مثلا تو نود داریم
passport و خیلی ماژول دیگه.
حالا شما هم ماژول احراز هویت زبان بک اند تون رو پبدا کنید این موردی که تغییر پسورد هستش رو خودش هندل میکنه و خیلی موارد دیگه.
ممنونم 🙏 احراز هویت انجام میشه با پک های لاراول اما نمیخام از پاسپورت و... استفاده کنم فقط ی شرط میخوام بزارم چون هر شرطی گذاشتم متاسفانه جواب نگرفتم،اطلاعات تو دیتابیس چینج میشه اما بلافاصله لاگ اوت نمیشه.. این برام مهمه ک سریع لاگ بشه
@zeynab.khayat
خب ببینید 2 تا راه حل دارین:
1-اگه از ماژول های احراز هویت استفاده میکنید همونجایید که پسورد توی بک اند عوض میشه بگین در صورت موفقیت آمیز بودن تغییر رمز لاگ اوت شه مثلا تو نود جی اس تابعی داریم به نام logout و این رو هم اضافه کنم که کلیه session های مربوط به لاگین رو پاک کن
2-چون یوز و پس کاربر در کوکی ذخیره میشه دوباره عمل auth رو انجام بدید یعنی از کوکی بخونید یوزر و پس رو و چکش کنید.
داخل UserControlelr و داخل if statement شما داری نتایج کوئری رو return میکنی
به این ترتیب auth()->logout اجرا نمیشه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟