메뉴 건너뛰기

회원이 이메일인증되지 않은 상태에서 이메일 재발송 안되는 문제

AuthController.php 에서 pendingEmail()은 세션을 초기화 합니다 (GET요청)

    /**
     * 이메일 인증 대기 상태인 회원이 로그인 했을 떄 처리
     *
     * @param Request $request request
     *
     * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector|\Xpressengine\Presenter\Presentable
     */
    public function pendingEmail(Request $request)
    {
        $user = $this->auth->user();
        if ($user->getStatus() === User::STATUS_ACTIVATED) {
            return redirect('/');
        }

        $this->auth->logout();
        $request->session()->invalidate();

        return XePresenter::make('pending_email', compact('user'));
    }

 

그래서 뷰에서 

{!! csrf_field() !!}

가 아래처럼 value가 없는채로 렌더링 됩니다 

<input type="hidden" name="_token" value="">

 

당연히 post 날리면 세션이 만료되었다는 에러가 뜨구요.

세션을 초기화하는건 RegisterController의 getSendApproveEmail()  (POST요청) 에서 처리하는게 맞다고 보는데, 어떻게 생각하시나요?

  • share