| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- <?php
- namespace App\Http\Controllers\Auth;
- use Illuminate\Http\Request;
- use App\Http\Controllers\Controller;
- use App\Http\Traits\TossTrait;
- use App\Http\Traits\CryptTrait;
- use App\Models\User;
- use App\Models\TossCertLog;
- use Exception;
- class ForgotAccountController extends Controller
- {
- use TossTrait, CryptTrait;
- public function __construct()
- {
- $this->middleware('front');
- }
- /**
- * 아이디 찾기
- * @method GET
- * @see /auth/findID
- */
- public function index()
- {
- return view('auth.findID.index', []);
- }
- /**
- * 아이디 찾기 결과
- * @method POST
- * @see /auth/findID
- */
- public function store(Request $request, TossCertLog $tossCertLogModel, User $userModel)
- {
- try {
- $token = $request->cookie('tossAccessToken');
- if (!$token) {
- throw new Exception('토스 인증 절차가 잘못되었습니다. 다시 시도해주세요.');
- }
- $txId = $request->post('tx_id');
- $token = unserialize($token);
- // 토스 본인확인 결과 조회
- $result = $this->getTossCertResult($token, $txId);
- // 토스 인증 결과 기록
- $tossCertLogModel->register($result);
- unset($request, $txId, $token, $tossCertLogModel);
- // 아이디 찾기 결과 보기
- return view('auth.findID.result', [
- 'user' => $userModel->findUserByTossCI($result->success->personalData->ci)
- ]);
- } catch (Exception $e) {
- return redirect()->route('auth.findID')->withErrors('message', $e->getMessage());
- }
- }
- }
|