인증(Authentication)

가장 자주 구현되는 API 오픈된 사이트든 폐쇄적인 사이트이든 기본적으로 구현필요

<aside> 💡 로그인 절차

유저 아이디와 비밀번호를 생성 👉비밀번호를 암호화 후 저장 👉 유저 아이디와 비밀번호 입력 👉입력한 비밀번호 암호화 👉 암호화되서 DB에 저장된 유저 비밀번호와 비교 👉로그인 성공하면 access token을 클라이언트에게 전송 👉로그인에 성공하면 그 뒤로부터는 access token를 첨부하여 requeset를 서버에 전송하여 매번 로그인이 불필요

</aside>

유저의 비밀번호 암호화

<aside> 💡 해쉬란?

어떤 문자열을 짧은 길이의 값이나 키로 변환하는 것 원본 데이터에서 약간만 바껴도 해쉬값은 변하기 때문에 해쉬값이 정확하다는 것을 보여준다.

</aside>

단방향 해쉬 함수의 취약& 보완