@extends('user.layouts') @section('title', '双重验证设置') @section('content') <div class="container"> <div class="row justify-content-center"> <div class="col-md-8"> <div class="card"> <div class="card-header">双重验证设置</div> <div class="card-body"> @if (session('success')) <div class="alert alert-success" role="alert"> {{ session('success') }} </div> @endif @if (session('error')) <div class="alert alert-danger" role="alert"> {{ session('error') }} </div> @endif <div class="alert alert-warning" role="alert"> <i class="icon wb-info-circle" aria-hidden="true"></i> <strong>注意:</strong> 登录时的双重验证功能已暂时禁用,但修改邮箱和密码时仍需要双重验证。 </div> <div class="mb-4"> <h4>什么是双重验证?</h4> <p>双重验证是一种额外的安全层,可以保护您的账户免受未经授权的访问。启用后,除了密码外,您还需要输入由手机应用生成的验证码才能登录。</p> </div> <div class="mb-4"> <h4>如何设置:</h4> <ol> <li>下载并安装 Google Authenticator 应用(<a href="https://play.google.com/store/apps/details?id=com.google.android.apps.authenticator2" target="_blank">Android</a> / <a href="https://apps.apple.com/app/google-authenticator/id388497605" target="_blank">iOS</a>)</li> <li>使用应用扫描下方二维码</li> <li>输入应用生成的 6 位验证码</li> </ol> </div> <div class="row"> <div class="col-md-6"> <div class="text-center mb-4"> {!! $qrCode !!} </div> <div class="text-center mb-4"> <p>密钥:<code>{{ $secret }}</code></p> <p class="text-muted">如果无法扫描二维码,请手动输入上面的密钥</p> </div> </div> <div class="col-md-6"> @if ($user->google2fa_enable) <div class="alert alert-info"> 双重验证已启用。如需禁用,请输入验证码。 </div> <form method="POST" action="{{ route('user.2fa.disable') }}"> @csrf <div class="form-group"> <label for="code">验证码</label> <input id="code" type="text" class="form-control @error('code') is-invalid @enderror" name="code" required autocomplete="off" autofocus> @error('code') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </div> <button type="submit" class="btn btn-danger">禁用双重验证</button> </form> @else <div class="alert alert-warning"> 双重验证尚未启用。请扫描二维码并输入验证码以启用。 </div> <form method="POST" action="{{ route('user.2fa.enable') }}"> @csrf <div class="form-group"> <label for="code">验证码</label> <input id="code" type="text" class="form-control @error('code') is-invalid @enderror" name="code" required autocomplete="off" autofocus> @error('code') <span class="invalid-feedback" role="alert"> <strong>{{ $message }}</strong> </span> @enderror </div> <button type="submit" class="btn btn-primary">启用双重验证</button> </form> @endif </div> </div> </div> </div> </div> </div> </div> @endsection