[0025]Lalavel5.7 メアド変更時に認証メールを送信

■construct

この例のLalavelフレームワークのバージョンは5.7です。

ユーザからのメアド変更画面を用意し、変更時に認証メールを送信したいときはRegisteredが利用できます。

Controllerにuseしてevent(new Registered($user));を1行追加するだけ!email_verified_atを空にするのを忘れずに行います。

これでメールが届きますが、メール内の認証メールのURLを開くと403エラーが発生。。

event(new Registered($user));の後にAuth::guard()->login($user);を追加したところ無事認証が完了しました!

XXXController.php

              
use Illuminate\Auth\Events\Registered;


public function email_change(){
	$user_id = @$_GET['user_id'];
        $email = @$_GET['email'];
        $user = User::find($user_id);
        $user->email = $email;
        $user->email_verified_at = null;
        $user->save();
        //認証メール送信
        event(new Registered($user));
        Auth::guard()->login($user);
}