سلام دوستان عزیز
من میخوام بلافاصله بعد از تغییر یوزر پسورد اتومات لاگ اوت کنم چجوری شرط بزارم با ویو جی اس؟؟
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 کار میکنه
@hesammousavi
شاید پاسخ شما همینجا باشد
@zeynab.khayat
سلام معمولا زبان بک اند خودش ماژول احراز هویت دارن که باید سمت بک اند این کارو انجام بدید مثلا تو نود داریم
passport و خیلی ماژول دیگه.
حالا شما هم ماژول احراز هویت زبان بک اند تون رو پبدا کنید این موردی که تغییر پسورد هستش رو خودش هندل میکنه و خیلی موارد دیگه.
ممنونم 🙏 احراز هویت انجام میشه با پک های لاراول اما نمیخام از پاسپورت و... استفاده کنم فقط ی شرط میخوام بزارم چون هر شرطی گذاشتم متاسفانه جواب نگرفتم،اطلاعات تو دیتابیس چینج میشه اما بلافاصله لاگ اوت نمیشه.. این برام مهمه ک سریع لاگ بشه
@zeynab.khayat
خب ببینید 2 تا راه حل دارین:
1-اگه از ماژول های احراز هویت استفاده میکنید همونجایید که پسورد توی بک اند عوض میشه بگین در صورت موفقیت آمیز بودن تغییر رمز لاگ اوت شه مثلا تو نود جی اس تابعی داریم به نام logout و این رو هم اضافه کنم که کلیه session های مربوط به لاگین رو پاک کن
2-چون یوز و پس کاربر در کوکی ذخیره میشه دوباره عمل auth رو انجام بدید یعنی از کوکی بخونید یوزر و پس رو و چکش کنید.
@ali.bayat
نه دقیقا همینو گذاشتم جواب نگرفتم