jeudi 30 avril 2020

Laravel email verification link issue

In my laravel application's app url is something like this, admin.site and I'm registering users to my application from the admin panel.

And my client portal url is customer.site.

Once the admin creates an user from admin panel (admin.site) customer receive an account verification email. But the issue is now I need this verification link to be

customer.site/email/...

but the current link is like this

admin.site/email/...

So how can I change this verification link to customer.site

Following is my store function for customer controller

public function store(Request $request)
    {
        request()->validate([
            'name' => ['required', 'alpha','min:2', 'max:255'],
            'last_name' => ['required', 'alpha','min:2', 'max:255'],
            'email' => ['required','email', 'max:255', 'unique:users'],
            'password' => ['required', 'string', 'min:12', 'confirmed','regex:/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{12,}$/'],
            'mobile'=>['required', 'regex:/^\+[0-9]?()[0-9](\s|\S)(\d[0-9]{8})$/','numeric','min:9'],
            'username'=>['required', 'string', 'min:4', 'max:10', 'unique:users'],   
            'roles'=>['required'],
            'user_roles'=>['required'],
        ]);

        //Customer::create($request->all());

        $input = $request->all();
        $input['password'] = Hash::make($input['password']);

        $user = User::create($input);
        $user->assignRole($request->input('roles'));

        event(new Registered($user));

        return redirect()->route('customers.index')
                        ->with('success','Customer created successfully. Verification email has been sent to user email.  ');
    }

I'm sending my verification email

event(new Registered($user));

As the customers have no access to the admin site it gives me 403 error message.



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire