WLT & 회원가입과 로그인 기능 & API

2022. 12. 12. 01:40웹개발 메모장

728x90
SMALL

0주차 2회독을 마치고 9일 입학시험을 치웠다

1회독하면서 어느정도 익혔기때문에 2회독은 좀 더 빠르게 들을 거라고 생각했는데,

3주 4주 5주차 모두 어려웠다🥲

 

그리고 10일 시험 합격과 동시에 회원가입&로그인에 대해 배웠다.

 

회원가입을 하면 아이디와 패스워드를 설정하는 것이니

그때 설정만 아이디와 패스워드를 입력하면 로그인이 되는 줄 알았다.

 

물론 맞는 말이지만 그냥 진짜 심플하게만 생각했는데

회원가입때 설정한 비밀번호에 해시함수를 적용하여 어렵게...? 만들고

 로그인할때 같은 비밀번호를 넣어서 해시함수 적용시 나오는 데이터값이 일치하면 로그인이 되는 방식이였다.

 

(해커들은....그걸 풀어낸다는건가?ㅎㅎ)


 

회원가입 기능

해시함수란? 

알고리즘의 한 종류로서 임의의 데이터를 입력 받아 항상 고정된 길이의 임의의 값으로 변환해주는 함수를 말한다.

해시함수의 적용을 받은 고정된 길이의 임의의 값은 해시함수를 넣기 전인 원래 임의의 데이터 값을 얻을 수 없다.

 

다시말해서 똑같은 입력값을 입력하면 같은 결과값이 나오고 입력값이 조금만 달라져도 다른 결과값이 나온다.

그리고 결과값으로 입력값을 알아낼 수가 없다.

 

 

플라스크 서버에서 구현하기

로그인 기능을 구현하기 위해서는 최소 3가지 페이지가 필요하다

 - 로그인페이지 (메인페이지) / 회원가입페이지 / 로그인 후 페이지

 

회원가입시  입력정보를 DB를 저장하고 비밀번호를 암호화 하여 저장하여야 한다.

 

 

JWT 란?

JSON Web Token

JSON 객체를 사용해 정보를 안정성 있게 전달하는 웹표준

 전자 서명 된 URL-safe (URL로 이용할 수있는 문자 만 구성된)의 JSON이라고 한다.

 

로그인 기능을 생각해보면 사용자가 로그인하면 서버에서 회원임을 인증하는 토큰을 넘겨줌으로써

이후 회원만 접근할 수 있는 서비스 영역에서 신분을 확인하는 데 쓰일 수 있다.


1. 로그인 시, 비밀번호를 같은 방법으로 암호화한 후, DB에서 해당 아이디와 비밀번호를 갖는 회원이 있는지 찾습니다. 회원 정보가 없는 경우 실패 메시지를 보내고, 찾은 경우 아이디와 토큰 만료 시간을 저장하는 토큰을 만들어 넘겨줍니다.

 

2. 로그인 성공 메시지를 받으면 건네받은 토큰을 쿠키로 저장하여 만료되기 전까지 갖고 있으면서, API 요청을 보낼 때마다 회원임을 확인받습니다.

 

3. 로그아웃 시 해당 토큰을 삭제합니다.

 

 


API

API는 Application Programming Interface(애플리케이션 프로그램 인터페이스)

API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타낸다.

인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있고

이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의한다.

API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있다.

 

 

API의 다른 유형은?

API는 아키텍처와 사용 범위에 따라 분류된다.

 

프라이빗 API

프라이빗 API는 기업 내부에 있으며 비즈니스 내에서 시스템과 데이터를 연결하는 데만 사용됩니다.

 

퍼블릭 API 

퍼블릭 API는 일반에 공개되며 누구나 사용할 수 있습니다.

이러한 유형의 API와 관련된 권한 부여와 비용이 있을 수도 있고 없을 수도 있습니다.

 

파트너 API 

이는 B2B 파트너십을 지원하기 위해 권한이 부여된 외부 개발자만 액세스할 수 있습니다.

 

복합 API 

복합 API는 두 개 이상의 서로 다른 API를 결합하여 복잡한 시스템 요구 사항이나 동작을 처리합니다. 

 

 

 

* 다음에는 더 디테일한 내용을 한번 정리하면서 공부해볼까 한다.


 

 

일주일이 순식간에 지나간것 같다.

매주 바쁘게 살아온거 같은데

이번 한 주는 유독 더 정신 없지 지나간거 같다.

 

시간이 흘러가는게 아까울만큼 체력이 안되서 많이 졸기도 하고 집중도 못해서 아쉽다.

 

예전에 국비다닐때는 밤새도 좋았고 재밌었는데

개발자의 길은 재미를 느끼기엔 아직 어렵고 내겐 너무 먼 세상처럼 느껴진다😭

 

728x90
LIST