해결된 질문
작성
·
243
1
안녕하세요, 프로젝트 '인증' 파트에서 로그인 시 입력하게 되는 이메일과 비밀번호를 AuthController, AuthService를 통해 처리하는 것을 확인 할 수 있었습니다.
저는 현재 PHP 8.0.0 버전으로 코딩을 진행하고 있습니다.
다만, AuthService::login 로직에서 password_verify(string, hash)가 항상 false로 결과 값이 반환되는 것을 확인했습니다.
처음에는 예제 코드를 타이핑하는데 오탈자가 있었나 확인해 보았지만 그런 경우는 없었습니다.
이와 동일한 이슈에 대해 찾아보았으나 여러 개 있었고, 그 중 PHP 8 환경에서의 이슈를 다룬 블로그를 발견했습니다.
(https://blog.naver.com/PostView.nhn?blogId=gwi01304&logNo=222269515571)
PHP 버전 업데이트가 되면서 해당 함수의 동작 방식이 달라진 것인지 알 수 있을까요?
혹시 몰라서 저의 깃헙 레포지토리 URL을 여기에 공유해 드리겠습니다.
GitHub URL: https://github.com/painkill2r/php-oop-project
=============================================
추가적으로 password_verify(string, hash) 함수의 동작 원리에 대해 궁금합니다.
PHP Manual에서도 내부 동작 원리가 어떻게 되는지는 기재되어 있지 않더라구요.
첫 번째 인자로 주어진 string 값을 내부적으로 password_hash() 함로 암호화(?)하고, 이를 두 번째 인자와 비교하는게 맞을까요?
답변 1
0
자답입니다.
namespace App\Services\AuthService::login 메소드의 return 방식을 잘못 설정했던 문제였습니다.
몇일을 고민하다가 이제야 찾게되었네요.(엄청난 삽질...)
[수정 전]
[수정 후]