注册时通过电子邮件验证Laravel

时间:2020-07-29 06:03:02

标签: vuejs2 laravel-7

我尝试在注册后进行电子邮件验证,但是使用我当前的代码,我的URL从"/"更改为"/email/verify",但是模板没有更改,我可以毫无问题地使用应用程序。 PS。我也在使用VueJS。我还在MustVerifyEmail模型中添加了User,就像在官方doc.

上一样

PS。我收到了电子邮件注册。

web.php

Route::middleware('guest')->get('/', function () {
    return redirect('/login');
});

Auth::routes(['verify' => true]);

Route::middleware(['auth', 'verified'])->get('/', function () {
    return view('layouts.app');
});

Route::middleware(['auth','verified'])->get('/{any}', function () {
    return view('layouts.app');
})->where('any', '.*');

刀片文件

如果我是身份验证者,则可以访问该应用程序(Vuejs路由),否则我将得到另一个页面,例如:注册,登录和验证不起作用。

    @auth
        <div id="app">
        </div>
    @else
        <main class="py-4">
            @yield('content')
        </main>
    @endauth

2 个答案:

答案 0 :(得分:0)

wait包括身份验证所需的所有路由。当您将from selenium.webdriver.support import expected_conditions as EC wait = WebDriverWait(driver, 20) Filter_Row = wait.until(EC.visibility_of_element_located((By.XPATH, '//*[@id="filterRow"]'))) Filter_Row.clear() 传递给它时,它还将包括电子邮件验证路由,其中​​也包括Auth:routes()。 Laravel为您做到这一点。

您可以参考Laravel 5.7 Email Verification Routes

答案 1 :(得分:0)

我更改了刀片服务器的逻辑,在以前的服务器中,我检查了是否为auth /或guest,但没有检查其邮件是否已验证。

@if(auth()->guest() || (auth()->check() && is_null(auth()->user()->email_verified_at)))

   @if(url()->current() === env('APP_URL'))
      <script>
          window.location = "/email/verify";
      </script>
   @endif

   <main class="py-4">
       @yield('content')
   </main>

@else

   <div id="app">
   </div>
   <script src="{{mix('js/app.js')}}"></script>

@endif